amigo_sdk 0.105.0__py3-none-any.whl → 0.107.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: <stdin>
3
- # timestamp: 2026-01-13T00:32:47+00:00
3
+ # timestamp: 2026-02-03T17:12:14+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -198,10 +198,15 @@ class EngageUserDynamicBehaviorOverrideEvent(BaseModel):
198
198
  type: Literal['engage-user-dynamic-behavior-override'] = Field(
199
199
  'engage-user-dynamic-behavior-override', title='Type'
200
200
  )
201
- overriding: bool = Field(
201
+ overriding_instructions: bool = Field(
202
202
  ...,
203
- description="Whether the dynamic behavior set's instructions are overriding the existing instructions of the current state.",
204
- title='Overriding',
203
+ description='Whether the dynamic behavior set is overriding instructions during this interaction.',
204
+ title='Overriding Instructions',
205
+ )
206
+ overriding_tool_candidates: bool = Field(
207
+ ...,
208
+ description='Whether the dynamic behavior set is overriding the tool candidates during this interaction.',
209
+ title='Overriding Tool Candidates',
205
210
  )
206
211
 
207
212
 
@@ -458,11 +463,12 @@ class JumpbackStateTransitionLog(BaseModel):
458
463
 
459
464
  class LLMType(Enum):
460
465
  azure_gpt_4_1_2025_04_14 = 'azure_gpt-4.1-2025-04-14'
466
+ openai_gpt_4_1_2025_04_14 = 'openai_gpt-4.1-2025-04-14'
461
467
  azure_gpt_4_1_mini_2025_04_14 = 'azure_gpt-4.1-mini-2025-04-14'
462
- azure_gpt_5_2025_08_07 = 'azure_gpt-5-2025-08-07'
463
- azure_gpt_5_mini_2025_08_07 = 'azure_gpt-5-mini-2025-08-07'
464
468
  azure_gpt_5_nano_2025_08_07 = 'azure_gpt-5-nano-2025-08-07'
465
469
  azure_gpt_5_1_2025_11_13 = 'azure_gpt-5.1-2025-11-13'
470
+ azure_gpt_5_2_2025_12_11 = 'azure_gpt-5.2-2025-12-11'
471
+ openai_gpt_5_2_2025_12_11 = 'openai_gpt-5.2-2025-12-11'
466
472
  google_claude_sonnet_4_5_20250929 = 'google_claude-sonnet-4-5@20250929'
467
473
  aws_claude_sonnet_4_5_20250929 = 'aws_claude-sonnet-4-5-20250929'
468
474
  google_gemini_2_5_pro = 'google_gemini-2.5-pro'
@@ -547,10 +553,15 @@ class NavigateStateMachineDynamicBehaviorOverrideEvent(BaseModel):
547
553
  type: Literal['navigate-state-machine-dynamic-behavior-override'] = Field(
548
554
  'navigate-state-machine-dynamic-behavior-override', title='Type'
549
555
  )
550
- overriding: bool = Field(
556
+ overriding_instructions: bool = Field(
557
+ ...,
558
+ description='Whether the dynamic behavior set is overriding instructions during this interaction.',
559
+ title='Overriding Instructions',
560
+ )
561
+ overriding_tool_candidates: bool = Field(
551
562
  ...,
552
- description="Whether the dynamic behavior set's instructions are overriding the existing instructions of the current state.",
553
- title='Overriding',
563
+ description='Whether the dynamic behavior set is overriding the tool candidates during this interaction.',
564
+ title='Overriding Tool Candidates',
554
565
  )
555
566
 
556
567
 
@@ -1003,10 +1014,6 @@ class StateTransitionInvocationMetadata(BaseModel):
1003
1014
  )
1004
1015
 
1005
1016
 
1006
- class StrippedNonemptyString(RootModel[str]):
1007
- root: str = Field(..., max_length=512, min_length=1, pattern='^[^/]+$')
1008
-
1009
-
1010
1017
  class StrippedNonemptyStringWS(RootModel[str]):
1011
1018
  root: str = Field(..., min_length=1, pattern='^[\\w\\s]+$')
1012
1019
 
@@ -1160,11 +1167,6 @@ class ToolCallStateTransitionLog(BaseModel):
1160
1167
  )
1161
1168
 
1162
1169
 
1163
- class ToolRepo(Enum):
1164
- main = 'main'
1165
- team = 'team'
1166
-
1167
-
1168
1170
  class ScenarioVersionInfo(RootModel[tuple[str, int]]):
1169
1171
  root: tuple[str, int] = Field(
1170
1172
  ...,
@@ -1211,6 +1213,12 @@ class UserMessageAvailableEvent(BaseModel):
1211
1213
  )
1212
1214
 
1213
1215
 
1216
+ class ValidationError(BaseModel):
1217
+ loc: list[str | int] = Field(..., title='Location')
1218
+ msg: str = Field(..., title='Message')
1219
+ type: str = Field(..., title='Error Type')
1220
+
1221
+
1214
1222
  class Verb(Enum):
1215
1223
  field__ = '=='
1216
1224
  field___1 = '!='
@@ -1224,6 +1232,15 @@ class VersionComponent(RootModel[int | Literal['latest']]):
1224
1232
  root: int | Literal['latest']
1225
1233
 
1226
1234
 
1235
+ class VoiceConfigInstance(BaseModel):
1236
+ voice_id: str = Field(
1237
+ ..., description='The Cartesia voice ID for this agent.', title='Voice Id'
1238
+ )
1239
+ stability: float | None = Field(0, title='Stability')
1240
+ similarity_boost: float | None = Field(0, title='Similarity Boost')
1241
+ style: float | None = Field(0, title='Style')
1242
+
1243
+
1227
1244
  class WebhookDeliveryStatus(Enum):
1228
1245
  success = 'success'
1229
1246
  failed = 'failed'
@@ -1308,27 +1325,6 @@ class MongoCollectionsAgentAgentIdentityRelationshipToDeveloper(BaseModel):
1308
1325
  )
1309
1326
 
1310
1327
 
1311
- class MongoCollectionsAgentAgentVoiceConfig(BaseModel):
1312
- voice_id: str = Field(
1313
- ..., description='The Elevenlabs voice ID for this agent.', title='Voice Id'
1314
- )
1315
- stability: float = Field(
1316
- ...,
1317
- description='How stable the voice is and the randomness between each generation. The higher the more stable the voice is.',
1318
- title='Stability',
1319
- )
1320
- similarity_boost: float = Field(
1321
- ...,
1322
- description='How closely the AI should adhere to the original voice when attempting to replicate it. The higher the more similar the generated audio is to the\noriginal voice.',
1323
- title='Similarity Boost',
1324
- )
1325
- style: float = Field(
1326
- ...,
1327
- description='How much to exaggerate the original voice styles of the speaker. The higher the more exaggeration there is.',
1328
- title='Style',
1329
- )
1330
-
1331
-
1332
1328
  class MongoCollectionsApiKeyAPIKeyUserInfo(BaseModel):
1333
1329
  user_id: str = Field(
1334
1330
  ..., description='The user ID of the creator of this key.', title='User Id'
@@ -1380,11 +1376,6 @@ class MongoCollectionsDynamicBehaviorSetVersionDynamicBehaviorSetVersionChangeTo
1380
1376
  )
1381
1377
 
1382
1378
 
1383
- class MongoCollectionsMetricMetricTag(BaseModel):
1384
- key: str = Field(..., title='Key')
1385
- value: str | None = Field(..., title='Value')
1386
-
1387
-
1388
1379
  class MongoCollectionsMetricMetricUserInfo(
1389
1380
  MongoCollectionsDynamicBehaviorSetDynamicBehaviorSetUserInfo
1390
1381
  ):
@@ -1397,11 +1388,6 @@ class MongoCollectionsMetricEvaluationResultMetricEvaluationResultManualEvaluati
1397
1388
  pass
1398
1389
 
1399
1390
 
1400
- class Action(Enum):
1401
- allow = 'Allow'
1402
- deny = 'Deny'
1403
-
1404
-
1405
1391
  class MongoCollectionsServiceServiceVersionSet(BaseModel):
