mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-07-03 18:45:07 +08:00
d997d545cc
Extend the stdout-capture branch (effect:fetch/external) so a `capture:a=.x,b=.owner.id` spec parses the command stdout as JSON and binds each var to its jq-style dot-path — one API call resolves several values. A bare `capture:var` (no =) still binds stdout as-is. effect:step's terminal- block field capture is untouched (distinguished by effect). A `validate:<re>` on a run capture shape-guards each bound value; a mismatch (or unparseable JSON) throws → bounces to an agent (a command's output has no human to re-prompt). The linter validates the run-capture regex too. Rewrite add-discord Resolve to derive application_id + public_key + owner_handle from one `GET /oauth2/applications/@me` call, removing the two hand-pastes and the shape-only prompt validation. Resolved owner_handle / platform_id stay byte-identical to the prior hand-entered flow. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>