Fix Google Meet tool session ownership#72441
Conversation
Greptile SummaryRoutes all stateful Confidence Score: 4/5Safe to merge — no P0/P1 issues; the core architectural change is correct and well-tested. All changed paths are logically sound. The only finding is a P2 style inconsistency where the leave/speak gateway handlers call respond(false, ...) with two args (no errorShape) while every other failure path uses the new sendError helper. This is unreachable from the tool action due to pre-validation, so it has no runtime impact. extensions/google-meet/index.ts — the pre-existing 2-arg respond(false, ...) calls in googlemeet.leave and googlemeet.speak handlers (lines 780–782, 797–799) are inconsistent with the new sendError pattern but are harmless.
|
|
Codex automated review: keeping this open. Keep this PR open. It is a focused contributor fix for the still-open same-author bug report #72440, and the PR body uses closing syntax for that issue, so it should remain available for maintainer review/merge rather than be auto-closed. Current main still has the core ownership gap: stateful Best possible solution: Keep this PR open for maintainer review. Rebase it onto current main, preserve the newer Google Meet realtime/audio changes, consider tightening or documenting the internal gateway RPC auth mode, address the direct leave/speak error-shape consistency if practical, then run the focused Google Meet format/test/typecheck lanes before merging. Once merged, #72440 should close through the PR's existing closing syntax. What I checked:
Remaining risk / open question:
Codex Review notes: model gpt-5.5, reasoning high; reviewed against bfdee5fa72cc. |
c154919 to
56feb25
Compare
56feb25 to
1cab15c
Compare
|
Landed via squash onto
Thanks @BsnizND! |
Summary
google_meetagent tool actions through the Google Meet gateway methods so create/join/status/leave/speak/test_speech/recover calls share the gateway-owned plugin runtime instead of creating tool-turn-local sessions.Fixes #72440.
Validation
pnpm exec oxfmt --check extensions/google-meet/index.ts extensions/google-meet/index.test.ts extensions/google-meet/index.create.test.ts extensions/google-meet/src/test-support/plugin-harness.ts extensions/google-meet/src/node-host.tspnpm exec vitest run extensions/google-meet/index.test.ts extensions/google-meet/index.create.test.tspnpm tsgo:extensions:testgit diff --checkLive runtime smoke evidence
https://meet.google.com/krq-swpp-kik/meet_40603aaf-6587-4527-80a5-502b598f9e27remained visible togooglemeet.statusafter the Jay tool turn ended, withproviderConnected: trueandrealtimeReady: true.https://meet.google.com/hcz-ftus-qhy/meet_7a5d75ee-b5dc-46ad-ab86-aaee35381cc7left no lingering SoX bridge processes aftergooglemeet.leave.Notes
This PR complements, rather than replaces, the earlier bridge-orphan and Gemini function-response fixes. The observed production failure was that sessions created by the agent tool path were not owned by the gateway process after the tool turn returned.