Skip to content

chore(deps): bump @extrachill/chat ^0.10.1 -> ^0.11.0#8

Merged
chubes4 merged 1 commit into
mainfrom
bump-chat-0.11
Apr 24, 2026
Merged

chore(deps): bump @extrachill/chat ^0.10.1 -> ^0.11.0#8
chubes4 merged 1 commit into
mainfrom
bump-chat-0.11

Conversation

@chubes4
Copy link
Copy Markdown
Member

@chubes4 chubes4 commented Apr 24, 2026

Summary

This is the dep bump that actually makes #7 work end-to-end.

Context

PR #7 renamed the resolveDiff() helper to resolvePendingAction() and updated it to POST /datamachine/v1/actions/resolve with { action_id, decision } — the DM unified pending-action endpoint. But the chat package at ^0.10.1 only exposed diffId / diff_id from parseCanonicalDiff, never actionId. So the DiffCard's onAccept(id) / onReject(id) callbacks were delivering an empty string to resolvePendingAction, which the /actions/resolve endpoint then rejected with a validation error.

The full fix required @extrachill/chat@0.11.0, which landed:

  • chat #21parseCanonicalDiff now reads actionId / action_id (prioritized) with fallback to diffId / diff_id. Populates both fields on the returned shape so consumers reading either keep working.
  • chat #23 — also recognizes container.preview nesting, which is DM's envelope shape from PendingActionHelper::stage().

With 0.11 in place, DiffCard's accept/reject callbacks deliver the real action id and the round-trip works.

Other 0.11 additions

  • chat #22 — forwards onToolCalls + sessionContext from <Chat> to useChat. Not used here, but free.

Validation

  • npm install @extrachill/chat@^0.11.0 — resolves to 0.11.0.
  • npm run typecheck — clean.
  • npm run build — clean.

AI assistance

  • AI assistance: Yes
  • Tool(s): Claude Code (Opus 4.7)
  • Used for: Traced the empty-action_id bug through the consumer → package → DM server chain, drafted the upstream chat fixes to close the gap, cut chat 0.11 (Chris ran the publish), then rolled the bump across all three consumers. This PR completes the end-to-end accept/reject flow kicked off by Fix broken Accept/Reject: call /actions/resolve, not /diff/resolve #7.

v0.11.0 lands the `actionId` field on CanonicalDiffData that DM's
CanonicalDiffPreview::build() emits. Before this bump, the
`resolvePendingAction` call in AgentChat.tsx was shipping
action_id: '' because the chat package's parser only read
`diffId` / `diff_id` (never `actionId`). With 0.11 installed, the
parser populates both fields from the `actionId` payload and
DiffCard's onAccept/onReject callbacks deliver the real id.

In other words: this is the dep bump that actually makes #7 work
end-to-end.

Other 0.11 additions (preview nesting in parseCanonicalDiff,
onToolCalls/sessionContext forwarding on <Chat>) are unused here
but free.

`npm run typecheck` and `npm run build` both pass.
@chubes4 chubes4 merged commit c29c512 into main Apr 24, 2026
@chubes4 chubes4 deleted the bump-chat-0.11 branch April 24, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant