mirror of
https://github.com/larksuite/cli.git
synced 2026-08-03 08:32:46 +08:00
Replace the decision_id/--option HITL contract with the question-group
answer scheme:
- contract: InputRequired becomes {label, description, questions[]}
(a single question is a length-1 group); Option gains description;
decision_id/input_type/submitted fields are removed
- answering: --answer <qid>=<option_id> | <qid>.text=<text> is the only
answer channel (--decision-id/--option removed); --text is always the
message-level remark; offline collect-all key-grammar guards plus an
input_required capability gate
- keys: minted at group-creation time (MintQuestionIDs /
DeriveGroupSuffix), per-group-unique for stale-retry protection;
central normalization with size caps and whole-group degradation on
non-conforming keys (JSON _notice.provider_defect); KeyCharsetRE is
the single charset source and safeNextID now requires an alphanumeric
first character (rejects flag-lookalike ids)
- meta.next: per-question --answer templates with a relay-first label
- example/planner: three-question reference group; strict collect-all
validation (Reason enum + question spec), atomic acceptance with a
resolved_answers echo, context binding, no sibling-task fork on bare
--text; Register enforces InputRequired => brand-covering CancelTask
- errs: ValidationError gains the resolved_answers extension field
- skills/lark-agents 1.3.0: relay-first rules, answer grammar, recovery
playbook, untrusted question-text discipline