Repository navigation
feat(api): support Decisions in Live sessions - #4088
Conversation
Castiron custom codeEvaluated main: Trusted main policy: ✅ No new custom-code files detected. 36 mixed files remain; 0 existing customizations changed; 3 generated baselines changed. Compared
33 existing customizations unchanged
A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 38842589702 --repo openai/openai-python \
--name castiron-custom-code-38842589702-1 --dir /tmp/castiron-custom-code-38842589702-1
git apply --stat /tmp/castiron-custom-code-38842589702-1/custom-code.patch
cat /tmp/castiron-custom-code-38842589702-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 325da45934ddb1c1b6a0bed1681a8cf46c9a8712 c6c2aeaff513f8b465fd2e5b8becc88b75b07eda
python3 scripts/castiron/custom_code_report.py report \
--base 325da45934ddb1c1b6a0bed1681a8cf46c9a8712 \
--head c6c2aeaff513f8b465fd2e5b8becc88b75b07eda --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-c6c2aeaff513
cat /tmp/castiron-custom-code-c6c2aeaff513/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Castiron-Internal-PR: openai/openai-python-internal#263 Castiron-Source-SHA: 2e98884f07a5c944ca3d2a7416e9a402ca4fadcd Castiron-Public-Base-SHA: 325da45
792781a to
c6c2aea
Compare
markstuart-oai
left a comment
There was a problem hiding this comment.
Reviewed all 44 changed files at c6c2aeaff513f8b465fd2e5b8becc88b75b07eda. I found no blocking issue.
The sync and async helpers use the existing typed send and queue paths on primary, sideband and fork connections. Required evaluation IDs, optional item correlation IDs, sparse delegation updates, and omission versus empty triggers match the schema. Decision results reuse the native model, including distinct string and boolean choices. Existing API declarations remain intact, and the new types stay with their current owners.
Exact-head Python 3.10/3.14 and HTTPX2 tests, build, lint, optional-provider types, dependency checks, CodeQL and Castiron checks passed. I reviewed source and hosted CI only. The new HTTP trigger tests and existing role tests do not directly replay every Decision WebSocket case; no local tests or live service calls ran.
Summary
Adds typed Python parameters for Live Decisions and typed events for their results and input acknowledgments.
Changes
delegation.typetodecisionswith a model and questions. To request a Decision explicitly, senddecision.createwith anevent_idunique within the session.triggersto keep them or send[]to clear them.decision.item.create, remove an item withdecision.item.delete, and handledecision.item.createdanddecision.item.deleted.event.decisionin adecision.event.delegation_id,trigger_id,source_event_type, andsource_event_idfields.