Skip to content

feat(agent): durable HITL approvals; fix duplicate gated calls and Gemini call IDs - #151

Merged
hung12ct merged 4 commits into
mainfrom
feat/durable-hitl
Oct 25, 2026
Merged

hung12ct merged 4 commits into
mainfrom
feat/durable-hitl

Conversation

@hung12ct

Copy link
Copy Markdown
Owner
  • DeferApprovals + Resume + PendingApprovals: approvals are saved in session history and answered later from any process, so they survive restarts. ConfirmFunc unchanged.
  • Identical gated calls in one wave are confirmed and executed once.
  • Gemini: same-name parallel calls get unique IDs instead of overwriting each other's results.
  • CHANGELOG for v0.44.0.

Identical RequiresConfirmation calls in one wave were each prompted and each executed; duplicates now reuse the first call's result.
Gemini returns no call IDs, so parallel calls of one tool shared the name as ID and one result overwrote the other. FunctionResponse names now resolve from the issuing call.
Deferred calls are saved in session history without a result and the run ends with ErrApprovalPending; Resume answers them from any process, PendingApprovals lists what is open.
@hung12ct
hung12ct merged commit e00cede into main Oct 25, 2026
2 checks passed
@hung12ct
hung12ct deleted the feat/durable-hitl branch October 25, 2026 10:20
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