Skip to content

Commit a56c769

Browse files
author
SqlRush
committed
Accept runtime mutation arrays
1 parent 10c14a1 commit a56c769

5 files changed

Lines changed: 205 additions & 167 deletions

File tree

docs/cc-100-roadmap.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,8 @@ M7 补充:prompt history `LogEntry` 读取现在接受 `sessionID`/`session`/`
632632

633633
本轮补充:interaction script 的 runtime permission/task payload 现在递归解包 `value`/`payload`/`data`/`resource`/`attributes`/`properties`/`attrs`/`edge`/`node` 等 JSON:API/GraphQL wrapper,并把 resource/node 顶层 ID 回填到内层 runtime 对象,避免 wrapper-only payload 被误解析成空对象。
634634

635+
本轮补充:interaction script 的 direct runtime mutation 字段现在改为 raw payload 解析;`requestPermission`/`request_permission``upsertTask`/`upsert_task` singular 字段也可接受单元素数组并取首项,避免 API/fixture 把 mutation payload 包成数组时在基础 step unmarshal 阶段提前失败。
636+
635637
本轮补充:interaction script 的 runtime mutation action 现在也递归解包 wrapped `removeTask`/`cancelPermission` ID 和 `cancelTasks` cancellation detail;`payload.resource.attributes``edge.node` 和相邻 API envelope 可直接驱动 task removal、permission cancellation 与 task bulk-cancel。
636638

637639
本轮补充:interaction script 的 direct runtime mutation alias 字段现在接受 object payload;`removeTask: {resource:{id}}``cancelPermission: {edge:{node:{id}}}``cancelTasks: {resource:{attributes:{reasonText}}}` 会走同一递归解析路径,不再被 string/bool alias 字段提前拒绝。

docs/claude-code-go-rewrite-plan.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@ test/parity/ # golden tests against TS/official behavior
326326
- 本轮补充:interaction script action/type/kind/name/operation 动作判别字段继续接受 compact/camel event/media aliases,包括 `focusIn``focusOut``mouseEvent``pasteImage``imagePaste`
327327
- 本轮补充:interaction script mouseEvent/pasteImage action payload 现在递归解包 JSON:API/GraphQL-style `resource`/`attributes`/`properties`/`attrs`/`edge.node` wrapper,wrapped mouse 坐标/按钮和 image filename/media/content 可直接驱动 dialog click 与 image paste。
328328
- 本轮补充:interaction script action/type/kind/name/operation 动作判别字段也可驱动 runtime/dialog mutation,支持 `requestPermission``taskStatus``showTasks``cancelTasks``removeTask``showDialog` 等动作,并从 `value`/`payload`/`data`/`body` 载荷解析对象、ID 或取消原因。
329+
- 本轮补充:interaction script 的 direct runtime mutation 字段现在改为 raw payload 解析;`requestPermission`/`request_permission``upsertTask`/`upsert_task` singular 字段也可接受单元素数组并取首项,避免基础 step unmarshal 提前失败。
329330
- 本轮补充:terminal CSI-u/kitty keyboard parser 接受 `codepoint:alternate``modifier:event-type` 冒号字段,按主 codepoint/modifier 解析 ctrl/alt/shift/rune 键,覆盖 kitty progressive keyboard protocol 的常见变体。
330331
- 本轮补充:terminal CSI-u/kitty keyboard parser 接受无 modifier 字段或 modifier `1` 的 base key 序列,覆盖 printable rune、Enter、Tab、Esc 和 Backspace,避免 extended-key 模式下普通键序列被解析成 unknown。
331332
- 本轮补充:terminal input parser 接受 xterm modified arrow 序列(如 `CSI 1;2D``CSI 1;6C``CSI 1;7D`),把 shift-arrow 降级为方向键、alt-arrow 映射到 word-motion key、ctrl/ctrl+alt-arrow 映射到 ctrl word-motion key,避免 extended navigation 序列落入 unknown。

docs/first-second-parity-audit.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ M7 progress now includes:
380380
- `internal/tui`: interaction script direct single event/dialog-result expectation fields now use raw payload parsing, so singular `expectEvent` and `expectDialogResult` fields can accept single-element arrays and choose the first expectation without failing base step unmarshal.
381381
- `internal/tui`: mouse and image action payloads now recursively unwrap JSON:API/GraphQL-style wrappers, preserving wrapped mouse button/coordinate fields and image filename/media/content fields for scripted dialog clicks and paste-image prompts.
382382
- `internal/tui`: interaction script action discriminators can now drive runtime/dialog mutations such as `requestPermission`, `taskStatus`, `showTasks`, `cancelTasks`, `removeTask`, and `showDialog`, using `value`/`payload`/`data`/`body` payloads for objects, IDs, and cancel reasons.
383+
- `internal/tui`: interaction script direct runtime mutation fields now use raw payload parsing, so singular `requestPermission`/`request_permission` and `upsertTask`/`upsert_task` fields can accept single-element arrays and choose the first payload without failing base step unmarshal.
383384
- `internal/contracts`/`internal/session`: image content blocks now normalize source aliases such as `mediaType`/`mimeType`/`contentType` and `base64`/`payload`, including top-level image block fields, into canonical `ImageSource` values during transcript resume.
384385
- `internal/tui`: interaction script single-step JSON now unwraps `step`/`scriptStep`/`interactionStep`/`record`/`entry`/`item`/`event` objects in arrays, JSONL records, and wrapper-object step lists.
385386
- `internal/tui`: interaction script single-step JSON now also unwraps JSON:API/resource-style `resource`/`node`/`attributes`/`properties`/`attrs` step items, so API fixture arrays and JSONL records can keep step resource envelopes.

0 commit comments

Comments
 (0)