Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
348 commits
Select commit Hold shift + click to select a range
b58d059
fix: Trust filesystem permissions for Vercel roots (#2910)
scotttrinh Apr 17, 2026
b7ba446
fix: #604 handle None choices in ChatCompletion response (#2850)
Spectual Apr 17, 2026
f84ef7f
fix: normalize compacted Responses user inputs before session reuse (…
seratch Apr 17, 2026
67fb85a
feat(extensions): add MongoDB session backend (#2902)
alexbevi Apr 17, 2026
dd3f59e
Loosen sandbox compaction model parsing (#2930)
sdcoffey Apr 17, 2026
3772047
feat: support sandbox extra path grants (#2920)
qiyaoq-oai Apr 17, 2026
55c8900
docs: update translated document pages (#2935)
github-actions[bot] Apr 17, 2026
61443ca
fix: #2929 surface run-loop exceptions after stream_events() complete…
nileshpatil6 Apr 18, 2026
e80d2d2
Release 0.14.2 (#2899)
github-actions[bot] Apr 18, 2026
82eaf15
fix: #2938 make sandboxes importable on Windows (#2948)
seratch Apr 18, 2026
cebc763
docs: move module docstring to top of handoff_filters.py (#2950)
kuishou68 Apr 19, 2026
da82b2c
fix: #2951 warn for tool name character replacement (#2953)
seratch Apr 19, 2026
cc57bb1
fix: #2962 normalize sandbox paths and add Windows CI (#2963)
seratch Apr 20, 2026
12b5471
fix: prepare Daytona workspace root before start (#2956)
seratch Apr 20, 2026
66cc689
Add Datadog as an external tracer in the tracing docs (#2965)
jarbaugh5 Apr 20, 2026
35c497e
docs: update translated document pages (#2978)
github-actions[bot] Apr 20, 2026
5515283
fix: windows errors with #2956 (#2979)
seratch Apr 20, 2026
902c599
fix: tighten LocalSnapshot restorable checks (#2975)
a1vazovsky Apr 20, 2026
9d963e8
fix: bound manifest description truncation (#2974)
a1vazovsky Apr 20, 2026
5d300f0
Release 0.14.3 (#2980)
github-actions[bot] Apr 20, 2026
bf3e9d1
docs: remove duplicate word in voice interruptions section (#2981)
abhicris Apr 21, 2026
9e228fc
docs: update translated document pages (#2982)
github-actions[bot] Apr 21, 2026
2a515f0
test: add sandbox compatibility guards (#2984)
seratch Apr 21, 2026
106ef05
fix: ignore relative snapshot base overrides (#2976)
a1vazovsky Apr 21, 2026
4c5112c
feat: add BoxMount support (#2988)
alfozan Apr 21, 2026
3aad7eb
refactor: share sandbox ephemeral mount lifecycle (#2986)
seratch Apr 21, 2026
4c68780
refactor: share sandbox tar exclude arg generation (#2987)
seratch Apr 21, 2026
333721d
refactor: extract sandbox session helper operations (#2985)
seratch Apr 21, 2026
fdf2d00
docs: update translated document pages (#2996)
github-actions[bot] Apr 21, 2026
4e43cba
Release 0.14.4 (#2989)
github-actions[bot] Apr 21, 2026
734d424
docs: clarify lazy skill source host paths (#2998)
alfozan Apr 22, 2026
638388a
docs: update translated document pages (#2999)
github-actions[bot] Apr 22, 2026
81c57c5
fix: backfill streamed terminal output (#3000)
ankitphogat Apr 23, 2026
5be06a1
feat: #3001 add Modal sandbox idle timeout option (#3005)
seratch Apr 23, 2026
16e0409
fix: #3004 serve HITL resume tool outputs (#3006)
seratch Apr 23, 2026
fe3a5e6
Release 0.14.5 (#3007)
github-actions[bot] Apr 23, 2026
c2cb031
chore: harden uv dependency resolution (#3014)
mcgrew-oai Apr 23, 2026
5ffc1ec
relax websockets upper bound from <16 to <17 (#3013)
mathisobadia Apr 23, 2026
c88f339
Update examples and defaults to GPT-5.5 (#3016)
alfozan Apr 25, 2026
071e2b6
docs: update translated document pages (#3021)
github-actions[bot] Apr 25, 2026
1821bf8
docs: add MongoDB session documentation (#3015)
alexbevi Apr 25, 2026
9af6ad1
docs: update translated document pages (#3023)
github-actions[bot] Apr 25, 2026
9a207b6
Release 0.14.6 (#3022)
github-actions[bot] Apr 25, 2026
2eb8713
fix: tighten tar and zip member validation (#3028)
a1vazovsky Apr 26, 2026
5df41d3
feat: #2886 add convenience properties (tool_name, call_id) to tool i…
jawwad-ali Apr 26, 2026
ba889de
fix: reject symlinked LocalFile sources (#2972)
a1vazovsky Apr 26, 2026
8025ed0
Fix: remove unset fields from calls to Responses API (#3026)
s0rc3r3r01 Apr 27, 2026
b3688db
[sandbox] Raise Phase 2 memory consolidation turn limit (#3038)
andi-oai Apr 27, 2026
ebdb0f2
fix: add GPT-5.5 aliases to sandbox compaction (#3039)
alfozan Apr 28, 2026
8d7f05b
Release 0.14.7 (#3031)
github-actions[bot] Apr 28, 2026
0500433
fix: #3046 preserve MCP re-export import errors (#3048)
seratch Apr 29, 2026
0661c9e
fix: #3043 delimit sandbox prompt instruction sections (#3047)
seratch Apr 29, 2026
572c7bf
docs: fix typo in comment for WS event handler (#3050)
ateamofantsintheirprime Apr 29, 2026
7029ea8
Release 0.14.8 (#3049)
github-actions[bot] Apr 29, 2026
3a3f34f
docs: add missing space after period in MCPServerStdio docstring (#3053)
GopalGB Apr 30, 2026
2d40c09
fix: #3055 surface model refusals during run resolution (#3057)
seratch May 1, 2026
ec99da6
chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#3059)
dependabot[bot] May 1, 2026
d996707
chore(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1…
dependabot[bot] May 1, 2026
7833715
chore(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 (…
dependabot[bot] May 1, 2026
498390a
chore(deps): bump openai/codex-action from 1.6 to 1.8 (#3060)
dependabot[bot] May 1, 2026
da3f157
ci: improve translation pipelone to be more robust
seratch May 1, 2026
f7410c8
Release 0.15.0 (#3063)
github-actions[bot] May 1, 2026
48d7e9c
docs: add 0.15 changelog (#3058)
seratch May 1, 2026
611d080
docs: update translated document pages (#3064)
github-actions[bot] May 1, 2026
841f72f
docs: improve quickstart documentation for Windows OS users (#3071)
seratch May 1, 2026
756fa43
docs: update translated document pages (#3072)
github-actions[bot] May 1, 2026
ae224b4
test: cover guardrail name fallback to function __name__ (#3073)
Quratulain-bilal May 1, 2026
42c3015
chore: harden Dapr Redis integration fixture loading (#3078)
Aphroq May 2, 2026
a47b7ea
fix: #3074 restore SIGINT defaults for UnixLocal PTY children (#3075)
Aphroq May 2, 2026
4b2881c
feat: expose Responses WebSocket keepalive options (#3080)
seratch May 2, 2026
41c646d
fix: restore UnixLocal PTY terminal signal defaults (#3082)
seratch May 2, 2026
ceb238f
Release 0.15.1 (#3083)
github-actions[bot] May 2, 2026
e9a3e36
docs: updates for #3080 (#3081)
seratch May 2, 2026
60b7bee
docs: update translated document pages (#3084)
github-actions[bot] May 2, 2026
f2fb9ff
test: improve coverage and organize test layout (#3085)
seratch May 2, 2026
044d44c
test: cover realtime tool timeout behaviors in realtime session (#3076)
Aphroq May 4, 2026
9d24382
test: add realtime tool output serialization edge cases (#3077)
Aphroq May 4, 2026
4b5a0b8
fix: reject string-like shell commands (#3092)
Aphroq May 4, 2026
4bb4400
fix: filter custom_tool_call types in remove_all_tools handoff filter…
Quratulain-bilal May 4, 2026
fbc5a44
test: cover on_handoff, on_tool_start, on_tool_end on RunHooks (#3098)
Quratulain-bilal May 4, 2026
63ebf5a
fix: make ToolContext hashable to match RunContextWrapper (#3097)
ioleksiuk May 4, 2026
3854c12
fix: only rewind matching session suffixes (#3090)
Aphroq May 4, 2026
54ec5f0
test: cover real Handoff object branch in visualization (#3100)
Quratulain-bilal May 4, 2026
b80d541
test: add direct unit tests for _tool_identity helpers (#3101)
Quratulain-bilal May 4, 2026
1b7d878
test: add direct unit tests for _mcp_tool_metadata helpers (#3102)
Quratulain-bilal May 4, 2026
ae60947
fix: redact MCP invalid JSON errors when tool logging is disabled (#3…
Aphroq May 4, 2026
9b57f05
fix: reject failed responses stream terminals (#3107)
Aphroq May 4, 2026
613b8f3
fix(mcp): isolate merged tool metadata (#3114)
felmonon May 5, 2026
7a5d32b
fix: block disabled function tools before execution (#3118)
Aphroq May 5, 2026
574a598
feat: add context management model setting (#3128)
seratch May 5, 2026
601ecf5
fix: #3123 avoid replaying assistant conversation item IDs for OpenAI…
seratch May 5, 2026
3d1231e
fix: redact function tool trace span errors (#3111)
Aphroq May 5, 2026
75da8e0
Release 0.15.2 (#3099)
github-actions[bot] May 6, 2026
02a6b21
docs: updates for #3128 (#3129)
seratch May 6, 2026
ce46235
docs: update translated document pages (#3131)
github-actions[bot] May 6, 2026
6e691ee
fix(mcp): avoid mutating tool input schemas (#3134)
adityasingh2400 May 6, 2026
e22f25a
fix(mcp): reject non-object tool input JSON (#3135)
adityasingh2400 May 6, 2026
9a2b4a9
fix(mcp): make duplicate tool errors deterministic (#3136)
adityasingh2400 May 6, 2026
0370fd3
test(realtime): cover overlapping tool response creates (#3140)
adityasingh2400 May 6, 2026
b1722a7
fix: tolerate audio deltas before audio format negotiation in ModelAu…
Quratulain-bilal May 6, 2026
e1cb2be
Release 0.15.3 (#3149)
github-actions[bot] May 6, 2026
bed924b
fix: reject external symlink targets during hydrate (#3094)
Aphroq May 6, 2026
b9cbab1
feat: allow disabling max_turns with None (#3132)
seratch May 6, 2026
fc2d208
feat: switch the default model to a newer mini model (affecting only …
seratch May 6, 2026
1a1b35d
docs: update translated document pages (#3151)
github-actions[bot] May 6, 2026
f903926
fix: make Permissions hashable to match User and Group (#3154)
ioleksiuk May 6, 2026
0466636
feat: #1167 add opt-in server-prefixed MCP tool names (#3019)
mavrickdeveloper May 6, 2026
8526723
feat: #1859 add runtime function tool concurrency config (#3152)
seratch May 6, 2026
ff8e3db
docs: update translated document pages (#3160)
github-actions[bot] May 6, 2026
8c8a2eb
fix: #3104 stabilize chat completions tool call output indexes (#3161)
seratch May 6, 2026
5a10e46
docs: realtime guardrail fallback behavior (#3157)
mindbomber May 6, 2026
e8856de
docs: update translated document pages (#3162)
github-actions[bot] May 7, 2026
9f361ba
Release 0.16.0 (#3150)
github-actions[bot] May 7, 2026
0ed4ee6
docs: updates for #3147 (#3148)
seratch May 7, 2026
1683357
docs: add 0.16.0 changelog (#3153)
seratch May 7, 2026
c5ebf80
docs: update translated document pages (#3163)
github-actions[bot] May 7, 2026
f185dfa
docs: document tool execution concurrency (#3164)
seratch May 7, 2026
eed9100
docs: update translated document pages (#3165)
github-actions[bot] May 7, 2026
0fb2e09
fix: restore session history after compaction replacement failures (#…
Aphroq May 7, 2026
516aa0c
fix: #3171 reject corrupt Dapr session state updates (#3173)
Aphroq May 7, 2026
6f5fbf6
fix: #3170 clean up git repo temp clones on failure (#3172)
Aphroq May 7, 2026
170ee73
fix: #3109 stabilize chat completions stream output indexes (#3176)
seratch May 7, 2026
3a11cf5
fix: reject non-object function tool input JSON (#3166)
ioleksiuk May 7, 2026
a67d95f
fix: #3174 count valid encrypted session items for limits (#3175)
Aphroq May 7, 2026
28de365
fix: #3168 validate MCP require_approval policies (#3179)
seratch May 7, 2026
bd84b65
Release 0.16.1 (#3167)
github-actions[bot] May 7, 2026
a91f630
fix: skip prerequisite-bound examples in auto runs
seratch May 7, 2026
ee36d43
Fix Responses extra_args collision with omitted kwargs (#3185)
alfozan May 7, 2026
1660d30
feat: default realtime sessions to gpt-realtime-2 (#3190)
seratch May 8, 2026
f47d486
fix: #3169 constrain local sandbox artifact sources to base dir (#3177)
seratch May 8, 2026
0a76dd0
docs: improve auto run for examples
seratch May 8, 2026
0fea7e8
Release 0.17.0 (#3191)
github-actions[bot] May 8, 2026
e3746c5
docs: updates for v0.17.0 (#3188)
seratch May 8, 2026
683b6e7
docs: update translated document pages (#3193)
github-actions[bot] May 8, 2026
8619dfd
fix: skip CompactionItem silently in stream queue helper (#3224)
adityasingh2400 May 8, 2026
9a0c07f
fix: #3270 Validate model retry backoff settings (#3272)
Aphroq May 8, 2026
58a89c8
fix: #3275 reject chat completions server state (#3279)
Aphroq May 8, 2026
c7bcdd4
fix(realtime): expose max_output_tokens on RealtimeSessionModelSettin…
adityasingh2400 May 8, 2026
e19ac4e
fix: #3286 send realtime output for unknown tool calls (#3287)
Aphroq May 8, 2026
8b04ee0
fix(exceptions): export MCPToolCancellationError from top-level packa…
adityasingh2400 May 8, 2026
cc5a392
fix: preserve tool guardrail results across handoffs in SingleStepRes…
adityasingh2400 May 8, 2026
de60d05
fix(models): allow extra_query/extra_body via extra_args in Responses…
adityasingh2400 May 8, 2026
f32f613
fix(strict-schema): preserve chained $ref during sibling-key expansio…
adityasingh2400 May 8, 2026
1d38492
fix: drop reasoning items orphaned by dropped tool calls (#3207)
adityasingh2400 May 8, 2026
ec5523d
fix: preserve existing request_usage_entries on Usage.add (#3213)
adityasingh2400 May 8, 2026
b4be175
fix(realtime): preserve existing transcript over stale delta accumula…
adityasingh2400 May 8, 2026
9242902
fix(run): preserve failed status across apply_patch operations (#3217)
adityasingh2400 May 8, 2026
4a3d33e
fix: #3280 streaming guardrail exception cleanup (#3281)
Aphroq May 8, 2026
b4741e0
fix: #3288 normalize RunState guardrail payloads (#3289)
Aphroq May 8, 2026
730ee55
fix(mcp): isolate strict schema conversion from non-strict fallback (…
adityasingh2400 May 8, 2026
89f368d
fix: await on_handoff callables with async __call__ (#3211)
adityasingh2400 May 8, 2026
1b6876a
fix(sessions): persist output_tokens_details when input details are N…
adityasingh2400 May 8, 2026
7670257
fix: skip needs_approval_checker when status already resolved (#3229)
adityasingh2400 May 8, 2026
62f9416
fix(realtime): skip invalid input_text parts in user input conversion…
adityasingh2400 May 8, 2026
250fb97
fix(run): preserve last known response_id on conversation resume (#3245)
adityasingh2400 May 8, 2026
12ad112
fix(realtime): raise UserError for input_type without on_handoff (#3248)
adityasingh2400 May 8, 2026
e86dff2
fix: exclude Computer instances from provider duck-typing (#3249)
adityasingh2400 May 8, 2026
e6a3ed8
fix: avoid duplicating content and signed thinking blocks across para…
adityasingh2400 May 8, 2026
960e979
fix: await cancelled output guardrail tasks on tripwire (#3187)
Quratulain-bilal May 9, 2026
7e9089f
fix(realtime): preserve output_audio content parts in output_item eve…
adityasingh2400 May 9, 2026
7aeb39e
fix(sessions): skip corrupt docs in MongoDBSession.pop_item (#3247)
adityasingh2400 May 9, 2026
f8ba94d
fix(realtime): treat None audio.input/audio.output as unset (#3254)
adityasingh2400 May 9, 2026
55eb3de
fix: #3273 validate git repo subpaths (#3276)
Aphroq May 9, 2026
035271d
fix: #3282 reject unsupported Chat Completions reusable prompts (#3283)
Aphroq May 9, 2026
cc29988
fix: #3284 wake realtime event iterators on close (#3285)
Aphroq May 9, 2026
272dd18
docs: add dapr to durable orchestration integrations (#3292)
yaron2 May 9, 2026
33b9a2c
docs: update translated document pages (#3293)
github-actions[bot] May 9, 2026
f3d434c
fix(voice): stop AudioInput.to_base64() from mutating caller's buffer…
adityasingh2400 May 9, 2026
29b2acf
fix(handoffs): preserve HandoffInputData.input_items in remove_all_to…
adityasingh2400 May 9, 2026
4bb388c
fix(redis-session): preserve created_at across writes (#3202)
adityasingh2400 May 9, 2026
8f40dde
fix(litellm): avoid duplicating content and signed thinking blocks ac…
adityasingh2400 May 9, 2026
3031b13
fix(realtime): validate RealtimeAgent fields in __post_init__ (#3234)
adityasingh2400 May 9, 2026
dbb3181
fix(tracing): keep BatchTraceProcessor worker alive on exporter error…
adityasingh2400 May 9, 2026
fc1abe0
Revert "fix(models): allow extra_query/extra_body via extra_args in R…
seratch May 9, 2026
38bef80
test: guard Responses transport extra kwargs with official client (#3…
seratch May 9, 2026
43e051e
fix: guard no-op tracing span IDs (#3296)
seratch May 9, 2026
73bc963
chore: improve automated example coverage and local service handling …
seratch May 9, 2026
1289fb0
fix: make chat completions response-feature validation opt-in (#3298)
seratch May 9, 2026
9154d83
fix: allow empty GitRepo subpaths as repository root (#3299)
seratch May 9, 2026
bc3607b
fix: preserve GitRepo root subpath aliases (#3303)
seratch May 9, 2026
fa75ffc
fix: #3274 limit sandbox archive extraction (#3278)
Aphroq May 9, 2026
4b87449
fix: #3304 skip corrupt items during pop (#3305)
Aphroq May 9, 2026
610c274
fix: #3306 track MongoDB metadata timestamps (#3307)
Aphroq May 9, 2026
94fa9e2
fix: #3315 align generic dict output schemas (#3316)
Aphroq May 9, 2026
6256099
fix: #3317 return fresh empty strict schemas (#3318)
Aphroq May 9, 2026
94ba76d
fix: include sandbox provider error details (#3326)
seratch May 10, 2026
a6a4cc5
feat: improve examples auto-run coverage and artifact handling (#3328)
seratch May 10, 2026
d7417fb
fix: #3319 preserve nested handoff history content (#3320)
Aphroq May 10, 2026
650212e
fix: #3313 align multi-choice chat streams with strict validation (#3…
Aphroq May 10, 2026
479640e
fix: #3308 reject chat custom tool calls explicitly (#3309)
Aphroq May 10, 2026
52656a5
fix: #3330 handle string tool trimmer allowlists (#3331)
Aphroq May 10, 2026
4bc942a
fix: #3267 preserve required hosted tool IDs in OpenAI conversation s…
seratch May 10, 2026
970db97
fix: #3333 scope Realtime tool approvals by qualified key (#3340)
seratch May 10, 2026
cf151f9
fix: #781 replace assertion in handoff() with UserError (#3339)
0xSudoSSH May 10, 2026
4c3de2d
docs: update MCP examples (#3342)
seratch May 11, 2026
028abc6
fix: make tracing shutdown best-effort on process exit (#3343)
seratch May 11, 2026
eada610
Release 0.17.1 (#3290)
github-actions[bot] May 11, 2026
852a8db
docs: clarify max_delay for retries works (#3350)
seratch May 11, 2026
92e014a
docs: update translated document pages (#3351)
github-actions[bot] May 11, 2026
5635fab
fix: #3268 fix OpenAI Conversations reasoning persistence (#3352)
seratch May 11, 2026
4a95659
fix: #3354 interrupt tracing retry backoff on shutdown (#3355)
Aphroq May 11, 2026
8715a05
fix: avoid auto response for unknown realtime tools (ref: #3287) (#3366)
seratch May 11, 2026
b2bd821
fix: #3359 preserve local approval rejection reasons (#3360)
Aphroq May 11, 2026
e3c99d9
fix: #3361 honor session settings in AsyncSQLiteSession (#3362)
Aphroq May 11, 2026
ae3263b
docs: normalize memory docstring cross-references (#3370)
seratch May 11, 2026
1d3df7f
docs: document sandbox archive limits after #3278 release (#3311)
Aphroq May 11, 2026
64de1cb
fix: #3310 avoid empty chat tool outputs (#3312)
Aphroq May 11, 2026
5594fb4
docs: update translated document pages (#3371)
github-actions[bot] May 11, 2026
55e4a85
Release 0.17.2 (#3368)
github-actions[bot] May 12, 2026
76f42d8
ci: tweak the PR labeling operation
seratch May 12, 2026
55b859d
ci: tweak the PR labeling operation
seratch May 12, 2026
03ff10e
fix: guard None text in text_message_output and add output guardrail …
zhoufengen May 12, 2026
a466860
ci: disable auto labeling job
seratch May 12, 2026
5645845
docs: add SDK review guidance (#3376)
seratch May 12, 2026
ec016cd
fix: unify memory optional dependency import errors (#3389)
seratch May 13, 2026
f9eb3a4
docs: mark Agent.instructions as optional (#3384)
ioleksiuk May 13, 2026
8dc30e4
docs: translate all pages using new settings (#3392)
seratch May 13, 2026
900cab6
docs: document auto_previous_response_id (#3383)
ioleksiuk May 13, 2026
bdd228b
[codex] Harden release tag workflow (#3399)
hintz-openai May 14, 2026
f7e8196
chore: clean up CI jobs and update uv pin (#3400)
seratch May 14, 2026
7865ec9
fix: avoid mutating FunctionTool params_json_schema (#3382)
ioleksiuk May 14, 2026
eca794c
fix: avoid mutating codex output schema input (#3385)
ioleksiuk May 14, 2026
656baf8
fix: #3357 output schema names for Literal types (#3358)
Aphroq May 14, 2026
43a389d
fix: skip wait_for_status when Vercel sandbox is in a terminal state …
cty-ut May 15, 2026
cb7211b
fix: filter hosted_tool_call types in remove_all_tools handoff filter…
ioleksiuk May 15, 2026
5e71d09
fix: guard None text in ItemHelpers.extract_last_content (#3394)
ioleksiuk May 15, 2026
cb0461d
fix: log exception when output guardrail raises instead of silently i…
cty-ut May 16, 2026
94523f9
fix: reject relative sandbox workspace roots (#3422)
a1vazovsky May 16, 2026
e37b3d2
fix: normalize leading question marks in exposed port queries (#3424)
a1vazovsky May 16, 2026
4bd459e
fix: #3363 honor short custom voice splitter chunks (#3364)
Aphroq May 16, 2026
4970fd6
fix: keep mountpoint credentials out of sandbox commands (#3429)
seratch May 18, 2026
41fe113
docs: fix LiteLLM API reference redirect (#3444)
ynachiket May 18, 2026
13d1815
docs: re-fix #3444
seratch May 18, 2026
65774ce
docs: fix duplicated word in usaspending glossary example (#3445)
LeSingh1 May 18, 2026
f6ba91b
Runtime handling updates (#3451)
adrianbravo-oai May 18, 2026
17f7cae
Release 0.17.3 (#3417)
github-actions[bot] May 19, 2026
445ad22
docs: add SECURITY.md in the same way with openai-agents-js repo
seratch May 20, 2026
9514473
fix: apply hardened http client default to MCP SSE transport (#3466)
ioleksiuk May 20, 2026
9303389
fix: use non-None value for output in FunctionSpanData (#3475)
rmotgi1227 May 21, 2026
45effb4
fix: #3459 add opt-in recovery for missing function tools (#3461)
seratch May 21, 2026
eda7b51
fix: add missing entries to span __slots__ (#3483)
rmotgi1227 May 21, 2026
813a003
fix: redact invalid JSON payload in ModelBehaviorError data (#3485)
LeSingh1 May 21, 2026
573530f
fix: export more tracing related functions & types from agents (#3489)
rmotgi1227 May 22, 2026
fedc809
fix: export MCPListToolsItem, ToolSearchCallItem, and ToolSearchOutpu…
rmotgi1227 May 22, 2026
ddd8120
feat(streaming): emit ReasoningDeltaEvent for reasoning/thinking delt…
Apr 14, 2026
ea19e39
fix: address CodeRabbit review comments on PR #3
Apr 14, 2026
d637b6c
test(reasoning-delta): tighten vacuous-pass assertions
adityasingh2400 Apr 22, 2026
5b04cf8
chore: ruff format/isort fixes after rebase
adityasingh2400 Apr 26, 2026
69d8700
feat(streaming): gate ReasoningDeltaEvent behind RunConfig.emit_reaso…
adityasingh2400 May 24, 2026
8102932
fix(examples): handle ReasoningDeltaEvent in sandbox misc print_event
adityasingh2400 May 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 8 additions & 5 deletions .agents/skills/code-change-verification/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,25 @@ Ensure work is only marked complete after formatting, linting, type checking, an
1. Keep this skill at `./.agents/skills/code-change-verification` so it loads automatically for the repository.
2. macOS/Linux: `bash .agents/skills/code-change-verification/scripts/run.sh`.
3. Windows: `powershell -ExecutionPolicy Bypass -File .agents/skills/code-change-verification/scripts/run.ps1`.
4. If any command fails, fix the issue, rerun the script, and report the failing output.
5. Confirm completion only when all commands succeed with no remaining issues.
4. The scripts run `make format` first, then run `make lint`, `make typecheck`, and `make tests` in parallel with fail-fast semantics.
5. While the parallel steps are still running, the scripts emit periodic heartbeat updates so you can tell that work is still in progress.
6. If any command fails, fix the issue, rerun the script, and report the failing output.
7. Confirm completion only when all commands succeed with no remaining issues.

## Manual workflow

- If dependencies are not installed or have changed, run `make sync` first to install dev requirements via `uv`.
- Run from the repository root in this order: `make format`, `make lint`, `make typecheck`, `make tests`.
- Run from the repository root with `make format` first, then `make lint`, `make typecheck`, and `make tests`.
- Do not skip steps; stop and fix issues immediately when a command fails.
- If you run the steps manually, you may parallelize `make lint`, `make typecheck`, and `make tests` after `make format` completes, but you must stop the remaining steps as soon as one fails.
- Re-run the full stack after applying fixes so the commands execute in the required order.

## Resources

### scripts/run.sh

- Executes the full verification sequence with fail-fast semantics from the repository root. Prefer this entry point to ensure the required commands run in the correct order.
- Executes `make format` first, then runs `make lint`, `make typecheck`, and `make tests` in parallel with fail-fast semantics from the repository root. It also emits periodic heartbeat updates while the parallel steps are still running. Prefer this entry point to preserve the required ordering while reducing total runtime.

### scripts/run.ps1

- Windows-friendly wrapper that runs the same verification sequence with fail-fast semantics. Use from PowerShell with execution policy bypass if required by your environment.
- Windows-friendly wrapper that runs the same sequence with `make format` first and the remaining steps in parallel with fail-fast semantics, plus periodic heartbeat updates while work is still running. Use from PowerShell with execution policy bypass if required by your environment.
4 changes: 4 additions & 0 deletions .agents/skills/code-change-verification/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "Code Change Verification"
short_description: "Run the required local verification stack"
default_prompt: "Use $code-change-verification to run the required local verification stack and report any failures."
186 changes: 178 additions & 8 deletions .agents/skills/code-change-verification/scripts/run.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,198 @@ try {
}

if (-not $repoRoot) {
$repoRoot = Resolve-Path (Join-Path $scriptDir "..\\..\\..\\..")
$repoRoot = (Resolve-Path (Join-Path $scriptDir "..\\..\\..\\..")).Path
} else {
$repoRoot = ([string]$repoRoot).Trim()
}

Set-Location $repoRoot

$logDir = Join-Path ([System.IO.Path]::GetTempPath()) ("code-change-verification-" + [System.Guid]::NewGuid().ToString("N"))
New-Item -ItemType Directory -Path $logDir | Out-Null

$steps = New-Object System.Collections.Generic.List[object]
$heartbeatIntervalSeconds = 10
if ($env:CODE_CHANGE_VERIFICATION_HEARTBEAT_SECONDS) {
$heartbeatIntervalSeconds = [int]$env:CODE_CHANGE_VERIFICATION_HEARTBEAT_SECONDS
}

function Resolve-MakeInvocation {
$command = Get-Command make -ErrorAction Stop

while ($command.CommandType -eq [System.Management.Automation.CommandTypes]::Alias) {
$command = $command.ResolvedCommand
}

if ($command.CommandType -in @(
[System.Management.Automation.CommandTypes]::Application,
[System.Management.Automation.CommandTypes]::ExternalScript
)) {
$commandPath = if ($command.Path) { $command.Path } else { $command.Source }
return [PSCustomObject]@{
FilePath = $commandPath
ArgumentList = @()
}
}

if ($command.CommandType -eq [System.Management.Automation.CommandTypes]::Function) {
$shellPath = (Get-Process -Id $PID).Path
if (-not $shellPath) {
throw "Unable to resolve the current PowerShell executable for make wrapper launches."
}

$wrapperPath = Join-Path $logDir "invoke-make.ps1"
$escapedRepoRoot = $repoRoot -replace "'", "''"
$wrapperTemplate = @'
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
Set-Location -LiteralPath '{0}'
function global:make {{
{1}
}}
& make @args
exit $LASTEXITCODE
'@
$wrapperScript = $wrapperTemplate -f $escapedRepoRoot, $command.Definition.TrimEnd()
Set-Content -Path $wrapperPath -Value $wrapperScript -Encoding UTF8

return [PSCustomObject]@{
FilePath = $shellPath
ArgumentList = @("-NoLogo", "-NoProfile", "-File", $wrapperPath)
}
}

throw "code-change-verification: make must resolve to an application, script, alias, or function."
}

$script:MakeInvocation = Resolve-MakeInvocation

function Invoke-MakeStep {
param(
[Parameter(Mandatory = $true)][string]$Step
)

Write-Host "Running make $Step..."
& make $Step
& $script:MakeInvocation.FilePath @($script:MakeInvocation.ArgumentList + $Step)

if ($LASTEXITCODE -ne 0) {
Write-Error "code-change-verification: make $Step failed with exit code $LASTEXITCODE."
exit $LASTEXITCODE
Write-Host "code-change-verification: make $Step failed with exit code $LASTEXITCODE."
return $LASTEXITCODE
}

return 0
}

function Start-MakeStep {
param(
[Parameter(Mandatory = $true)][string]$Step
)

$stdoutLogPath = Join-Path $logDir "$Step.stdout.log"
$stderrLogPath = Join-Path $logDir "$Step.stderr.log"
Write-Host "Running make $Step..."
$process = Start-Process -FilePath $script:MakeInvocation.FilePath -ArgumentList @($script:MakeInvocation.ArgumentList + $Step) -RedirectStandardOutput $stdoutLogPath -RedirectStandardError $stderrLogPath -PassThru
$steps.Add([PSCustomObject]@{
Name = $Step
Process = $process
StdoutLogPath = $stdoutLogPath
StderrLogPath = $stderrLogPath
StartTime = Get-Date
})
}

Invoke-MakeStep -Step "format"
Invoke-MakeStep -Step "lint"
Invoke-MakeStep -Step "typecheck"
Invoke-MakeStep -Step "tests"
function Stop-RunningSteps {
foreach ($step in $steps) {
if ($null -eq $step.Process) {
continue
}

& taskkill /PID $step.Process.Id /T /F *> $null
}

foreach ($step in $steps) {
if ($null -eq $step.Process) {
continue
}

try {
$step.Process.WaitForExit()
} catch {
}
}
}

function Wait-ForParallelSteps {
$pending = New-Object System.Collections.Generic.List[object]
foreach ($step in $steps) {
$pending.Add($step)
}
$nextHeartbeatAt = (Get-Date).AddSeconds($heartbeatIntervalSeconds)

while ($pending.Count -gt 0) {
foreach ($step in @($pending)) {
$step.Process.Refresh()
if (-not $step.Process.HasExited) {
continue
}

$duration = [int]((Get-Date) - $step.StartTime).TotalSeconds
if ($step.Process.ExitCode -eq 0) {
Write-Host "make $($step.Name) passed in ${duration}s."
[void]$pending.Remove($step)
continue
}

Write-Host "code-change-verification: make $($step.Name) failed with exit code $($step.Process.ExitCode) after ${duration}s."
if (Test-Path $step.StderrLogPath) {
Write-Host "--- $($step.Name) stderr log (last 80 lines) ---"
Get-Content $step.StderrLogPath -Tail 80
}
if (Test-Path $step.StdoutLogPath) {
Write-Host "--- $($step.Name) stdout log (last 80 lines) ---"
Get-Content $step.StdoutLogPath -Tail 80
}

Stop-RunningSteps
return $step.Process.ExitCode
}

if ($pending.Count -gt 0) {
if ((Get-Date) -ge $nextHeartbeatAt) {
$running = @()
foreach ($step in $pending) {
$elapsed = [int]((Get-Date) - $step.StartTime).TotalSeconds
$running += "$($step.Name) (${elapsed}s)"
}
Write-Host ("code-change-verification: still running: " + ($running -join ", ") + ".")
$nextHeartbeatAt = (Get-Date).AddSeconds($heartbeatIntervalSeconds)
}
Start-Sleep -Seconds 1
}
}

return 0
}

$exitCode = 0

try {
$exitCode = Invoke-MakeStep -Step "format"
if ($exitCode -eq 0) {
Write-Host "Running make lint, make typecheck, and make tests in parallel..."
Start-MakeStep -Step "lint"
Start-MakeStep -Step "typecheck"
Start-MakeStep -Step "tests"

$exitCode = Wait-ForParallelSteps
}
} finally {
Stop-RunningSteps
Remove-Item $logDir -Recurse -Force -ErrorAction SilentlyContinue
}

if ($exitCode -ne 0) {
exit $exitCode
}

Write-Host "code-change-verification: all commands passed."
Loading
Loading