1406
1392
  agent_version_number: int | None = Field(
1407
1393
  ...,
@@ -1502,6 +1488,17 @@ class MongoCollectionsSimulationUnitTestSetRunSimulationUnitTestSetRunUserInfo(
1502
1488
  pass
1503
1489
 
1504
1490
 
1491
+ class MongoCollectionsTemporaryPermissionGrantTemporaryPermissionGrantUserInfo(
1492
+ MongoCollectionsDynamicBehaviorSetDynamicBehaviorSetUserInfo
1493
+ ):
1494
+ pass
1495
+
1496
+
1497
+ class MongoCollectionsToolToolTag(BaseModel):
1498
+ key: str = Field(..., title='Key')
1499
+ value: str | None = Field(..., title='Value')
1500
+
1501
+
1505
1502
  class MongoCollectionsToolInvocationToolInvocationVersion(BaseModel):
1506
1503
  major: int = Field(..., title='Major')
1507
1504
  minor: int = Field(..., title='Minor')
@@ -1624,10 +1621,12 @@ class ConversationCreateConversationRequest(BaseModel):
1624
1621
  description='The type of the `initial_message`. Can only be specified if `initial_message` is provided.',
1625
1622
  title='Initial Message Type',
1626
1623
  )
1627
- tags: dict[StrippedNonemptyStringWS, StrippedNonemptyStringWS | None] = Field(
1628
- ...,
1629
- description='A list of tags for the conversation. Both the key and the value can only contain alphanumeric characters, underscores, or spaces.',
1630
- title='Tags',
1624
+ tags: dict[StrippedNonemptyStringWS, StrippedNonemptyStringWS | None] | None = (
1625
+ Field(
1626
+ {},
1627
+ description='A list of tags for the conversation. Both the key and the value can only contain alphanumeric characters, underscores, or spaces.',
1628
+ title='Tags',
1629
+ )
1631
1630
  )
1632
1631
 
1633
1632
 
@@ -1740,7 +1739,7 @@ class DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersionChangeToolC
1740
1739
  description="Additional instruction to be supplied to the LLM in addition to the tool's description.",
1741
1740
  min_length=1,
1742
1741
  )
1743
- audio_fillers: list[StrippedNonemptyString] = Field(
1742
+ audio_fillers: list[PydanticBaseModelStrippedNonemptyString1] = Field(
1744
1743
  ...,
1745
1744
  description='A list of audio fillers to play in audio mode if the tool is taking a long time.',
1746
1745
  max_length=5,
@@ -1764,18 +1763,6 @@ class DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersionChangeToolC
1764
1763
  )
1765
1764
 
1766
1765
 
1767
- class DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersionInjectInstructionAction(
1768
- BaseModel
1769
- ):
1770
- type: Literal['inject-instruction'] = Field(..., title='Type')
1771
- instruction: str = Field(..., min_length=1)
1772
- overrides_instructions: bool = Field(
1773
- ...,
1774
- description='During injection, whether the original instruction of the state is overriden with this instruction.',
1775
- title='Overrides Instructions',
1776
- )
1777
-
1778
-
1779
1766
  class DynamicBehaviorSetCreateDynamicBehaviorSetResponse(BaseModel):
1780
1767
  dynamic_behavior_set_id: str = Field(
1781
1768
  ...,
@@ -1790,6 +1777,18 @@ class DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequestChangeToolCandidat
1790
1777
  pass
1791
1778
 
1792
1779
 
1780
+ class DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequestInjectInstructionAction(
1781
+ BaseModel
1782
+ ):
1783
+ type: Literal['inject-instruction'] = Field(..., title='Type')
1784
+ instruction: str = Field(..., min_length=1)
1785
+ overrides_instructions: bool = Field(
1786
+ ...,
1787
+ description='During injection, whether the original instruction of the state is overriden with this instruction.',
1788
+ title='Overrides Instructions',
1789
+ )
1790
+
1791
+
1793
1792
  class DynamicBehaviorSetCreateDynamicBehaviorSetVersionResponse(BaseModel):
1794
1793
  new_version_number: int = Field(
1795
1794
  ...,
@@ -1816,6 +1815,20 @@ class DynamicBehaviorSetGetDynamicBehaviorInvocationsResponse(BaseModel):
1816
1815
  )
1817
1816
 
1818
1817
 
1818
+ class DynamicBehaviorSetGetDynamicBehaviorSetsResponseDynamicBehaviorSetInstance(
1819
+ BaseModel
1820
+ ):
1821
+ id: str = Field(..., title='Id')
1822
+ name: str = Field(..., title='Name')
1823
+ is_active: bool = Field(..., title='Is Active')
1824
+ applied_to_services: list[str] = Field(..., title='Applied To Services')
1825
+ tags: dict[str, str | None] = Field(..., title='Tags')
1826
+ created_at: AwareDatetime = Field(..., title='Created At')
1827
+ creator: MongoCollectionsDynamicBehaviorSetDynamicBehaviorSetUserInfo
1828
+ updated_at: AwareDatetime = Field(..., title='Updated At')
1829
+ updated_by: MongoCollectionsDynamicBehaviorSetDynamicBehaviorSetUserInfo
1830
+
1831
+
1819
1832
  class DynamicBehaviorSetGetDynamicBehaviorSetsResponseFilterValues(BaseModel):
1820
1833
  applied_to_services_ids: list[str] = Field(
1821
1834
  ...,
@@ -1836,18 +1849,14 @@ class DynamicBehaviorSetGetDynamicBehaviorSetsResponseFilterValues(BaseModel):
1836
1849
  )
1837
1850
 
1838
1851
 
1839
- class DynamicBehaviorSetSearchDynamicBehaviorSetsResponseDynamicBehaviorSetInstance(
1840
- BaseModel
1841
- ):
1842
- id: str = Field(..., title='Id')
1843
- name: str = Field(..., title='Name')
1844
- is_active: bool = Field(..., title='Is Active')
1845
- applied_to_services: list[str] = Field(..., title='Applied To Services')
1846
- tags: dict[str, str | None] = Field(..., title='Tags')
1847
- created_at: AwareDatetime = Field(..., title='Created At')
1848
- creator: MongoCollectionsDynamicBehaviorSetDynamicBehaviorSetUserInfo
1849
- updated_at: AwareDatetime = Field(..., title='Updated At')
1850
- updated_by: MongoCollectionsDynamicBehaviorSetDynamicBehaviorSetUserInfo
1852
+ class DynamicBehaviorSetSearchDynamicBehaviorSetsResponse(BaseModel):
1853
+ dynamic_behavior_sets: list[
1854
+ DynamicBehaviorSetGetDynamicBehaviorSetsResponseDynamicBehaviorSetInstance
1855
+ ] = Field(
1856
+ ...,
1857
+ description='The retrieved dynamic behavior sets.',
1858
+ title='Dynamic Behavior Sets',
1859
+ )
1851
1860
 
1852
1861
 
1853
1862
  class DynamicBehaviorSetUpdateDynamicBehaviorSetRequest(BaseModel):
@@ -9905,15 +9914,6 @@ class OrganizationCreateAgentVersionRequestIdentityRelationshipToDeveloper(BaseM
9905
9914
  thought_visibility: str = Field(..., min_length=1)
9906
9915
 
9907
9916
 
9908
- class OrganizationCreateAgentVersionRequestVoiceConfig(BaseModel):
9909
- voice_id: str = Field(
9910
- ..., description='The Elevenlabs voice ID for this agent.', title='Voice Id'
9911
- )
9912
- stability: float = Field(..., ge=0.0, le=1.0, title='Stability')
9913
- similarity_boost: float = Field(..., ge=0.0, le=1.0, title='Similarity Boost')
9914
- style: float = Field(..., ge=0.0, le=1.0, title='Style')
9915
-
9916
-
9917
9917
  class OrganizationCreateAgentVersionResponse(BaseModel):
9918
9918
  id: str = Field(..., description='The ID of the new agent version.', title='Id')
9919
9919
  version: int = Field(
@@ -9929,6 +9929,10 @@ class OrganizationCreateAgentVersionResponse(BaseModel):
9929
9929
 
9930
9930
 
9931
9931
  class OrganizationCreateApiKeyRequest(BaseModel):
9932
+ name: PydanticBaseModelStrippedNonemptyString1 | None = Field(
9933
+ ...,
9934
+ description='An optional name for the API key for easier identification by users.',
9935
+ )
9932
9936
  duration: timedelta = Field(
9933
9937
  ...,
9934
9938
  description='The valid duration of the API key. Should be supplied in the [ISO8601 format](https://en.wikipedia.org/wiki/ISO_8601#Durations). Must be between 1 to 90 days.',
@@ -10586,11 +10590,6 @@ class OrganizationCreateOrganizationRequestPreferences(BaseModel):
10586
10590
  )
10587
10591
 
10588
10592
 
10589
- class OrganizationCreateOrganizationRequestUserDimension(BaseModel):
10590
- description: str = Field(..., min_length=1)
10591
- tags: list[PydanticBaseModelStrippedNonemptyString1] = Field(..., title='Tags')
10592
-
10593
-
10594
10593
  class OrganizationCreateOrganizationResponse(BaseModel):
10595
10594
  org_id: str = Field(
10596
10595
  ...,
@@ -10648,7 +10647,7 @@ class OrganizationCreateServiceHierarchicalStateMachineVersionRequestToolCallSpe
10648
10647
  description="Additional instruction to be supplied to the LLM in addition to the tool's description.",
10649
10648
  min_length=1,
10650
10649
  )
10651
- audio_fillers: list[StrippedNonemptyString] = Field(
10650
+ audio_fillers: list[PydanticBaseModelStrippedNonemptyString1] = Field(
10652
10651
  ...,
10653
10652
  description='A list of audio fillers to play in audio mode if the tool is taking a long time.',
10654
10653
  max_length=5,
@@ -10765,23 +10764,17 @@ class OrganizationGetUserDimensionsResponse(BaseModel):
10765
10764
  )
10766
10765
 
10767
10766
 
10768
- class UserDimensions(
10769
- RootModel[list[OrganizationCreateOrganizationRequestUserDimension]]
10770
- ):
10771
- root: list[OrganizationCreateOrganizationRequestUserDimension] = Field(
10772
- ...,
10773
- description='User dimensions for the organization. If not set or `null`, this field is not updated.',
10774
- min_length=1,
10775
- title='User Dimensions',
10776
- )
10777
-
10778
-
10779
10767
  class OrganizationModifyOrganizationRequestPreferences(
10780
10768
  OrganizationCreateOrganizationRequestPreferences
10781
10769
  ):
10782
10770
  pass
10783
10771
 
10784
10772
 
10773
+ class OrganizationModifyOrganizationRequestUserDimension(BaseModel):
10774
+ description: str = Field(..., min_length=1)
10775
+ tags: list[PydanticBaseModelStrippedNonemptyString1] = Field(..., title='Tags')
10776
+
10777
+
10785
10778
  class RoleAssignRoleRequest(BaseModel):
10786
10779
  user_id: str = Field(
10787
10780
  ...,
@@ -10804,16 +10797,22 @@ class RoleCreateRoleResponse(BaseModel):
10804
10797
  )
10805
10798
 
10806
10799
 
10807
- class RoleModifyRoleResponse(BaseModel):
10808
- role_id: str = Field(
10809
- ..., description='The identifier of the updated role.', title='Role Id'
10800
+ class RoleCreateTemporaryPermissionGrantResponse(BaseModel):
10801
+ temporary_permission_grant_id: str = Field(
10802
+ ...,
10803
+ description='The ID of the created temporary permission grant.',
10804
+ title='Temporary Permission Grant Id',
10805
+ )
10806
+ expires_at: AwareDatetime = Field(
10807
+ ...,
10808
+ description='The time in UTC at which the permission grant expires.',
10809
+ title='Expires At',
10810
10810
  )
10811
10811
 
10812
10812
 
10813
- class ServiceCreateServiceRequestVersionSetLLMConfig(BaseModel):
10814
- llm_name: LLMType
10815
- params: dict[str, Any] | None = Field(
10816
- {}, description='LLM-specific parameters to use.', title='Params'
10813
+ class RoleModifyRoleResponse(BaseModel):
10814
+ role_id: str = Field(
10815
+ ..., description='The identifier of the updated role.', title='Role Id'
10817
10816
  )
10818
10817
 
10819
10818
 
@@ -10892,6 +10891,13 @@ class ServiceUpdateServiceRequest(BaseModel):
10892
10891
  )
10893
10892
 
10894
10893
 
10894
+ class ServiceUpsertServiceVersionSetRequestVersionSetLLMConfig(BaseModel):
10895
+ llm_name: LLMType
10896
+ params: dict[str, Any] | None = Field(
10897
+ {}, description='LLM-specific parameters to use.', title='Params'
10898
+ )
10899
+
10900
+
10895
10901
  class SimulationCreateSimulationPersonaRequestInitialVersion(BaseModel):
10896
10902
  background: str = Field(
10897
10903
  ..., description='The background of the simulation persona.', min_length=1
@@ -10997,16 +11003,6 @@ class SimulationCreateSimulationUnitTestResponse(BaseModel):
10997
11003
  )
10998
11004
 
10999
11005
 
11000
- class SimulationCreateSimulationUnitTestSetRequestUnitTestRunDescriptor(BaseModel):
11001
- unit_test_id: str = Field(..., pattern='^[a-f0-9]{24}$', title='Unit Test Id')
11002
- run_count: int = Field(
11003
- ...,
11004
- description='The number of times to run the unit test.',
11005
- gt=0,
11006
- title='Run Count',
11007
- )
11008
-
11009
-
11010
11006
  class SimulationCreateSimulationUnitTestSetResponse(BaseModel):
11011
11007
  simulation_unit_test_set_id: str = Field(
11012
11008
  ...,
@@ -11095,37 +11091,6 @@ class SimulationGetSimulationScenariosResponseFilterValues(BaseModel):
11095
11091
  )
11096
11092
 
11097
11093
 
11098
- class SimulationGetSimulationScenariosResponseSimulationScenarioInstance(BaseModel):
11099
- id: str = Field(..., description='The ID of the simulation scenario.', title='Id')
11100
- name: str = Field(
11101
- ..., description='The name of the simulation scenario.', title='Name'
11102
- )
11103
- tags: dict[str, str | None] = Field(
11104
- ..., description='The tags of the simulation scenario.', title='Tags'
11105
- )
11106
- is_deleted: bool = Field(
11107
- ...,
11108
- description='Whether the simulation scenario is deleted.',
11109
- title='Is Deleted',
11110
- )
11111
- created_at: AwareDatetime = Field(
11112
- ...,
11113
- description='The timestamp when the simulation scenario was created.',
11114
- title='Created At',
11115
- )
11116
- creator: MongoCollectionsSimulationScenarioSimulationScenarioUserInfo = Field(
11117
- ..., description='The user who created the simulation scenario.'
11118
- )
11119
- updated_at: AwareDatetime = Field(
11120
- ...,
11121
- description='The timestamp when the simulation scenario was last updated.',
11122
- title='Updated At',
11123
- )
11124
- updated_by: MongoCollectionsSimulationScenarioSimulationScenarioUserInfo = Field(
11125
- ..., description='The user who last updated the simulation scenario.'
11126
- )
11127
-
11128
-
11129
11094
  class SimulationGetSimulationUnitTestSetRunArtifactsResponse(BaseModel):
11130
11095
  presigned_url: str = Field(
11131
11096
  ...,
@@ -11248,13 +11213,34 @@ class SimulationSearchSimulationPersonasResponseSimulationPersonaInstance(BaseMo
11248
11213
  )
11249
11214
 
11250
11215
 
11251
- class SimulationSearchSimulationScenariosResponse(BaseModel):
11252
- simulation_scenarios: list[
11253
- SimulationGetSimulationScenariosResponseSimulationScenarioInstance
11254
- ] = Field(
11216
+ class SimulationSearchSimulationScenariosResponseSimulationScenarioInstance(BaseModel):
11217
+ id: str = Field(..., description='The ID of the simulation scenario.', title='Id')
11218
+ name: str = Field(
11219
+ ..., description='The name of the simulation scenario.', title='Name'
11220
+ )
11221
+ tags: dict[str, str | None] = Field(
11222
+ ..., description='The tags of the simulation scenario.', title='Tags'
11223
+ )
11224
+ is_deleted: bool = Field(
11255
11225
  ...,
11256
- description='The list of simulation scenarios.',
11257
- title='Simulation Scenarios',
11226
+ description='Whether the simulation scenario is deleted.',
11227
+ title='Is Deleted',
11228
+ )
11229
+ created_at: AwareDatetime = Field(
11230
+ ...,
11231
+ description='The timestamp when the simulation scenario was created.',
11232
+ title='Created At',
11233
+ )
11234
+ creator: MongoCollectionsSimulationScenarioSimulationScenarioUserInfo = Field(
11235
+ ..., description='The user who created the simulation scenario.'
11236
+ )
11237
+ updated_at: AwareDatetime = Field(
11238
+ ...,
11239
+ description='The timestamp when the simulation scenario was last updated.',
11240
+ title='Updated At',
11241
+ )
11242
+ updated_by: MongoCollectionsSimulationScenarioSimulationScenarioUserInfo = Field(
11243
+ ..., description='The user who last updated the simulation scenario.'
11258
11244
  )
11259
11245
 
11260
11246
 
@@ -11320,35 +11306,13 @@ class RunCount(RootModel[int]):
11320
11306
  )
11321
11307
 
11322
11308
 
11323
- class UnitTestRuns(
11324
- RootModel[list[SimulationCreateSimulationUnitTestSetRequestUnitTestRunDescriptor]]
11325
- ):
11326
- root: list[SimulationCreateSimulationUnitTestSetRequestUnitTestRunDescriptor] = (
11327
- Field(
11328
- ...,
11329
- description='The unit test runs that are part of this set.',
11330
- min_length=1,
11331
- title='Unit Test Runs',
11332
- )
11333
- )
11334
-
11335
-
11336
- class SimulationUpdateSimulationUnitTestSetRequest(BaseModel):
11337
- name: PydanticBaseModelStrippedNonemptyString1 | None = Field(
11338
- None, description='The name of the simulation unit test set.'
11339
- )
11340
- description: PydanticBaseModelStrippedNonemptyString1 | FieldNotSet | None = Field(
11341
- default_factory=lambda: PydanticBaseModelStrippedNonemptyString1({}),
11342
- description='The description of the simulation unit test set. If not specified or an empty object is provided, the description will not be updated.',
11343
- title='Description',
11344
- )
11345
- unit_test_runs: UnitTestRuns | None = Field(
11346
- None,
11347
- description='The unit test runs that are part of this set.',
11348
- title='Unit Test Runs',
11349
- )
11350
- tags: dict[str, str | None] | None = Field(
11351
- None, description='The tags of the simulation unit test set.', title='Tags'
11309
+ class SimulationUpdateSimulationUnitTestSetRequestUnitTestRunDescriptor(BaseModel):
11310
+ unit_test_id: str = Field(..., pattern='^[a-f0-9]{24}$', title='Unit Test Id')
11311
+ run_count: int = Field(
11312
+ ...,
11313
+ description='The number of times to run the unit test.',
11314
+ gt=0,
11315
+ title='Run Count',
11352
11316
  )
11353
11317
 
11354
11318
 
@@ -11385,15 +11349,31 @@ class ToolGetToolsResponseFilterValues(BaseModel):
11385
11349
  )
11386
11350
 
11387
11351
 
11388
- class ToolModifyToolRequest(BaseModel):
11389
- description: PydanticBaseModelStrippedNonemptyString1 | None = Field(
11390
- None, description='A description of this tool. Only updates if not-null.'
11391
- )
11392
- tags: dict[StrippedNonemptyStringWS, StrippedNonemptyStringWS | None] | None = (
11393
- Field(
11394
- None,
11395
- description='The tags of this tool. Only updates if not-null.',
11396
- title='Tags',
11352
+ class InvocationMode(Enum):
11353
+ regular = 'regular'
11354
+ conversation_simulation = 'conversation-simulation'
11355
+
11356
+
11357
+ class ToolInvokeToolVersionRequestInput(BaseModel):
11358
+ input_parameters: dict[str, Any] = Field(
11359
+ ...,
11360
+ description='The input parameters for the tool invocation.',
11361
+ title='Input Parameters',
11362
+ )
11363
+ invocation_mode: InvocationMode = Field(
11364
+ ..., description='The mode of invocation.', title='Invocation Mode'
11365
+ )
11366
+
11367
+
11368
+ class ToolModifyToolRequest(BaseModel):
11369
+ description: PydanticBaseModelStrippedNonemptyString1 | None = Field(
11370
+ None, description='A description of this tool. Only updates if not-null.'
11371
+ )
11372
+ tags: dict[StrippedNonemptyStringWS, StrippedNonemptyStringWS | None] | None = (
11373
+ Field(
11374
+ None,
11375
+ description='The tags of this tool. Only updates if not-null.',
11376
+ title='Tags',
11397
11377
  )
11398
11378
  )
11399
11379
 
@@ -11405,11 +11385,6 @@ class BumpType(Enum):
11405
11385
 
11406
11386
 
11407
11387
  class ToolPublishToolVersionRequest(BaseModel):
11408
- repo: ToolRepo = Field(
11409
- ...,
11410
- description="The repo to publish the tool version from. If `team`, then it's published from the repo of the organization's Azure DevOps team. If `main`, then it's published\nfrom the `tools-main` repo.",
11411
- title='Repo',
11412
- )
11413
11388
  project_path: str = Field(
11414
11389
  ...,
11415
11390
  description='The directory in the tools repo that contains the `pyproject.toml` file corresponding to the tool version to publish.',
@@ -11429,19 +11404,34 @@ class ToolPublishToolVersionResponse(BaseModel):
11429
11404
  )
11430
11405
 
11431
11406
 
11432
- class InvocationMode(Enum):
11433
- regular = 'regular'
11434
- conversation_simulation = 'conversation-simulation'
11435
-
11436
-
11437
- class ToolTestToolRequestInput(BaseModel):
11438
- input_parameters: dict[str, Any] = Field(
11407
+ class ToolTestToolRequest(BaseModel):
11408
+ inputs: list[ToolInvokeToolVersionRequestInput] = Field(
11439
11409
  ...,
11440
- description='The input parameters for the tool invocation.',
11441
- title='Input Parameters',
11410
+ description='The list of inputs for the tool invocation.',
11411
+ max_length=10,
11412
+ min_length=1,
11413
+ title='Inputs',
11442
11414
  )
11443
- invocation_mode: InvocationMode = Field(
11444
- ..., description='The mode of invocation.', title='Invocation Mode'
11415
+ commit_branch: str = Field(
11416
+ ...,
11417
+ description='The branch in the tools repo whose tip will be tested.',
11418
+ title='Commit Branch',
11419
+ )
11420
+ project_path: str = Field(
11421
+ ...,
11422
+ description='The directory in the tools repo that contains the `pyproject.toml` file corresponding to the tool version to publish.',
11423
+ pattern='^[-\\w\\d_/]+$',
11424
+ title='Project Path',
11425
+ )
11426
+ required_envvars: dict[str, str] = Field(
11427
+ ...,
11428
+ description='The environment variables required for the tool to run.',
11429
+ title='Required Envvars',
11430
+ )
11431
+ required_secret_envvars: dict[str, str] = Field(
11432
+ ...,
11433
+ description='The secret environment variables required for the tool to run.',
11434
+ title='Required Secret Envvars',
11445
11435
  )
11446
11436
 
11447
11437
 
@@ -11631,11 +11621,6 @@ class UserUpdateUserInfoRequest(BaseModel):
11631
11621
  description='A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service. If `null`, the keyterms are not modified.',
11632
11622
  title='Audio Keyterms',
11633
11623
  )
11634
- actions_development_enabled: bool | None = Field(
11635
- None,
11636
- description='Whether to enable Actions development access for the user. If `null`, the preference is not modified.',
11637
- title='Actions Development Enabled',
11638
- )
11639
11624
 
11640
11625
 
11641
11626
  class WebhookDestinationCreateWebhookDestinationRequest(BaseModel):
@@ -12021,7 +12006,7 @@ class InteractWithConversationParametersQuery(BaseModel):
12021
12006
  )
12022
12007
 
12023
12008
 
12024
- class ExternalEventMessageContent(PydanticBaseModelStrippedNonemptyString1):
12009
+ class ExternalEventMessageContentItem(PydanticBaseModelStrippedNonemptyString1):
12025
12010
  pass
12026
12011
 
12027
12012
 
@@ -12030,15 +12015,17 @@ class InteractWithConversationRequest1(BaseModel):
12030
12015
  ..., title='Initial Message Type'
12031
12016
  )
12032
12017
  recorded_message: str = Field(..., min_length=1)
12033
- external_event_message_contents: list[ExternalEventMessageContent] | None = Field(
12034
- default_factory=list,
12035
- description='The contents of external event messages to be inserted before the initial message, in chronological order.',
12036
- title='External Event Message Contents',
12018
+ external_event_message_content: list[ExternalEventMessageContentItem] | None = (
12019
+ Field(
12020
+ default_factory=list,
12021
+ description='The contents of external event messages to be inserted before the initial message, in chronological order.',
12022
+ title='External Event Message Content',
12023
+ )
12037
12024
  )
12038
- external_event_message_timestamps: list[AwareDatetime] | None = Field(
12025
+ external_event_message_timestamp: list[AwareDatetime] | None = Field(
12039
12026
  [],
12040
12027
  description='The timestamps of external event messages to be inserted before the initial message, in chronological order.',
12041
- title='External Event Message Timestamps',
12028
+ title='External Event Message Timestamp',
12042
12029
  )
12043
12030
 
12044
12031
 
@@ -12047,15 +12034,17 @@ class InteractWithConversationRequest2(BaseModel):
12047
12034
  ..., title='Initial Message Type'
12048
12035
  )
12049
12036
  recorded_message: str = Field(..., min_length=1)
12050
- external_event_message_contents: list[ExternalEventMessageContent] | None = Field(
12051
- default_factory=list,
12052
- description='The contents of external event messages to be inserted before the initial message, in chronological order.',
12053
- title='External Event Message Contents',
12037
+ external_event_message_content: list[ExternalEventMessageContentItem] | None = (
12038
+ Field(
12039
+ default_factory=list,
12040
+ description='The contents of external event messages to be inserted before the initial message, in chronological order.',
12041
+ title='External Event Message Content',
12042
+ )
12054
12043
  )
12055
- external_event_message_timestamps: list[AwareDatetime] | None = Field(
12044
+ external_event_message_timestamp: list[AwareDatetime] | None = Field(
12056
12045
  [],
12057
12046
  description='The timestamps of external event messages to be inserted before the initial message, in chronological order.',
12058
- title='External Event Message Timestamps',
12047
+ title='External Event Message Timestamp',
12059
12048
  )
12060
12049
 
12061
12050
 
@@ -12067,17 +12056,19 @@ class InteractWithConversationRequest3(BaseModel):
12067
12056
  max_length=0,
12068
12057
  title='Recorded Message',
12069
12058
  )
12070
- external_event_message_contents: list[ExternalEventMessageContent] | None = Field(
12071
- default_factory=list,
12072
- description='Must be empty, as external event messages cannot be sent with skips.',
12073
- max_length=0,
12074
- title='External Event Message Contents',
12059
+ external_event_message_content: list[ExternalEventMessageContentItem] | None = (
12060
+ Field(
12061
+ default_factory=list,
12062
+ description='Must be empty, as external event messages cannot be sent with skips.',
12063
+ max_length=0,
12064
+ title='External Event Message Content',
12065
+ )
12075
12066
  )
12076
- external_event_message_timestamps: list[AwareDatetime] | None = Field(
12067
+ external_event_message_timestamp: list[AwareDatetime] | None = Field(
12077
12068
  [],
12078
12069
  description='Must be empty, as external event messages cannot be sent with skips.',
12079
12070
  max_length=0,
12080
- title='External Event Message Timestamps',
12071
+ title='External Event Message Timestamp',
12081
12072
  )
12082
12073
 
12083
12074
 
@@ -12174,6 +12165,56 @@ class SearchUsersParametersQuery(BaseModel):
12174
12165
  )
12175
12166
 
12176
12167
 
12168
+ class GetTemporaryPermissionGrantsParametersQuery(BaseModel):
12169
+ id: list[IdItem] | None = Field(
12170
+ default_factory=list,
12171
+ description='The IDs of the temporary permission grants to retrieve.',
12172
+ title='Id',
12173
+ )
12174
+ user_id: list[str] | None = Field(
12175
+ [],
12176
+ description='The user IDs of the temporary permission grants to retrieve.',
12177
+ title='User Id',
12178
+ )
12179
+ permission_grant_name: str | None = Field(
12180
+ None,
12181
+ description='The permission name of the grants.',
12182
+ title='Permission Grant Name',
12183
+ )
12184
+ is_expired: bool | None = Field(
12185
+ None,
12186
+ description='Whether to only return expired or unexpired temporary permission grants.',
12187
+ title='Is Expired',
12188
+ )
12189
+ limit: int | None = Field(
12190
+ 10,
12191
+ description='The maximum number of temporary permission grants to return.',
12192
+ ge=0,
12193
+ le=10,
12194
+ title='Limit',
12195
+ )
12196
+ continuation_token: int | None = Field(
12197
+ 0,
12198
+ description='The continuation token to use to retrieve the next set of temporary permission grants.',
12199
+ title='Continuation Token',
12200
+ )
12201
+ creator: list[str] | None = Field(
12202
+ [],
12203
+ description='The creators of the temporary permission grants.',
12204
+ title='Creator',
12205
+ )
12206
+ tag: list[str] | None = Field(
12207
+ [],
12208
+ description='The tags of the temporary permission grants. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.',
12209
+ title='Tag',
12210
+ )
12211
+ sort_by: list[str] | None = Field(
12212
+ [],
12213
+ description='The fields to sort the sets by. Supported fields are `user_id`, `expires_at`, and `permission_grant.permission_name`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.',
12214
+ title='Sort By',
12215
+ )
12216
+
12217
+
12177
12218
  class GetRolesV1OrganizationRoleGetParametersQuery(BaseModel):
12178
12219
  return_permission_grants: bool | None = Field(
12179
12220
  False,
@@ -13134,6 +13175,11 @@ class APIKey(BaseModel):
13134
13175
  description='The index of this API key, which is an integer between 0 to 19. An org cannot have more than 1 API key with the same index.',
13135
13176
  title='Index',
13136
13177
  )
13178
+ name: str | None = Field(
13179
+ ...,
13180
+ description='An optional name for the API key for easier identification by users.',
13181
+ title='Name',
13182
+ )
13137
13183
 
13138
13184
 
13139
13185
  class ActionStateInput(BaseModel):
@@ -13295,6 +13341,12 @@ class ChangeToolCandidatesActionOutput(BaseModel):
13295
13341
  )
13296
13342
 
13297
13343
 
13344
+ class Condition(RootModel[EqualCondition | InCondition | NotEqualCondition]):
13345
+ root: EqualCondition | InCondition | NotEqualCondition = Field(
13346
+ ..., discriminator='type'
13347
+ )
13348
+
13349
+
13298
13350
  class DecisionStateInput(BaseModel):
13299
13351
  type: Literal['decision'] = Field(..., title='Type')
13300
13352
  name: str = Field(..., pattern='^[A-Za-z0-9_]+$')
@@ -13308,7 +13360,7 @@ class DecisionStateInput(BaseModel):
13308
13360
  tool_call_specs: list[
13309
13361
  OrganizationCreateServiceHierarchicalStateMachineVersionRequestToolCallSpec
13310
13362
  ] = Field(..., title='Tool Call Specs')
13311
- audio_fillers: list[StrippedNonemptyString] = Field(
13363
+ audio_fillers: list[PydanticBaseModelStrippedNonemptyString1] = Field(
13312
13364
  ...,
13313
13365
  description='A list of audio fillers to play in audio mode if the `select-next-state-for-decision-state` prompt is taking too long to process.',
13314
13366
  max_length=5,
@@ -13405,6 +13457,10 @@ class DeleteRequest(BaseModel):
13405
13457
  )
13406
13458
 
13407
13459
 
13460
+ class HTTPValidationError(BaseModel):
13461
+ detail: list[ValidationError] | None = Field(None, title='Detail')
13462
+
13463
+
13408
13464
  class InsertRequest(BaseModel):
13409
13465
  name: str = Field(
13410
13466
  ...,
@@ -13482,6 +13538,17 @@ class NumericalMetricSuccessCriterion(BaseModel):
13482
13538
  threshold: float = Field(..., title='Threshold')
13483
13539
 
13484
13540
 
13541
+ class PermissionGrantInstance(BaseModel):
13542
+ permission_name: str = Field(
13543
+ ..., description='The name of the permission.', title='Permission Name'
13544
+ )
13545
+ conditions: dict[str, EqualCondition | InCondition | NotEqualCondition] = Field(
13546
+ ...,
13547
+ description='A dictionary of attribute name to condition that must be met for this grant to be applicable.',
13548
+ title='Conditions',
13549
+ )
13550
+
13551
+
13485
13552
  class RecallStateInput(BaseModel):
13486
13553
  type: Literal['recall'] = Field(..., title='Type')
13487
13554
  name: str = Field(..., pattern='^[A-Za-z0-9_]+$')
@@ -13499,7 +13566,7 @@ class ReflectionStateInput(BaseModel):
13499
13566
  tool_call_specs: list[
13500
13567
  OrganizationCreateServiceHierarchicalStateMachineVersionRequestToolCallSpec
13501
13568
  ] = Field(..., title='Tool Call Specs')
13502
- audio_fillers: list[StrippedNonemptyString] = Field(
13569
+ audio_fillers: list[PydanticBaseModelStrippedNonemptyString1] = Field(
13503
13570
  ...,
13504
13571
  description='A list of audio fillers to play in audio mode if the reflection is taking too long to be generated.',
13505
13572
  max_length=5,
@@ -13631,9 +13698,14 @@ class ServiceInstance(BaseModel):
13631
13698
  agent_id: str = Field(
13632
13699
  ..., description='The ID of the agent that this service uses.', title='Agent Id'
13633
13700
  )
13634
- tags: list[MongoCollectionsMetricMetricTag] = Field(
13701
+ tags: list[MongoCollectionsToolToolTag] = Field(
13635
13702
  ..., description='The tags of the service.', title='Tags'
13636
13703
  )
13704
+ keyterms: list[str] = Field(
13705
+ ...,
13706
+ description='A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service.',
13707
+ title='Keyterms',
13708
+ )
13637
13709
 
13638
13710
 
13639
13711
  class SimulationConversationInvocationSource(BaseModel):
@@ -13684,7 +13756,7 @@ class SimulationUnitTestSet(BaseModel):
13684
13756
  description='Whether the unit test set has been deleted.',
13685
13757
  title='Is Deleted',
13686
13758
  )
13687
- tags: list[MongoCollectionsMetricMetricTag] = Field(
13759
+ tags: list[MongoCollectionsToolToolTag] = Field(
13688
13760
  ..., description='The tags of the simulation unit test set.', title='Tags'
13689
13761
  )
13690
13762
  creator: MongoCollectionsSimulationUnitTestSetSimulationUnitTestSetUserInfo
@@ -13721,7 +13793,7 @@ class SimulationUnitTestSetInstance(BaseModel):
13721
13793
  description='Whether the unit test set has been deleted.',
13722
13794
  title='Is Deleted',
13723
13795
  )
13724
- tags: list[MongoCollectionsMetricMetricTag] = Field(
13796
+ tags: list[MongoCollectionsToolToolTag] = Field(
13725
13797
  ..., description='The tags of the simulation unit test set.', title='Tags'
13726
13798
  )
13727
13799
  creator: MongoCollectionsSimulationUnitTestSetSimulationUnitTestSetUserInfo
@@ -13750,7 +13822,7 @@ class ToolCallStateInput(BaseModel):
13750
13822
  OrganizationCreateServiceHierarchicalStateMachineVersionRequestToolCallSpec
13751
13823
  )
13752
13824
  designated_tool_call_params_generation_audio_fillers: list[
13753
- StrippedNonemptyString
13825
+ PydanticBaseModelStrippedNonemptyString1
13754
13826
  ] = Field(
13755
13827
  ..., max_length=5, title='Designated Tool Call Params Generation Audio Fillers'
13756
13828
  )
@@ -13849,7 +13921,7 @@ class ToolInstance(BaseModel):
13849
13921
  description='A list of encrypted environment variables that some versions of this tool uses.',
13850
13922
  title='Secret Envvars',
13851
13923
  )
13852
- tags: list[MongoCollectionsMetricMetricTag] = Field(
13924
+ tags: list[MongoCollectionsToolToolTag] = Field(
13853
13925
  ..., description='The tags of the simulation persona.', title='Tags'
13854
13926
  )
13855
13927
 
@@ -13880,11 +13952,6 @@ class ToolVersionInstance(BaseModel):
13880
13952
  input_schema: dict[str, Any] = Field(
13881
13953
  ..., description='The input schema of the tool.', title='Input Schema'
13882
13954
  )
13883
- tool_repo: ToolRepo = Field(
13884
- ...,
13885
- description='Whether this tool is published from the main repository or the team-specific repository.',
13886
- title='Tool Repo',
13887
- )
13888
13955
  tool_commit_hash: str = Field(
13889
13956
  ...,
13890
13957
  description='The commit hash of the tool within the repository.',
@@ -13962,6 +14029,10 @@ class VersionSetInfo(BaseModel):
13962
14029
  )
13963
14030
 
13964
14031
 
14032
+ class VoiceConfig(BaseModel):
14033
+ voice_id: str = Field(..., min_length=1)
14034
+
14035
+
13965
14036
  class WebhookDeliveryInstance(BaseModel):
13966
14037
  id: str = Field(..., description='The ID of the webhook delivery.', title='Id')
13967
14038
  type: str = Field(..., description='The type of the webhook.', title='Type')
@@ -14010,23 +14081,8 @@ class MongoCollectionsAgentAgentIdentity(BaseModel):
14010
14081
  ) = Field(..., description='Relationship of the agent to its developer.')
14011
14082
 
14012
14083
 
14013
- class MongoCollectionsRoleRolePermissionGrant(BaseModel):
14014
- action: Action = Field(
14015
- ...,
14016
- description='Whether this grant allows or denies the specified access.',
14017
- title='Action',
14018
- )
14019
- permission_name: str = Field(
14020
- ..., description='The name of the permission.', title='Permission Name'
14021
- )
14022
- conditions: dict[str, EqualCondition | InCondition | NotEqualCondition] = Field(
14023
- ...,
14024
- description='A dictionary of attribute name to condition that must be met for this grant to be applicable.',
14025
- title='Conditions',
14026
- )
14027
- description: str | None = Field(
14028
- None, description='An optional explanation of this grant.', title='Description'
14029
- )
14084
+ class MongoCollectionsRoleRolePermissionGrant(PermissionGrantInstance):
14085
+ pass
14030
14086
 
14031
14087
 
14032
14088
  class MongoCollectionsSimulationUnitTestSimulationUnitTestSuccessCriterion(BaseModel):
@@ -14144,7 +14200,7 @@ class DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequestChangeToolCandidat
14144
14200
 
14145
14201
  class DynamicBehaviorSetGetDynamicBehaviorSetsResponse(BaseModel):
14146
14202
  dynamic_behavior_sets: list[
14147
- DynamicBehaviorSetSearchDynamicBehaviorSetsResponseDynamicBehaviorSetInstance
14203
+ DynamicBehaviorSetGetDynamicBehaviorSetsResponseDynamicBehaviorSetInstance
14148
14204
  ] = Field(
14149
14205
  ...,
14150
14206
  description='The retrieved dynamic behavior sets.',
@@ -14168,16 +14224,6 @@ class DynamicBehaviorSetGetDynamicBehaviorSetsResponse(BaseModel):
14168
14224
  )
14169
14225
 
14170
14226
 
14171
- class DynamicBehaviorSetSearchDynamicBehaviorSetsResponse(BaseModel):
14172
- dynamic_behavior_sets: list[
14173
- DynamicBehaviorSetSearchDynamicBehaviorSetsResponseDynamicBehaviorSetInstance
14174
- ] = Field(
14175
- ...,
14176
- description='The retrieved dynamic behavior sets.',
14177
- title='Dynamic Behavior Sets',
14178
- )
14179
-
14180
-
14181
14227
  class MetricCreateMetricRequest(BaseModel):
14182
14228
  name: str = Field(
14183
14229
  ...,
@@ -14234,7 +14280,7 @@ class OrganizationCreateOrganizationRequest(BaseModel):
14234
14280
  description='Additional descriptions of the services offered by this organization that is displayed below `main_description` in a smaller font.',
14235
14281
  min_length=1,
14236
14282
  )
14237
- user_dimensions: list[OrganizationCreateOrganizationRequestUserDimension] = Field(
14283
+ user_dimensions: list[OrganizationModifyOrganizationRequestUserDimension] = Field(
14238
14284
  ...,
14239
14285
  description='User dimensions for the organization.',
14240
14286
  title='User Dimensions',
@@ -14353,7 +14399,7 @@ class OrganizationGetAgentVersionsResponseAgentInstance(BaseModel):
14353
14399
  )
14354
14400
  agent_id: str = Field(..., description='The ID of this agent.', title='Agent Id')
14355
14401
  version: int = Field(..., description='The version of the agent.', title='Version')
14356
- voice_config: MongoCollectionsAgentAgentVoiceConfig = Field(
14402
+ voice_config: VoiceConfigInstance | None = Field(
14357
14403
  ..., description='The voice configuration of the agent.'
14358
14404
  )
14359
14405
  initials: str = Field(
@@ -14404,6 +14450,17 @@ class OrganizationGetApiKeysResponse(BaseModel):
14404
14450
  )
14405
14451
 
14406
14452
 
14453
+ class UserDimensions(
14454
+ RootModel[list[OrganizationModifyOrganizationRequestUserDimension]]
14455
+ ):
14456
+ root: list[OrganizationModifyOrganizationRequestUserDimension] = Field(
14457
+ ...,
14458
+ description='User dimensions for the organization. If not set or `null`, this field is not updated.',
14459
+ min_length=1,
14460
+ title='User Dimensions',
14461
+ )
14462
+
14463
+
14407
14464
  class OrganizationModifyOrganizationRequest(BaseModel):
14408
14465
  title: PydanticBaseModelStrippedNonemptyString1 | None = Field(
14409
14466
  None,
@@ -14457,19 +14514,32 @@ class OrganizationModifyOrganizationRequest(BaseModel):
14457
14514
  )
14458
14515
 
14459
14516
 
14460
- class RoleCreateRoleRequestPermissionGrant(BaseModel):
14461
- action: Action = Field(
14517
+ class RoleCreateRoleRequestPermissionGrant(PermissionGrantInstance):
14518
+ pass
14519
+
14520
+
14521
+ class RoleCreateTemporaryPermissionGrantRequest(BaseModel):
14522
+ user_id: str = Field(
14462
14523
  ...,
14463
- description='Whether this grant allows or denies the specified access.',
14464
- title='Action',
14524
+ description='The ID of the user to grant the temporary permission to.',
14525
+ title='User Id',
14465
14526
  )
14466
- permission_name: str = Field(..., title='Permission Name')
14467
- conditions: dict[str, EqualCondition | InCondition | NotEqualCondition] = Field(
14527
+ duration: timedelta = Field(
14468
14528
  ...,
14469
- description='A dictionary of attribute name to condition that must be met for this grant to be applicable.',
14470
- title='Conditions',
14529
+ description='In ISO8601 format, the duration that this permission grant will last.',
14530
+ title='Duration',
14531
+ )
14532
+ permission_grant: PermissionGrantInstance = Field(
14533
+ ..., description='The permission grant to give to the user.'
14534
+ )
14535
+ tags: dict[StrippedNonemptyStringWS, StrippedNonemptyStringWS | None] = Field(
14536
+ ...,
14537
+ description='The tags of the permission grant. Both the key and the value can only contain alphanumeric characters, underscores, or spaces.',
14538
+ title='Tags',
14539
+ )
14540
+ justification: str = Field(
14541
+ ..., description='A justification for why this grant is made.', min_length=10
14471
14542
  )
14472
- description: PydanticBaseModelStrippedNonemptyString1 | None = None
14473
14543
 
14474
14544
 
14475
14545
  class RoleModifyRoleRequest(BaseModel):
@@ -14488,22 +14558,6 @@ class RoleModifyRoleRequest(BaseModel):
14488
14558
  )
14489
14559
 
14490
14560
 
14491
- class ServiceCreateServiceRequestVersionSet(BaseModel):
14492
- agent_version_number: int | None = Field(
14493
- ...,
14494
- description='The version number of the agent to be used. If None, the latest agent version will be used.',
14495
- title='Agent Version Number',
14496
- )
14497
- service_hierarchical_state_machine_version_number: int | None = Field(
14498
- ...,
14499
- description='The version number of the state machine to be used. If None, the latest state machine version will be used.',
14500
- title='Service Hierarchical State Machine Version Number',
14501
- )
14502
- llm_model_preferences: dict[str, ServiceCreateServiceRequestVersionSetLLMConfig] = (
14503
- Field(..., title='Llm Model Preferences')
14504
- )
14505
-
14506
-
14507
14561
  class ServiceGetServicesResponse(BaseModel):
14508
14562
  services: list[ServiceInstance] = Field(
14509
14563
  ..., description='The services that are found.', title='Services'
@@ -14524,10 +14578,20 @@ class ServiceGetServicesResponse(BaseModel):
14524
14578
  )
14525
14579
 
14526
14580
 
14527
- class ServiceUpsertServiceVersionSetRequest(BaseModel):
14528
- version_set: ServiceCreateServiceRequestVersionSet = Field(
14529
- ..., description='The version set to upsert.'
14581
+ class ServiceUpsertServiceVersionSetRequestVersionSet(BaseModel):
14582
+ agent_version_number: int | None = Field(
14583
+ ...,
14584
+ description='The version number of the agent to be used. If None, the latest agent version will be used.',
14585
+ title='Agent Version Number',
14530
14586
  )
14587
+ service_hierarchical_state_machine_version_number: int | None = Field(
14588
+ ...,
14589
+ description='The version number of the state machine to be used. If None, the latest state machine version will be used.',
14590
+ title='Service Hierarchical State Machine Version Number',
14591
+ )
14592
+ llm_model_preferences: dict[
14593
+ str, ServiceUpsertServiceVersionSetRequestVersionSetLLMConfig
14594
+ ] = Field(..., title='Llm Model Preferences')
14531
14595
 
14532
14596
 
14533
14597
  class SimulationCreateSimulationPersonaRequest(BaseModel):
@@ -14579,7 +14643,7 @@ class SimulationCreateSimulationUnitTestSetRequest(BaseModel):
14579
14643
  ..., description='The description of the simulation unit test set.'
14580
14644
  )
14581
14645
  unit_test_runs: list[
14582
- SimulationCreateSimulationUnitTestSetRequestUnitTestRunDescriptor
14646
+ SimulationUpdateSimulationUnitTestSetRequestUnitTestRunDescriptor
14583
14647
  ] = Field(
14584
14648
  ...,
14585
14649
  description='The unit test runs that are part of this set.',
@@ -14615,7 +14679,7 @@ class SimulationGetSimulationPersonasResponse(BaseModel):
14615
14679
 
14616
14680
  class SimulationGetSimulationScenariosResponse(BaseModel):
14617
14681
  simulation_scenarios: list[
14618
- SimulationGetSimulationScenariosResponseSimulationScenarioInstance
14682
+ SimulationSearchSimulationScenariosResponseSimulationScenarioInstance
14619
14683
  ] = Field(
14620
14684
  ...,
14621
14685
  description='The list of simulation scenarios.',
@@ -14669,6 +14733,16 @@ class SimulationSearchSimulationPersonasResponse(BaseModel):
14669
14733
  )
14670
14734
 
14671
14735
 
14736
+ class SimulationSearchSimulationScenariosResponse(BaseModel):
14737
+ simulation_scenarios: list[
14738
+ SimulationSearchSimulationScenariosResponseSimulationScenarioInstance
14739
+ ] = Field(
14740
+ ...,
14741
+ description='The list of simulation scenarios.',
14742
+ title='Simulation Scenarios',
14743
+ )
14744
+
14745
+
14672
14746
  class SimulationSearchSimulationUnitTestSetResponse(BaseModel):
14673
14747
  simulation_unit_test_sets: list[SimulationUnitTestSet] = Field(
14674
14748
  ...,
@@ -14683,6 +14757,38 @@ class SimulationUpdateSimulationUnitTestRequestSuccessCriterion(
14683
14757
  pass
14684
14758
 
14685
14759
 
14760
+ class UnitTestRuns(
14761
+ RootModel[list[SimulationUpdateSimulationUnitTestSetRequestUnitTestRunDescriptor]]
14762
+ ):
14763
+ root: list[SimulationUpdateSimulationUnitTestSetRequestUnitTestRunDescriptor] = (
14764
+ Field(
14765
+ ...,
14766
+ description='The unit test runs that are part of this set.',
14767
+ min_length=1,
14768
+ title='Unit Test Runs',
14769
+ )
14770
+ )
14771
+
14772
+
14773
+ class SimulationUpdateSimulationUnitTestSetRequest(BaseModel):
14774
+ name: PydanticBaseModelStrippedNonemptyString1 | None = Field(
14775
+ None, description='The name of the simulation unit test set.'
14776
+ )
14777
+ description: PydanticBaseModelStrippedNonemptyString1 | FieldNotSet | None = Field(
14778
+ default_factory=lambda: PydanticBaseModelStrippedNonemptyString1({}),
14779
+ description='The description of the simulation unit test set. If not specified or an empty object is provided, the description will not be updated.',
14780
+ title='Description',
14781
+ )
14782
+ unit_test_runs: UnitTestRuns | None = Field(
14783
+ None,
14784
+ description='The unit test runs that are part of this set.',
14785
+ title='Unit Test Runs',
14786
+ )
14787
+ tags: dict[str, str | None] | None = Field(
14788
+ None, description='The tags of the simulation unit test set.', title='Tags'
14789
+ )
14790
+
14791
+
14686
14792
  class ToolGetToolVersionsResponse(BaseModel):
14687
14793
  tool_versions: list[ToolVersionInstance] = Field(
14688
14794
  ...,
@@ -14724,7 +14830,7 @@ class ToolGetToolsResponse(BaseModel):
14724
14830
 
14725
14831
 
14726
14832
  class ToolInvokeToolVersionRequest(BaseModel):
14727
- inputs: list[ToolTestToolRequestInput] = Field(
14833
+ inputs: list[ToolInvokeToolVersionRequestInput] = Field(
14728
14834
  ...,
14729
14835
  description='The list of inputs for the tool invocation.',
14730
14836
  max_length=10,
@@ -14748,37 +14854,6 @@ class ToolModifyToolEnvvarsRequest(BaseModel):
14748
14854
  deletes: list[DeleteRequest] | None = Field(default_factory=list, title='Deletes')
14749
14855
 
14750
14856
 
14751
- class ToolTestToolRequest(BaseModel):
14752
- inputs: list[ToolTestToolRequestInput] = Field(
14753
- ...,
14754
- description='The list of inputs for the tool invocation.',
14755
- max_length=10,
14756
- min_length=1,
14757
- title='Inputs',
14758
- )
14759
- commit_branch: str = Field(
14760
- ...,
14761
- description='The branch in the tools repo whose tip will be tested.',
14762
- title='Commit Branch',
14763
- )
14764
- project_path: str = Field(
14765
- ...,
14766
- description='The directory in the tools repo that contains the `pyproject.toml` file corresponding to the tool version to publish.',
14767
- pattern='^[-\\w\\d_/]+$',
14768
- title='Project Path',
14769
- )
14770
- required_envvars: dict[str, str] = Field(
14771
- ...,
14772
- description='The environment variables required for the tool to run.',
14773
- title='Required Envvars',
14774
- )
14775
- required_secret_envvars: dict[str, str] = Field(
14776
- ...,
14777
- description='The secret environment variables required for the tool to run.',
14778
- title='Required Secret Envvars',
14779
- )
14780
-
14781
-
14782
14857
  class ToolTestToolResponse(ToolInvokeToolVersionResponse):
14783
14858
  pass
14784
14859
 
@@ -14900,6 +14975,9 @@ class ConversationInstance(BaseModel):
14900
14975
  description='The number of messages in this conversation.',
14901
14976
  title='Num Messages',
14902
14977
  )
14978
+ tags: dict[str, str | None] = Field(
14979
+ ..., description='The tags associated with this conversation.', title='Tags'
14980
+ )
14903
14981
 
14904
14982
 
14905
14983
  class CurrentAgentActionEvent(BaseModel):
@@ -14975,7 +15053,7 @@ class Metric(BaseModel):
14975
15053
  additional_notes: str | None = Field(
14976
15054
  ..., description='Additional notes about the metric.', title='Additional Notes'
14977
15055
  )
14978
- tags: list[MongoCollectionsMetricMetricTag] = Field(
15056
+ tags: list[MongoCollectionsToolToolTag] = Field(
14979
15057
  ..., description='The tags of the metric.', title='Tags'
14980
15058
  )
14981
15059
  creator: MongoCollectionsMetricMetricUserInfo = Field(
@@ -15048,7 +15126,7 @@ class MetricInstance(BaseModel):
15048
15126
  additional_notes: str | None = Field(
15049
15127
  ..., description='Additional notes about the metric.', title='Additional Notes'
15050
15128
  )
15051
- tags: list[MongoCollectionsMetricMetricTag] = Field(
15129
+ tags: list[MongoCollectionsToolToolTag] = Field(
15052
15130
  ..., description='The tags of the metric.', title='Tags'
15053
15131
  )
15054
15132
  creator: MongoCollectionsMetricMetricUserInfo = Field(
@@ -15144,7 +15222,7 @@ class SimulationUnitTest(BaseModel):
15144
15222
  is_deleted: bool = Field(
15145
15223
  ..., description='Whether the unit test has been deleted.', title='Is Deleted'
15146
15224
  )
15147
- tags: list[MongoCollectionsMetricMetricTag] = Field(
15225
+ tags: list[MongoCollectionsToolToolTag] = Field(
15148
15226
  ..., description='The tags of the simulation persona.', title='Tags'
15149
15227
  )
15150
15228
  creator: MongoCollectionsSimulationUnitTestSimulationUnitTestUserInfo
@@ -15189,13 +15267,46 @@ class SimulationUnitTestInstance(BaseModel):
15189
15267
  is_deleted: bool = Field(
15190
15268
  ..., description='Whether the unit test has been deleted.', title='Is Deleted'
15191
15269
  )
15192
- tags: list[MongoCollectionsMetricMetricTag] = Field(
15270
+ tags: list[MongoCollectionsToolToolTag] = Field(
15193
15271
  ..., description='The tags of the simulation persona.', title='Tags'
15194
15272
  )
15195
15273
  creator: MongoCollectionsSimulationUnitTestSimulationUnitTestUserInfo
15196
15274
  updated_by: MongoCollectionsSimulationUnitTestSimulationUnitTestUserInfo
15197
15275
 
15198
15276
 
15277
+ class TemporaryPermissionGrant(BaseModel):
15278
+ field_id: str = Field(
15279
+ ..., alias='_id', description='The ID of the document.', title='Id'
15280
+ )
15281
+ org_id: str = Field(..., description='The ID of the organization.', title='Org Id')
15282
+ created_at: AwareDatetime | None = Field(None, title='Created At')
15283
+ updated_at: AwareDatetime | None = Field(None, title='Updated At')
15284
+ user_id: str = Field(
15285
+ ...,
15286
+ description='The ID of the user that this grant applies to.',
15287
+ title='User Id',
15288
+ )
15289
+ expires_at: AwareDatetime = Field(
15290
+ ...,
15291
+ description='The time at which this temporary permission grant expires.',
15292
+ title='Expires At',
15293
+ )
15294
+ permission_grant: MongoCollectionsRoleRolePermissionGrant = Field(
15295
+ ..., description='The permission grant to give to the user.'
15296
+ )
15297
+ justification: str = Field(
15298
+ ...,
15299
+ description='The reason for offering this permission grant.',
15300
+ title='Justification',
15301
+ )
15302
+ creator: (
15303
+ MongoCollectionsTemporaryPermissionGrantTemporaryPermissionGrantUserInfo
15304
+ ) = Field(..., description='The creator of this permission grant.')
15305
+ tags: dict[str, str | None] = Field(
15306
+ ..., description='The tags of the permission grant.', title='Tags'
15307
+ )
15308
+
15309
+
15199
15310
  class UnitTestRunSpec(BaseModel):
15200
15311
  unit_test_id: str = Field(
15201
15312
  ..., description='ID of the unit test to run.', title='Unit Test Id'
@@ -15291,7 +15402,7 @@ class DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersion(BaseModel)
15291
15402
  )
15292
15403
  actions: list[
15293
15404
  Annotated[
15294
- DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersionInjectInstructionAction
15405
+ DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequestInjectInstructionAction
15295
15406
  | DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersionChangeToolCandidatesAction,
15296
15407
  Field(discriminator='type'),
15297
15408
  ]
@@ -15312,7 +15423,7 @@ class DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequest(BaseModel):
15312
15423
  )
15313
15424
  actions: list[
15314
15425
  Annotated[
15315
- DynamicBehaviorSetCreateDynamicBehaviorSetRequestInitialVersionInjectInstructionAction
15426
+ DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequestInjectInstructionAction
15316
15427
  | DynamicBehaviorSetCreateDynamicBehaviorSetVersionRequestChangeToolCandidatesAction,
15317
15428
  Field(discriminator='type'),
15318
15429
  ]
@@ -15409,9 +15520,9 @@ class OrganizationCreateAgentVersionRequest(BaseModel):
15409
15520
  title='Communication Patterns',
15410
15521
  )
15411
15522
  )
15412
- voice_config: OrganizationCreateAgentVersionRequestVoiceConfig | None = Field(
15523
+ voice_config: VoiceConfig | None = Field(
15413
15524
  None,
15414
- description='The Elevenlabs voice config for the agent. If set to null, it is not updated.',
15525
+ description='The Cartesia voice config for the agent. If set to null, it is not updated.',
15415
15526
  )
15416
15527
 
15417
15528
 
@@ -15457,6 +15568,24 @@ class RoleGetRolesResponse(BaseModel):
15457
15568
  )
15458
15569
 
15459
15570
 
15571
+ class RoleGetTemporaryPermissionGrantsResponse(BaseModel):
15572
+ temporary_permission_grants: list[TemporaryPermissionGrant] = Field(
15573
+ ...,
15574
+ description='The retrieved temporary permission grants.',
15575
+ title='Temporary Permission Grants',
15576
+ )
15577
+ has_more: bool = Field(
15578
+ ...,
15579
+ description='Whether there are more temporary permission grants to retrieve.',
15580
+ title='Has More',
15581
+ )
15582
+ continuation_token: int | None = Field(
15583
+ ...,
15584
+ description='The continuation token to use to retrieve the next set of temporary permission grants.',
15585
+ title='Continuation Token',
15586
+ )
15587
+
15588
+
15460
15589
  class ServiceCreateServiceRequest(BaseModel):
15461
15590
  service_hierarchical_state_machine_id: str = Field(
15462
15591
  ...,
@@ -15479,12 +15608,12 @@ class ServiceCreateServiceRequest(BaseModel):
15479
15608
  description='Whether the newly-created service is active. Only active services are visible to users on the dashboard. You can later adjust the activeness of this service.',
15480
15609
  title='Is Active',
15481
15610
  )
15482
- release_version_set: ServiceCreateServiceRequestVersionSet | None = Field(
15611
+ release_version_set: ServiceUpsertServiceVersionSetRequestVersionSet | None = Field(
15483
15612
  None,
15484
15613
  description='The `release` version set to use for this service. If not specified, the `release` version set will be the same as the `edge` version set, which uses the\nlatest agent and state machine versions with no model preference.',
15485
15614
  )
15486
- keyterms: list[StrippedNonemptyStringAZAZ02] | None = Field(
15487
- default_factory=list,
15615
+ keyterms: list[StrippedNonemptyStringAZAZ02] = Field(
15616
+ ...,
15488
15617
  description='A list of keyterms that are easy to get wrong during audio transcriptions that tend to occur commonly in audio sessions using this service.',
15489
15618
  max_length=20,
15490
15619
  title='Keyterms',
@@ -15494,6 +15623,12 @@ class ServiceCreateServiceRequest(BaseModel):
15494
15623
  )
15495
15624
 
15496
15625
 
15626
+ class ServiceUpsertServiceVersionSetRequest(BaseModel):
15627
+ version_set: ServiceUpsertServiceVersionSetRequestVersionSet = Field(
15628
+ ..., description='The version set to upsert.'
15629
+ )
15630
+
15631
+
15497
15632
  class SimulationCreateSimulationUnitTestRequest(BaseModel):
15498
15633
  name: str = Field(..., description='The name of the unit test.', min_length=1)
15499
15634
  description: str = Field(