Skip to content

Commit 10f9dd0

Browse files
feat(api): add experimental agent time awareness (#4211)
## Summary Adds optional time-awareness settings for agents and sessions. ## Changes - Set experimental.time_awareness when creating or updating agents and configuring sessions. - Read effective experimental settings in agent and session responses. - Document that experimental updates merge by key and preserve omitted settings.
1 parent 72c656d commit 10f9dd0

14 files changed

Lines changed: 198 additions & 21 deletions

File tree

‎.castiron.stats.yml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
schema_version: 1
2-
generation_id: ca0448a4-c5bb-4dae-b9a8-ce0695616efc
3-
openapi_spec_hash: 8ca9f63bc016670f3fd9c8265f106c33
4-
openapi_transformed_spec_hash: 2cb5f40bd6fd564475d5b6ef285c9858
2+
generation_id: edefdf16-46c7-4f93-94a6-10028a087b3e
3+
openapi_spec_hash: 0c25fc15ac5b26e2054196d579cc67a0
4+
openapi_transformed_spec_hash: 651cea16581547a33af56bd631894a03
55
config_hash: 8a684aec06907ff8ced7809753e16225
6-
codegen_sha: 52a6c414b9565e2a8a3f89f87a4df1a5b20deaea
7-
codegen_hash: 6171d1d87772171c445edcacc04ee274f4d10497fe9da70810d5c778ab57c394
6+
codegen_sha: a1dd47dd01ce07be1ecbc39e2f66f2156d89c6f3
7+
codegen_hash: 2c7827fd0ccd38edcd80a97839ae5c10cf89f8da20ea468d4b20c41468607b81

‎api_reference/openapi.transformed.yml‎

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85071,6 +85071,9 @@ components:
8507185071
compaction:
8507285072
$ref: '#/components/schemas/CompactionResource'
8507385073
description: The effective context compaction settings.
85074+
experimental:
85075+
$ref: '#/components/schemas/ExperimentalConfigResource'
85076+
description: The effective experimental settings for the agent.
8507485077
required:
8507585078
- model
8507685079
- reasoning
@@ -86513,8 +86516,12 @@ components:
8651386516
- $ref: '#/components/schemas/CompactionParam'
8651486517
- type: 'null'
8651586518
description: Context compaction settings. Omit to keep the current settings. A supplied object replaces the settings; null or an empty object enables background compaction.
86519+
experimental:
86520+
$ref: '#/components/schemas/ExperimentalConfigOverridesParam'
86521+
default: {}
86522+
description: Experimental settings to merge by key. Omitted settings keep their current values.
8651686523
additionalProperties: false
86517-
description: Agent configuration for a session. Omitted fields inherit from `agent_id` when supplied. Supplied objects and arrays replace the whole field; null resets nullable fields.
86524+
description: Agent configuration for a session. Omitted fields inherit from `agent_id` when supplied. Supplied objects and arrays replace the whole field, except experimental settings, which merge by key. Null resets nullable fields.
8651886525
EnvironmentParamNone:
8651986526
type: object
8652086527
properties:
@@ -89985,6 +89992,9 @@ components:
8998589992
compaction:
8998689993
$ref: '#/components/schemas/CompactionResource'
8998789994
description: The effective context compaction settings.
89995+
experimental:
89996+
$ref: '#/components/schemas/ExperimentalConfigResource'
89997+
description: The effective experimental settings for the agent.
8998889998
required:
8998989999
- id
8999090000
- object
@@ -90444,6 +90454,11 @@ components:
9044490454
- $ref: '#/components/schemas/CompactionParam'
9044590455
- type: 'null'
9044690456
description: Context compaction settings. Omission or null enables background compaction.
90457+
experimental:
90458+
$ref: '#/components/schemas/ExperimentalConfigParam'
90459+
default:
90460+
time_awareness: false
90461+
description: Experimental agent settings. All experimental features default to disabled.
9044790462
required:
9044890463
- model
9044990464
additionalProperties: false
@@ -90519,6 +90534,10 @@ components:
9051990534
- $ref: '#/components/schemas/CompactionParam'
9052090535
- type: 'null'
9052190536
description: Context compaction settings. Omit to keep the current settings. A supplied object replaces the settings; null or an empty object enables background compaction.
90537+
experimental:
90538+
$ref: '#/components/schemas/ExperimentalConfigOverridesParam'
90539+
default: {}
90540+
description: Experimental settings to merge by key. Omitted settings keep their current values.
9052290541
additionalProperties: false
9052390542
description: Fields to replace on an existing reusable agent.
9052490543
DeletedAgentResource:
@@ -91104,6 +91123,9 @@ components:
9110491123
compaction:
9110591124
$ref: '#/components/schemas/CompactionResource'
9110691125
description: The effective context compaction settings.
91126+
experimental:
91127+
$ref: '#/components/schemas/ExperimentalConfigResource'
91128+
description: The effective experimental settings for the agent.
9110791129
required:
9110891130
- id
9110991131
- name
@@ -111114,6 +111136,33 @@ components:
111114111136
type: string
111115111137
format: binary
111116111138
description: A transparent PNG overlaid on the first image to guide the edit. Must match that image's dimensions after orientation and contain transparent pixels. Supports GPT Image 2.5 and 2.6. Cannot be combined with mask.
111139+
ExperimentalConfigOverridesParam:
111140+
type: object
111141+
properties:
111142+
time_awareness:
111143+
type: boolean
111144+
description: Whether to give the model periodic current-time reminders. Omit to keep the current setting.
111145+
additionalProperties: false
111146+
description: Experimental settings to update. Omitted settings keep their current values.
111147+
ExperimentalConfigParam:
111148+
type: object
111149+
properties:
111150+
time_awareness:
111151+
type: boolean
111152+
default: false
111153+
description: Whether to give the model periodic current-time reminders. Defaults to false.
111154+
additionalProperties: false
111155+
description: Experimental agent settings. These features may change.
111156+
ExperimentalConfigResource:
111157+
type: object
111158+
properties:
111159+
time_awareness:
111160+
type: boolean
111161+
description: Whether the model receives periodic current-time reminders.
111162+
required:
111163+
- time_awareness
111164+
additionalProperties: false
111165+
description: The effective experimental settings for an agent.
111117111166
SessionSpendControlResource:
111118111167
type: object
111119111168
properties:

‎scripts/castiron/generated-files.json‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@
239239
},
240240
"src/openai/resources/beta/agents/agents.py": {
241241
"mode": "100644",
242-
"sha256": "fa3b51beeff5b5c0cf3454aa34b13b72301fdf7420996f9e71974700f6b8bcbd"
242+
"sha256": "1ee66922d98bdaeecb4b464f7f288d2b4e3fd42e15f20d07e37e10ea45edfbc4"
243243
},
244244
"src/openai/resources/beta/agents/automations/__init__.py": {
245245
"mode": "100644",
@@ -1591,7 +1591,7 @@
15911591
},
15921592
"src/openai/types/beta/agent.py": {
15931593
"mode": "100644",
1594-
"sha256": "39c20eb4aae2c8a5bd650ef29331f4a9c6a859ae9cbb674e9ddb62e2f85a13c8"
1594+
"sha256": "770de49d96ab880e0679a72a0358113ae9c4e7ff85bc50d215598d1a09066c71"
15951595
},
15961596
"src/openai/types/beta/agent_browser_authentication_cancel_param.py": {
15971597
"mode": "100644",
@@ -1631,7 +1631,7 @@
16311631
},
16321632
"src/openai/types/beta/agent_create_params.py": {
16331633
"mode": "100644",
1634-
"sha256": "e43e1e4d33b6e9764aa070c25bc15809a035ffb1ddfadc4680e33020f260f36b"
1634+
"sha256": "7e113690e45eca7d31a40c042a27a89a597fca373c39bafd8bb75f68c93f282b"
16351635
},
16361636
"src/openai/types/beta/agent_create_subagent_call_item.py": {
16371637
"mode": "100644",
@@ -1703,7 +1703,7 @@
17031703
},
17041704
"src/openai/types/beta/agent_session.py": {
17051705
"mode": "100644",
1706-
"sha256": "942e581fb98626566ae555e27262d1c6a7b772201e3385695ed1462ed317866a"
1706+
"sha256": "4dbf44628416d12c8cdf46a6a73e293239736ca23dfb096e39850d68ffe5daa6"
17071707
},
17081708
"src/openai/types/beta/agent_session_assistant_message.py": {
17091709
"mode": "100644",
@@ -1887,7 +1887,7 @@
18871887
},
18881888
"src/openai/types/beta/agent_update_params.py": {
18891889
"mode": "100644",
1890-
"sha256": "5677862d355898407a4bc29cca2ad56e4ba93df1525f4805a76df029f348cef3"
1890+
"sha256": "6bc4493187bd7c9ce15ce7cfa3efce0264fec0c4149e0dc4e94264b248b94a36"
18911891
},
18921892
"src/openai/types/beta/agent_wait_for_subagents_call_item.py": {
18931893
"mode": "100644",
@@ -1907,7 +1907,7 @@
19071907
},
19081908
"src/openai/types/beta/agents/automation_agent_config.py": {
19091909
"mode": "100644",
1910-
"sha256": "41776af1d179879d851f2c766558473bd3f6c4a56bf77bc9182bb081395811ad"
1910+
"sha256": "bcc57f2186654a8d6ae3126678cbb72953588aacda537e0d1ce62f706e5cca41"
19111911
},
19121912
"src/openai/types/beta/agents/automation_create_params.py": {
19131913
"mode": "100644",
@@ -1939,7 +1939,7 @@
19391939
},
19401940
"src/openai/types/beta/agents/automation_target_param.py": {
19411941
"mode": "100644",
1942-
"sha256": "d850b41c5e0ba1e23715816ff6d078a7680ea085d26d4a23c74ef892daa85ec3"
1942+
"sha256": "2347708ca2624bc3ee7ae4e7209cbe6d2d35a6e1933b4251317ca287dadc5306"
19431943
},
19441944
"src/openai/types/beta/agents/automation_update_params.py": {
19451945
"mode": "100644",
@@ -2019,7 +2019,7 @@
20192019
},
20202020
"src/openai/types/beta/agents/session_create_params.py": {
20212021
"mode": "100644",
2022-
"sha256": "8507384a202b0b572799f1afb0ac44fbce25e1787a3c3b87b9fc270b8a135633"
2022+
"sha256": "d4566c2d07b1a1469e929763fa12e626cb1dbeae6dedfd00648f8220b4af8581"
20232023
},
20242024
"src/openai/types/beta/agents/session_list_params.py": {
20252025
"mode": "100644",
@@ -7707,15 +7707,15 @@
77077707
},
77087708
"tests/api_resources/beta/agents/test_automations.py": {
77097709
"mode": "100644",
7710-
"sha256": "80f3bd3acb28dfda5849f9d32c7d37bcaeaa5bab9e7aa6bca05df648030c410c"
7710+
"sha256": "34501f413c83a2ccd9aa494eb59f5c0ae1ba21fa14619dd2bc41571ad8a6422a"
77117711
},
77127712
"tests/api_resources/beta/agents/test_environments.py": {
77137713
"mode": "100644",
77147714
"sha256": "529f48933850ff09980fbd8a8ec6c9bef538efa5bffa71660e14421693df02fa"
77157715
},
77167716
"tests/api_resources/beta/agents/test_sessions.py": {
77177717
"mode": "100644",
7718-
"sha256": "55353ee6b6a4b2e8349b20cac41b7223e3bee28ec6bb6b60411d9e0cb8dc3ed8"
7718+
"sha256": "8cfecc54a8e76b3714fa35298725eb6b315750fe5a2b112fff6185e14df8f831"
77197719
},
77207720
"tests/api_resources/beta/agents/test_vaults.py": {
77217721
"mode": "100644",
@@ -7755,7 +7755,7 @@
77557755
},
77567756
"tests/api_resources/beta/test_agents.py": {
77577757
"mode": "100644",
7758-
"sha256": "ad2a5d7d46d65caab580ad00c4840dc598504fc50bbf20cc9558c5f2713ca335"
7758+
"sha256": "6216ae37c6ea996da62e4916570840ed549aeb86603b607d61078b4b30c87d15"
77597759
},
77607760
"tests/api_resources/beta/test_assistants.py": {
77617761
"mode": "100644",

‎src/openai/resources/beta/agents/agents.py‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def create(
9999
*,
100100
model: str,
101101
compaction: Optional[agent_create_params.Compaction] | Omit = omit,
102+
experimental: agent_create_params.Experimental | Omit = omit,
102103
instructions: Optional[str] | Omit = omit,
103104
metadata: Optional[Dict[str, str]] | Omit = omit,
104105
multi_agent: Optional[MultiAgentConfigParam] | Omit = omit,
@@ -124,6 +125,8 @@ def create(
124125
125126
compaction: Context compaction settings. Omission or null enables background compaction.
126127
128+
experimental: Experimental agent settings. All experimental features default to disabled.
129+
127130
instructions: Additional instructions appended to the agent's default base instructions. Omit
128131
or set to null to add no custom instructions.
129132
@@ -168,6 +171,7 @@ def create(
168171
"model": model,
169172
"service_tier": service_tier,
170173
"compaction": compaction,
174+
"experimental": experimental,
171175
"instructions": instructions,
172176
"metadata": metadata,
173177
"multi_agent": multi_agent,
@@ -233,6 +237,7 @@ def update(
233237
agent_id: str,
234238
*,
235239
compaction: Optional[agent_update_params.Compaction] | Omit = omit,
240+
experimental: agent_update_params.Experimental | Omit = omit,
236241
instructions: Optional[str] | Omit = omit,
237242
metadata: Optional[Dict[str, str]] | Omit = omit,
238243
model: str | Omit = omit,
@@ -259,6 +264,9 @@ def update(
259264
object replaces the settings; null or an empty object enables background
260265
compaction.
261266
267+
experimental: Experimental settings to merge by key. Omitted settings keep their current
268+
values.
269+
262270
instructions: Additional instructions appended to the agent's default base instructions. Omit
263271
to leave unchanged.
264272
@@ -307,6 +315,7 @@ def update(
307315
"model": model,
308316
"service_tier": service_tier,
309317
"compaction": compaction,
318+
"experimental": experimental,
310319
"instructions": instructions,
311320
"metadata": metadata,
312321
"multi_agent": multi_agent,
@@ -467,6 +476,7 @@ async def create(
467476
*,
468477
model: str,
469478
compaction: Optional[agent_create_params.Compaction] | Omit = omit,
479+
experimental: agent_create_params.Experimental | Omit = omit,
470480
instructions: Optional[str] | Omit = omit,
471481
metadata: Optional[Dict[str, str]] | Omit = omit,
472482
multi_agent: Optional[MultiAgentConfigParam] | Omit = omit,
@@ -492,6 +502,8 @@ async def create(
492502
493503
compaction: Context compaction settings. Omission or null enables background compaction.
494504
505+
experimental: Experimental agent settings. All experimental features default to disabled.
506+
495507
instructions: Additional instructions appended to the agent's default base instructions. Omit
496508
or set to null to add no custom instructions.
497509
@@ -536,6 +548,7 @@ async def create(
536548
"model": model,
537549
"service_tier": service_tier,
538550
"compaction": compaction,
551+
"experimental": experimental,
539552
"instructions": instructions,
540553
"metadata": metadata,
541554
"multi_agent": multi_agent,
@@ -601,6 +614,7 @@ async def update(
601614
agent_id: str,
602615
*,
603616
compaction: Optional[agent_update_params.Compaction] | Omit = omit,
617+
experimental: agent_update_params.Experimental | Omit = omit,
604618
instructions: Optional[str] | Omit = omit,
605619
metadata: Optional[Dict[str, str]] | Omit = omit,
606620
model: str | Omit = omit,
@@ -627,6 +641,9 @@ async def update(
627641
object replaces the settings; null or an empty object enables background
628642
compaction.
629643
644+
experimental: Experimental settings to merge by key. Omitted settings keep their current
645+
values.
646+
630647
instructions: Additional instructions appended to the agent's default base instructions. Omit
631648
to leave unchanged.
632649
@@ -675,6 +692,7 @@ async def update(
675692
"model": model,
676693
"service_tier": service_tier,
677694
"compaction": compaction,
695+
"experimental": experimental,
678696
"instructions": instructions,
679697
"metadata": metadata,
680698
"multi_agent": multi_agent,

‎src/openai/types/beta/agent.py‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .multi_agent_config import MultiAgentConfig
1212
from .persisted_agent_tool import PersistedAgentTool
1313

14-
__all__ = ["Agent", "Compaction"]
14+
__all__ = ["Agent", "Compaction", "Experimental"]
1515

1616

1717
class Compaction(BaseModel):
@@ -21,6 +21,13 @@ class Compaction(BaseModel):
2121
"""Whether context is compacted in the background. Defaults to true."""
2222

2323

24+
class Experimental(BaseModel):
25+
"""The effective experimental settings for the agent."""
26+
27+
time_awareness: bool
28+
"""Whether the model receives periodic current-time reminders."""
29+
30+
2431
class Agent(BaseModel):
2532
"""A reusable agent scoped to the caller's project."""
2633

@@ -68,3 +75,6 @@ class Agent(BaseModel):
6875

6976
compaction: Optional[Compaction] = None
7077
"""The effective context compaction settings."""
78+
79+
experimental: Optional[Experimental] = None
80+
"""The effective experimental settings for the agent."""

‎src/openai/types/beta/agent_create_params.py‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .multi_agent_config_param import MultiAgentConfigParam
1212
from .persisted_agent_tool_param import PersistedAgentToolParam
1313

14-
__all__ = ["AgentCreateParams", "Compaction"]
14+
__all__ = ["AgentCreateParams", "Compaction", "Experimental"]
1515

1616

1717
class AgentCreateParams(TypedDict, total=False):
@@ -21,6 +21,9 @@ class AgentCreateParams(TypedDict, total=False):
2121
compaction: Optional[Compaction]
2222
"""Context compaction settings. Omission or null enables background compaction."""
2323

24+
experimental: Experimental
25+
"""Experimental agent settings. All experimental features default to disabled."""
26+
2427
instructions: Optional[str]
2528
"""Additional instructions appended to the agent's default base instructions.
2629
@@ -79,3 +82,10 @@ class Compaction(TypedDict, total=False):
7982
Omission or null defaults to true. Set to false to use blocking compaction.
8083
Background compaction may increase token usage.
8184
"""
85+
86+
87+
class Experimental(TypedDict, total=False):
88+
"""Experimental agent settings. All experimental features default to disabled."""
89+
90+
time_awareness: bool
91+
"""Whether to give the model periodic current-time reminders. Defaults to false."""

0 commit comments

Comments
 (0)