amigo_sdk 0.58.0__py3-none-any.whl → 0.70.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,14 +1,22 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: <stdin>
3
- # timestamp: 2025-11-12T01:18:51+00:00
3
+ # timestamp: 2025-12-03T16:58:45+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
7
  from datetime import timedelta
8
- from enum import Enum
8
+ from enum import Enum, IntEnum
9
9
  from typing import Any, Dict, List, Literal, Optional, Union
10
10
 
11
- from pydantic import AnyUrl, AwareDatetime, BaseModel, EmailStr, Field, RootModel
11
+ from pydantic import (
12
+ AnyUrl,
13
+ AwareDatetime,
14
+ BaseModel,
15
+ ConfigDict,
16
+ EmailStr,
17
+ Field,
18
+ RootModel,
19
+ )
12
20
 
13
21
 
14
22
  class ActionTooLongEvent(BaseModel):
@@ -25,12 +33,12 @@ class ActionTooLongEvent(BaseModel):
25
33
  )
26
34
 
27
35
 
28
- class AnnotationStateInputNextState(RootModel[List]):
29
- root: List = Field(..., max_length=2, min_length=2, title='Next State')
36
+ class AnnotationStateInputNextState(RootModel[List[Any]]):
37
+ root: List[Any] = Field(..., max_length=2, min_length=2, title='Next State')
30
38
 
31
39
 
32
- class AnnotationStateOutputNextState(RootModel[List]):
33
- root: List = Field(
40
+ class AnnotationStateOutputNextState(RootModel[List[Any]]):
41
+ root: List[Any] = Field(
34
42
  ...,
35
43
  description="The state to transition to after the inner thought message is generated. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph.",
36
44
  max_length=2,
@@ -60,7 +68,7 @@ class AnnotationStateTransitionLog(BaseModel):
60
68
  description='Name of the previous state to transition from.',
61
69
  title='Previous State',
62
70
  )
63
- previous_service_hierarchical_state_machine_version_info: List = Field(
71
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
64
72
  ...,
65
73
  description='The identifier of the service hierarchical state machine that the previous state is in.',
66
74
  max_length=2,
@@ -70,7 +78,7 @@ class AnnotationStateTransitionLog(BaseModel):
70
78
  next_state: str = Field(
71
79
  ..., description='Name of the next state to transition to.', title='Next State'
72
80
  )
73
- next_service_hierarchical_state_machine_version_info: List = Field(
81
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
74
82
  ...,
75
83
  description='The identifier of the service hierarchical state machine that the next state is in.',
76
84
  max_length=2,
@@ -146,8 +154,8 @@ class ConversationByTimeMetricInput(BaseModel):
146
154
  )
147
155
 
148
156
 
149
- class ConversationByTimeMetricOutputConversationCount(RootModel[List]):
150
- root: List = Field(..., max_length=2, min_length=2)
157
+ class ConversationByTimeMetricOutputConversationCount(RootModel[List[Any]]):
158
+ root: List[Any] = Field(..., max_length=2, min_length=2)
151
159
 
152
160
 
153
161
  class ConversationByTimeMetricOutput(BaseModel):
@@ -216,7 +224,7 @@ class DynamicBehaviorInvocation(BaseModel):
216
224
  description='The IDs of the agent inner thoughts that led to the dynamic behavior invocation.',
217
225
  title='Agent Inner Thoughts Ids',
218
226
  )
219
- dynamic_behavior_set_version_info: List = Field(
227
+ dynamic_behavior_set_version_info: List[Any] = Field(
220
228
  ...,
221
229
  description='The ID and version number of the dynamic behavior set version that was activated.',
222
230
  max_length=2,
@@ -252,7 +260,7 @@ class EngageUserDynamicBehaviorOverrideEvent(BaseModel):
252
260
 
253
261
  class EngageUserInvocationMetadata(BaseModel):
254
262
  type: Literal['engage-user'] = Field('engage-user', title='Type')
255
- current_state_machine_and_version: List = Field(
263
+ current_state_machine_and_version: List[Any] = Field(
256
264
  ...,
257
265
  description='The ID and version of the state machine that is currently being executed.',
258
266
  max_length=2,
@@ -312,8 +320,8 @@ class EvaluationSourceType(Enum):
312
320
  simulation = 'simulation'
313
321
 
314
322
 
315
- class ExitConditionOutputNextState(RootModel[List]):
316
- root: List = Field(
323
+ class ExitConditionOutputNextState(RootModel[List[Any]]):
324
+ root: List[Any] = Field(
317
325
  ...,
318
326
  description="The state to transition to if this exit condition is met. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph.",
319
327
  max_length=2,
@@ -434,7 +442,7 @@ class GenerateToolParamsDesignatedToolRetrievedEvent(BaseModel):
434
442
 
435
443
  class InCondition(BaseModel):
436
444
  type: Literal['In'] = Field('In', title='Type')
437
- values: List = Field(
445
+ values: List[Any] = Field(
438
446
  ...,
439
447
  description='A list of values, one of which the attribute must be equal to. All values must be of the same type as the type of this attribute in the permission.',
440
448
  title='Values',
@@ -475,7 +483,7 @@ class JumpbackStateTransitionLog(BaseModel):
475
483
  description='Name of the previous state to transition from.',
476
484
  title='Previous State',
477
485
  )
478
- previous_service_hierarchical_state_machine_version_info: List = Field(
486
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
479
487
  ...,
480
488
  description='The identifier of the service hierarchical state machine that the previous state is in.',
481
489
  max_length=2,
@@ -485,7 +493,7 @@ class JumpbackStateTransitionLog(BaseModel):
485
493
  next_state: str = Field(
486
494
  ..., description='Name of the next state to transition to.', title='Next State'
487
495
  )
488
- next_service_hierarchical_state_machine_version_info: List = Field(
496
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
489
497
  ...,
490
498
  description='The identifier of the service hierarchical state machine that the next state is in.',
491
499
  max_length=2,
@@ -499,20 +507,7 @@ class JumpbackStateTransitionLog(BaseModel):
499
507
  )
500
508
 
501
509
 
502
- class LLMLoadBalancingSetType(Enum):
503
- o4_mini_2025_04_16 = 'o4-mini-2025-04-16'
504
- gpt_5_2025_08_07 = 'gpt-5-2025-08-07'
505
- gpt_5_mini_2025_08_07 = 'gpt-5-mini-2025-08-07'
506
- gpt_5_nano_2025_08_07 = 'gpt-5-nano-2025-08-07'
507
- claude_sonnet_4_5_20250929 = 'claude-sonnet-4-5-20250929'
508
-
509
-
510
510
  class LLMType(Enum):
511
- openai_o4_mini_2025_04_16 = 'openai_o4-mini-2025-04-16'
512
- openai_gpt_5_2025_08_07 = 'openai_gpt-5-2025-08-07'
513
- openai_gpt_5_mini_2025_08_07 = 'openai_gpt-5-mini-2025-08-07'
514
- openai_gpt_5_nano_2025_08_07 = 'openai_gpt-5-nano-2025-08-07'
515
- azure_o4_mini_2025_04_16 = 'azure_o4-mini-2025-04-16'
516
511
  azure_gpt_4_1_2025_04_14 = 'azure_gpt-4.1-2025-04-14'
517
512
  azure_gpt_4_1_mini_2025_04_14 = 'azure_gpt-4.1-mini-2025-04-14'
518
513
  azure_gpt_5_2025_08_07 = 'azure_gpt-5-2025-08-07'
@@ -520,7 +515,6 @@ class LLMType(Enum):
520
515
  azure_gpt_5_nano_2025_08_07 = 'azure_gpt-5-nano-2025-08-07'
521
516
  google_claude_sonnet_4_5_20250929 = 'google_claude-sonnet-4-5@20250929'
522
517
  aws_claude_sonnet_4_5_20250929 = 'aws_claude-sonnet-4-5-20250929'
523
- anthropic_claude_sonnet_4_5_20250929 = 'anthropic_claude-sonnet-4-5-20250929'
524
518
  google_gemini_2_5_pro = 'google_gemini-2.5-pro'
525
519
  google_gemini_2_5_flash = 'google_gemini-2.5-flash'
526
520
 
@@ -566,6 +560,14 @@ class MetricValueType(Enum):
566
560
  categorical = 'categorical'
567
561
 
568
562
 
563
+ class Model(BaseModel):
564
+ model_config = ConfigDict(
565
+ extra='allow',
566
+ )
567
+ name: str = Field(..., title='Name')
568
+ params_model_schema: Dict[str, Any] = Field(..., title='Params Model Schema')
569
+
570
+
569
571
  class NavigateStateMachineActionStateActionSelectedEvent(BaseModel):
570
572
  type: Literal['navigate-state-machine-action-state-action-selected'] = Field(
571
573
  'navigate-state-machine-action-state-action-selected', title='Type'
@@ -608,7 +610,7 @@ class NavigateStateMachineExitConditionSelectedEvent(BaseModel):
608
610
  description='The exit condition that the agent has selected.',
609
611
  title='Exit Condition',
610
612
  )
611
- next_state_state_machine_version_info: List = Field(
613
+ next_state_state_machine_version_info: List[Any] = Field(
612
614
  ...,
613
615
  description='The state machine version info of the next state.',
614
616
  max_length=2,
@@ -698,7 +700,7 @@ class NavigateStateMachineStateTransitionedEvent(BaseModel):
698
700
  'navigate-state-machine-state-transitioned', title='Type'
699
701
  )
700
702
  prev_state: str = Field(..., description='The previous state.', title='Prev State')
701
- prev_state_state_machine_version_info: List = Field(
703
+ prev_state_state_machine_version_info: List[Any] = Field(
702
704
  ...,
703
705
  description='The state machine version info of the previous state.',
704
706
  max_length=2,
@@ -706,7 +708,7 @@ class NavigateStateMachineStateTransitionedEvent(BaseModel):
706
708
  title='Prev State State Machine Version Info',
707
709
  )
708
710
  next_state: str = Field(..., description='The next state.', title='Next State')
709
- next_state_state_machine_version_info: List = Field(
711
+ next_state_state_machine_version_info: List[Any] = Field(
710
712
  ...,
711
713
  description='The state machine version info of the next state.',
712
714
  max_length=2,
@@ -785,32 +787,20 @@ class NumericalMetricValue(BaseModel):
785
787
  upper_bound: float = Field(..., title='Upper Bound')
786
788
 
787
789
 
788
- class PCMUserMessageAudioConfigSampleWidth(Enum):
790
+ class PCMUserMessageAudioConfigSampleWidth(IntEnum):
789
791
  integer_2 = 2
790
792
  integer_4 = 4
791
793
 
792
794
 
793
795
  class PCMUserMessageAudioConfig(BaseModel):
794
796
  type: Literal['pcm'] = Field('pcm', title='Type')
795
- frame_rate: int = Field(..., title='Frame Rate')
797
+ frame_rate: int = Field(..., ge=4000, le=44100, title='Frame Rate')
796
798
  n_channels: Literal[1] = Field(..., title='N Channels')
797
799
  sample_width: PCMUserMessageAudioConfigSampleWidth = Field(
798
800
  ..., title='Sample Width'
799
801
  )
800
802
 
801
803
 
802
- class PerLLMConfig(BaseModel):
803
- top_p: float = Field(..., description='The preferred `top_p` value.', title='Top P')
804
- temperature: float = Field(
805
- ..., description='The preferred temperature value.', title='Temperature'
806
- )
807
- top_k: int = Field(
808
- ...,
809
- description='The preferred `top_k` value. Note that not all LLMs support this.',
810
- title='Top K',
811
- )
812
-
813
-
814
804
  class PostAnalysisType(Enum):
815
805
  generate_user_models = 'generate-user-models'
816
806
  extract_memories = 'extract-memories'
@@ -844,8 +834,8 @@ class RecallStateInputNextState(AnnotationStateInputNextState):
844
834
  pass
845
835
 
846
836
 
847
- class RecallStateOutputNextState(RootModel[List]):
848
- root: List = Field(
837
+ class RecallStateOutputNextState(RootModel[List[Any]]):
838
+ root: List[Any] = Field(
849
839
  ...,
850
840
  description="The state to transition to after the active memory extraction is performed. If it's a string, the session will transition to a state within this contextual graph. If it's a tuple, the first element\nmust be of the form `{external_contextual_graph_reference_name}.{state_name}` and represents a state in another contextual graph that the session will transition to, and the second element must be a state\nin this contextual graph that the session will transition to after reaching the terminal state of the external graph.",
851
841
  max_length=2,
@@ -880,7 +870,7 @@ class RecallStateTransitionLog(BaseModel):
880
870
  description='Name of the previous state to transition from.',
881
871
  title='Previous State',
882
872
  )
883
- previous_service_hierarchical_state_machine_version_info: List = Field(
873
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
884
874
  ...,
885
875
  description='The identifier of the service hierarchical state machine that the previous state is in.',
886
876
  max_length=2,
@@ -890,7 +880,7 @@ class RecallStateTransitionLog(BaseModel):
890
880
  next_state: str = Field(
891
881
  ..., description='Name of the next state to transition to.', title='Next State'
892
882
  )
893
- next_service_hierarchical_state_machine_version_info: List = Field(
883
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
894
884
  ...,
895
885
  description='The identifier of the service hierarchical state machine that the next state is in.',
896
886
  max_length=2,
@@ -917,10 +907,16 @@ class ReflectionStateOutputNextState(AnnotationStateOutputNextState):
917
907
  pass
918
908
 
919
909
 
910
+ class ResultPersistence(Enum):
911
+ ephemeral = 'ephemeral'
912
+ persisted_preferred = 'persisted-preferred'
913
+ persisted = 'persisted'
914
+
915
+
920
916
  class SelectDynamicBehaviorCompletedEventSelectedDynamicBehaviorSetVersionInfo(
921
- RootModel[List]
917
+ RootModel[List[Any]]
922
918
  ):
923
- root: List = Field(
919
+ root: List[Any] = Field(
924
920
  ...,
925
921
  max_length=2,
926
922
  min_length=2,
@@ -929,9 +925,9 @@ class SelectDynamicBehaviorCompletedEventSelectedDynamicBehaviorSetVersionInfo(
929
925
 
930
926
 
931
927
  class SelectDynamicBehaviorCompletedEventPreviousSelectedDynamicBehaviorSetVersionInfo(
932
- RootModel[List]
928
+ RootModel[List[Any]]
933
929
  ):
934
- root: List = Field(
930
+ root: List[Any] = Field(
935
931
  ...,
936
932
  max_length=2,
937
933
  min_length=2,
@@ -1068,7 +1064,7 @@ class StateOrRefName(RootModel[str]):
1068
1064
 
1069
1065
  class StateTransitionInvocationMetadata(BaseModel):
1070
1066
  type: Literal['state-transition'] = Field('state-transition', title='Type')
1071
- current_state_machine_and_version: List = Field(
1067
+ current_state_machine_and_version: List[Any] = Field(
1072
1068
  ...,
1073
1069
  description='The ID and version of the state machine that is currently being executed.',
1074
1070
  max_length=2,
@@ -1153,7 +1149,11 @@ class ToolCallLog(BaseModel):
1153
1149
  input: Dict[str, Any] = Field(
1154
1150
  ..., description='The input to the tool call.', title='Input'
1155
1151
  )
1156
- output: str = Field(..., description='The output of the tool call.', title='Output')
1152
+ output: Optional[str] = Field(
1153
+ ...,
1154
+ description="The output of the tool call. If `None`, the tool call's output is ephemeral and not stored.",
1155
+ title='Output',
1156
+ )
1157
1157
  duration: float = Field(
1158
1158
  ..., description='The duration of the tool call in seconds.', title='Duration'
1159
1159
  )
@@ -1181,6 +1181,10 @@ class ToolCallSpecOutput(BaseModel):
1181
1181
  description='The number of seconds to wait before playing an audio filler.',
1182
1182
  title='Audio Filler Triggered After',
1183
1183
  )
1184
+ result_persistence: ResultPersistence = Field(
1185
+ ...,
1186
+ description="The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown.",
1187
+ )
1184
1188
 
1185
1189
 
1186
1190
  class ToolCallStartedEvent(BaseModel):
@@ -1259,7 +1263,7 @@ class ToolCallStateOutput(BaseModel):
1259
1263
 
1260
1264
  class ToolCallStateInvocationMetadata(BaseModel):
1261
1265
  type: Literal['tool-call-state'] = Field('tool-call-state', title='Type')
1262
- current_state_machine_and_version: List = Field(
1266
+ current_state_machine_and_version: List[Any] = Field(
1263
1267
  ...,
1264
1268
  description='The ID and version of the state machine that is currently being executed.',
1265
1269
  max_length=2,
@@ -1279,7 +1283,7 @@ class ToolCallStateTransitionLog(BaseModel):
1279
1283
  description='Name of the previous state to transition from.',
1280
1284
  title='Previous State',
1281
1285
  )
1282
- previous_service_hierarchical_state_machine_version_info: List = Field(
1286
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
1283
1287
  ...,
1284
1288
  description='The identifier of the service hierarchical state machine that the previous state is in.',
1285
1289
  max_length=2,
@@ -1289,7 +1293,7 @@ class ToolCallStateTransitionLog(BaseModel):
1289
1293
  next_state: str = Field(
1290
1294
  ..., description='Name of the next state to transition to.', title='Next State'
1291
1295
  )
1292
- next_service_hierarchical_state_machine_version_info: List = Field(
1296
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
1293
1297
  ...,
1294
1298
  description='The identifier of the service hierarchical state machine that the next state is in.',
1295
1299
  max_length=2,
@@ -1392,8 +1396,8 @@ class TotalMessageCountMetricOutput(BaseModel):
1392
1396
  message_count: int = Field(..., title='Message Count')
1393
1397
 
1394
1398
 
1395
- class UnitTestRunSpecScenarioVersionInfo(RootModel[List]):
1396
- root: List = Field(
1399
+ class UnitTestRunSpecScenarioVersionInfo(RootModel[List[Any]]):
1400
+ root: List[Any] = Field(
1397
1401
  ...,
1398
1402
  description='The version of the scenario that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission.',
1399
1403
  max_length=2,
@@ -1402,8 +1406,8 @@ class UnitTestRunSpecScenarioVersionInfo(RootModel[List]):
1402
1406
  )
1403
1407
 
1404
1408
 
1405
- class UnitTestRunSpecPersonaVersionInfo(RootModel[List]):
1406
- root: List = Field(
1409
+ class UnitTestRunSpecPersonaVersionInfo(RootModel[List[Any]]):
1410
+ root: List[Any] = Field(
1407
1411
  ...,
1408
1412
  description='The version of the persona that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission.',
1409
1413
  max_length=2,
@@ -1451,6 +1455,35 @@ class VersionComponent(RootModel[Union[int, str]]):
1451
1455
  root: Union[int, str]
1452
1456
 
1453
1457
 
1458
+ class VoiceResponseMP3AudioFormatSampleRate(IntEnum):
1459
+ integer_22050 = 22050
1460
+ integer_44100 = 44100
1461
+
1462
+
1463
+ class VoiceResponseMP3AudioFormatSampleWidth(IntEnum):
1464
+ integer_4 = 4
1465
+ integer_8 = 8
1466
+
1467
+
1468
+ class VoiceResponseMP3AudioFormat(BaseModel):
1469
+ type: Literal['mp3'] = Field('mp3', title='Type')
1470
+ sample_rate: VoiceResponseMP3AudioFormatSampleRate = Field(..., title='Sample Rate')
1471
+ sample_width: VoiceResponseMP3AudioFormatSampleWidth = Field(
1472
+ ..., title='Sample Width'
1473
+ )
1474
+
1475
+
1476
+ class VoiceResponsePCMAudioFormatSampleRate(IntEnum):
1477
+ integer_8000 = 8000
1478
+ integer_16000 = 16000
1479
+ integer_44100 = 44100
1480
+
1481
+
1482
+ class VoiceResponsePCMAudioFormat(BaseModel):
1483
+ type: Literal['pcm'] = Field('pcm', title='Type')
1484
+ sample_rate: VoiceResponsePCMAudioFormatSampleRate = Field(..., title='Sample Rate')
1485
+
1486
+
1454
1487
  class WebhookDeliveryStatus(Enum):
1455
1488
  success = 'success'
1456
1489
  failed = 'failed'
@@ -1509,27 +1542,8 @@ class AmigoLibLlmLlmBaseLLMConfig(BaseModel):
1509
1542
  llm_name: str = Field(
1510
1543
  ..., description='The name of the LLM to use.', title='Llm Name'
1511
1544
  )
1512
- top_p: float = Field(..., description='The preferred `top_p` value.', title='Top P')
1513
- temperature: float = Field(
1514
- ..., description='The preferred temperature value.', title='Temperature'
1515
- )
1516
- top_k: int = Field(
1517
- ...,
1518
- description='The preferred `top_k` value. Note that not all LLMs support this.',
1519
- title='Top K',
1520
- )
1521
-
1522
-
1523
- class AmigoLibLlmLlmBaseLLMLoadBalancingSetConfig(BaseModel):
1524
- llm_load_balancing_set_name: str = Field(
1525
- ...,
1526
- description='The name of the LLM load balancing set.',
1527
- title='Llm Load Balancing Set Name',
1528
- )
1529
- configs: Dict[str, PerLLMConfig] = Field(
1530
- ...,
1531
- description='A map of canonical names of LLMs in this load balancing set to the LLM config to use. If an LLM in the load balancing set\ndoes not have a config, its default config would be used.',
1532
- title='Configs',
1545
+ params: Optional[Dict[str, Any]] = Field(
1546
+ {}, description='LLM-specific parameters to use.', title='Params'
1533
1547
  )
1534
1548
 
1535
1549
 
@@ -1627,10 +1641,7 @@ class AmigoLibMongoCollectionsServiceServiceVersionSet(BaseModel):
1627
1641
  description='The version number of the state machine to be used. If None, the latest state machine version will be used.',
1628
1642
  title='Service Hierarchical State Machine Version Number',
1629
1643
  )
1630
- llm_model_preferences: Dict[
1631
- str,
1632
- Union[AmigoLibLlmLlmBaseLLMConfig, AmigoLibLlmLlmBaseLLMLoadBalancingSetConfig],
1633
- ] = Field(
1644
+ llm_model_preferences: Dict[str, AmigoLibLlmLlmBaseLLMConfig] = Field(
1634
1645
  ...,
1635
1646
  description='A map of `LLMInteraction` name to the preferred LLM config that can be used for that interaction.\nIf an `LLMInteraction` is not in this map, the default model config will be used (defined in each `LLMInteraction` instance).',
1636
1647
  title='Llm Model Preferences',
@@ -1747,6 +1758,13 @@ class AmigoLibPydanticBaseModelStrippedNonemptyString3(RootModel[str]):
1747
1758
  root: str = Field(..., max_length=3, min_length=1)
1748
1759
 
1749
1760
 
1761
+ class AdminGetModelsResponse(BaseModel):
1762
+ model_config = ConfigDict(
1763
+ extra='allow',
1764
+ )
1765
+ models: List[Model] = Field(..., title='Models')
1766
+
1767
+
1750
1768
  class AdminSubmitSqlQueryRequest(BaseModel):
1751
1769
  sql_query: str = Field(..., description='The SQL query to execute.', min_length=1)
1752
1770
  async_query: Literal[False] = Field(
@@ -1762,7 +1780,7 @@ class AdminSubmitSqlQueryResponse(BaseModel):
1762
1780
  description='The time taken to execute the query in milliseconds.',
1763
1781
  title='Execution Time Ms',
1764
1782
  )
1765
- result: List[List] = Field(
1783
+ result: List[List[Any]] = Field(
1766
1784
  ...,
1767
1785
  description='The result of the query as a list of rows, where each row is a list of column values.',
1768
1786
  title='Result',
@@ -1852,9 +1870,9 @@ class ConversationGenerateConversationStarterResponse(BaseModel):
1852
1870
 
1853
1871
 
1854
1872
  class ConversationGetInteractionInsightsResponseTriggeredDynamicBehaviorSetVersionInfo(
1855
- RootModel[List]
1873
+ RootModel[List[Any]]
1856
1874
  ):
1857
- root: List = Field(
1875
+ root: List[Any] = Field(
1858
1876
  ...,
1859
1877
  description='The ID and version number of the dynamic behavior set that was activated during this interaction.',
1860
1878
  max_length=2,
@@ -10757,19 +10775,19 @@ class OrganizationCreateServiceHierarchicalStateMachineResponse(BaseModel):
10757
10775
  )
10758
10776
 
10759
10777
 
10760
- class OrganizationCreateServiceHierarchicalStateMachineVersionRequestActionStateExitConditionNextState(
10778
+ class OrganizationCreateServiceHierarchicalStateMachineVersionRequestDecisionStateExitConditionNextState(
10761
10779
  AnnotationStateInputNextState
10762
10780
  ):
10763
10781
  pass
10764
10782
 
10765
10783
 
10766
- class OrganizationCreateServiceHierarchicalStateMachineVersionRequestActionStateExitCondition(
10784
+ class OrganizationCreateServiceHierarchicalStateMachineVersionRequestDecisionStateExitCondition(
10767
10785
  BaseModel
10768
10786
  ):
10769
10787
  description: str = Field(..., min_length=1)
10770
10788
  next_state: Union[
10771
10789
  StateOrRefName,
10772
- OrganizationCreateServiceHierarchicalStateMachineVersionRequestActionStateExitConditionNextState,
10790
+ OrganizationCreateServiceHierarchicalStateMachineVersionRequestDecisionStateExitConditionNextState,
10773
10791
  ] = Field(..., title='Next State')
10774
10792
 
10775
10793
 
@@ -10933,9 +10951,11 @@ class RoleModifyRoleResponse(BaseModel):
10933
10951
  )
10934
10952
 
10935
10953
 
10936
- class ServiceCreateServiceRequestVersionSetLLMLoadBalancingSetConfig(BaseModel):
10937
- llm_load_balancing_set_name: LLMLoadBalancingSetType
10938
- configs: Dict[str, PerLLMConfig] = Field(..., title='Configs')
10954
+ class ServiceCreateServiceRequestVersionSetLLMConfig(BaseModel):
10955
+ llm_name: LLMType
10956
+ params: Optional[Dict[str, Any]] = Field(
10957
+ {}, description='LLM-specific parameters to use.', title='Params'
10958
+ )
10939
10959
 
10940
10960
 
10941
10961
  class ServiceCreateServiceResponse(BaseModel):
@@ -10997,16 +11017,19 @@ class ServiceUpdateServiceRequest(BaseModel):
10997
11017
  )
10998
11018
 
10999
11019
 
11000
- class ServiceUpsertServiceVersionSetRequestVersionSetLLMConfig(BaseModel):
11001
- llm_name: LLMType
11002
- top_p: float = Field(..., description='The preferred `top_p` value.', title='Top P')
11003
- temperature: float = Field(
11004
- ..., description='The preferred temperature value.', title='Temperature'
11020
+ class ServiceUpsertServiceVersionSetRequestVersionSet(BaseModel):
11021
+ agent_version_number: Optional[int] = Field(
11022
+ ...,
11023
+ description='The version number of the agent to be used. If None, the latest agent version will be used.',
11024
+ title='Agent Version Number',
11005
11025
  )
11006
- top_k: int = Field(
11026
+ service_hierarchical_state_machine_version_number: Optional[int] = Field(
11007
11027
  ...,
11008
- description='The preferred `top_k` value. Note that not all LLMs support this.',
11009
- title='Top K',
11028
+ description='The version number of the state machine to be used. If None, the latest state machine version will be used.',
11029
+ title='Service Hierarchical State Machine Version Number',
11030
+ )
11031
+ llm_model_preferences: Dict[str, ServiceCreateServiceRequestVersionSetLLMConfig] = (
11032
+ Field(..., title='Llm Model Preferences')
11010
11033
  )
11011
11034
 
11012
11035
 
@@ -11228,6 +11251,37 @@ class SimulationGetSimulationScenariosResponseFilterValues(BaseModel):
11228
11251
  )
11229
11252
 
11230
11253
 
11254
+ class SimulationGetSimulationScenariosResponseSimulationScenarioInstance(BaseModel):
11255
+ id: str = Field(..., description='The ID of the simulation scenario.', title='Id')
11256
+ name: str = Field(
11257
+ ..., description='The name of the simulation scenario.', title='Name'
11258
+ )
11259
+ tags: Dict[str, Optional[str]] = Field(
11260
+ ..., description='The tags of the simulation scenario.', title='Tags'
11261
+ )
11262
+ is_deleted: bool = Field(
11263
+ ...,
11264
+ description='Whether the simulation scenario is deleted.',
11265
+ title='Is Deleted',
11266
+ )
11267
+ created_at: AwareDatetime = Field(
11268
+ ...,
11269
+ description='The timestamp when the simulation scenario was created.',
11270
+ title='Created At',
11271
+ )
11272
+ creator: AmigoLibMongoCollectionsSimulationScenarioSimulationScenarioUserInfo = (
11273
+ Field(..., description='The user who created the simulation scenario.')
11274
+ )
11275
+ updated_at: AwareDatetime = Field(
11276
+ ...,
11277
+ description='The timestamp when the simulation scenario was last updated.',
11278
+ title='Updated At',
11279
+ )
11280
+ updated_by: AmigoLibMongoCollectionsSimulationScenarioSimulationScenarioUserInfo = (
11281
+ Field(..., description='The user who last updated the simulation scenario.')
11282
+ )
11283
+
11284
+
11231
11285
  class SimulationGetSimulationUnitTestSetRunArtifactsResponse(BaseModel):
11232
11286
  presigned_url: str = Field(
11233
11287
  ...,
@@ -11350,34 +11404,13 @@ class SimulationSearchSimulationPersonasResponseSimulationPersonaInstance(BaseMo
11350
11404
  )
11351
11405
 
11352
11406
 
11353
- class SimulationSearchSimulationScenariosResponseSimulationScenarioInstance(BaseModel):
11354
- id: str = Field(..., description='The ID of the simulation scenario.', title='Id')
11355
- name: str = Field(
11356
- ..., description='The name of the simulation scenario.', title='Name'
11357
- )
11358
- tags: Dict[str, Optional[str]] = Field(
11359
- ..., description='The tags of the simulation scenario.', title='Tags'
11360
- )
11361
- is_deleted: bool = Field(
11362
- ...,
11363
- description='Whether the simulation scenario is deleted.',
11364
- title='Is Deleted',
11365
- )
11366
- created_at: AwareDatetime = Field(
11367
- ...,
11368
- description='The timestamp when the simulation scenario was created.',
11369
- title='Created At',
11370
- )
11371
- creator: AmigoLibMongoCollectionsSimulationScenarioSimulationScenarioUserInfo = (
11372
- Field(..., description='The user who created the simulation scenario.')
11373
- )
11374
- updated_at: AwareDatetime = Field(
11407
+ class SimulationSearchSimulationScenariosResponse(BaseModel):
11408
+ simulation_scenarios: List[
11409
+ SimulationGetSimulationScenariosResponseSimulationScenarioInstance
11410
+ ] = Field(
11375
11411
  ...,
11376
- description='The timestamp when the simulation scenario was last updated.',
11377
- title='Updated At',
11378
- )
11379
- updated_by: AmigoLibMongoCollectionsSimulationScenarioSimulationScenarioUserInfo = (
11380
- Field(..., description='The user who last updated the simulation scenario.')
11412
+ description='The list of simulation scenarios.',
11413
+ title='Simulation Scenarios',
11381
11414
  )
11382
11415
 
11383
11416
 
@@ -11706,14 +11739,6 @@ class UserSignInWithEmailRequest(BaseModel):
11706
11739
  )
11707
11740
 
11708
11741
 
11709
- class UserSignInWithEmailResponse(BaseModel):
11710
- user_id: str = Field(
11711
- ...,
11712
- description='The identifier of the user corresponding to the email.',
11713
- title='User Id',
11714
- )
11715
-
11716
-
11717
11742
  class UserUpdateUserInfoRequest(BaseModel):
11718
11743
  first_name: Optional[AmigoLibPydanticBaseModelStrippedNonemptyString1] = Field(
11719
11744
  None,
@@ -12046,24 +12071,6 @@ class CreateConversationParametersQueryAudioFormat(Enum):
12046
12071
  pcm = 'pcm'
12047
12072
 
12048
12073
 
12049
- class CreateConversationParametersQuery(BaseModel):
12050
- response_format: Format = Field(
12051
- ...,
12052
- description='The format of the response that will be sent to the user.',
12053
- title='Response Format',
12054
- )
12055
- current_agent_action_type: Optional[str] = Field(
12056
- '^.*$',
12057
- description="A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`.",
12058
- title='Current Agent Action Type',
12059
- )
12060
- audio_format: Optional[CreateConversationParametersQueryAudioFormat] = Field(
12061
- None,
12062
- description='The format of the audio response, if `response_format` is set to `voice`.',
12063
- title='Audio Format',
12064
- )
12065
-
12066
-
12067
12074
  class GetConversationsParametersQueryServiceIdItem(
12068
12075
  DynamicBehaviorSetCreateDynamicBehaviorSetRequestAppliedToService
12069
12076
  ):
@@ -12159,34 +12166,106 @@ class GetConversationMessagesParametersQuery(BaseModel):
12159
12166
  )
12160
12167
 
12161
12168
 
12162
- class InteractWithConversationParametersQuery(BaseModel):
12163
- request_format: Format = Field(
12164
- ...,
12165
- description='The format in which the user message is delivered to the server.',
12166
- title='Request Format',
12169
+ class InteractWithConversationRequestInteractWithConversationRequestExternalEventMessageContent(
12170
+ AmigoLibPydanticBaseModelStrippedNonemptyString1
12171
+ ):
12172
+ pass
12173
+
12174
+
12175
+ class InteractWithConversationRequestInteractWithConversationRequest(BaseModel):
12176
+ initial_message_type: Literal['external-event'] = Field(
12177
+ ..., title='Initial Message Type'
12167
12178
  )
12168
- response_format: Format = Field(
12169
- ...,
12170
- description='The format of the response that will be sent to the user.',
12171
- title='Response Format',
12179
+ recorded_message: str = Field(..., min_length=1)
12180
+ external_event_message_contents: Optional[
12181
+ List[
12182
+ InteractWithConversationRequestInteractWithConversationRequestExternalEventMessageContent
12183
+ ]
12184
+ ] = Field(
12185
+ [],
12186
+ description='The contents of external event messages to be inserted before the initial message, in chronological order.',
12187
+ title='External Event Message Contents',
12172
12188
  )
12173
- current_agent_action_type: Optional[str] = Field(
12174
- '^.*$',
12175
- description="A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`.",
12176
- title='Current Agent Action Type',
12189
+ external_event_message_timestamps: Optional[List[AwareDatetime]] = Field(
12190
+ [],
12191
+ description='The timestamps of external event messages to be inserted before the initial message, in chronological order.',
12192
+ title='External Event Message Timestamps',
12177
12193
  )
12178
- request_audio_config: Optional[
12179
- Union[MP3UserMessageAudioConfig, PCMUserMessageAudioConfig]
12194
+
12195
+
12196
+ class InteractWithConversationRequestInteractWithConversationRequest1ExternalEventMessageContent(
12197
+ AmigoLibPydanticBaseModelStrippedNonemptyString1
12198
+ ):
12199
+ pass
12200
+
12201
+
12202
+ class InteractWithConversationRequest_InteractWithConversationRequest(BaseModel):
12203
+ initial_message_type: Literal['user-message'] = Field(
12204
+ ..., title='Initial Message Type'
12205
+ )
12206
+ recorded_message: str = Field(..., min_length=1)
12207
+ external_event_message_contents: Optional[
12208
+ List[
12209
+ InteractWithConversationRequestInteractWithConversationRequest1ExternalEventMessageContent
12210
+ ]
12180
12211
  ] = Field(
12181
- None,
12182
- description='Configuration for the user message audio. This is only required if `request_format` is set to `voice`.',
12183
- title='Request Audio Config',
12212
+ [],
12213
+ description='The contents of external event messages to be inserted before the initial message, in chronological order.',
12214
+ title='External Event Message Contents',
12184
12215
  )
12185
- audio_format: Optional[CreateConversationParametersQueryAudioFormat] = Field(
12186
- None,
12187
- description='The format of the audio response, if `response_format` is set to `voice`.',
12188
- title='Audio Format',
12216
+ external_event_message_timestamps: Optional[List[AwareDatetime]] = Field(
12217
+ [],
12218
+ description='The timestamps of external event messages to be inserted before the initial message, in chronological order.',
12219
+ title='External Event Message Timestamps',
12220
+ )
12221
+
12222
+
12223
+ class InteractWithConversationRequestInteractWithConversationRequest2ExternalEventMessageContent(
12224
+ AmigoLibPydanticBaseModelStrippedNonemptyString1
12225
+ ):
12226
+ pass
12227
+
12228
+
12229
+ class InteractWithConversationRequestInteractWithConversationRequest2(BaseModel):
12230
+ initial_message_type: Literal['skip'] = Field(..., title='Initial Message Type')
12231
+ recorded_message: str = Field(
12232
+ ...,
12233
+ description='The body of the initial message, which must be empty.',
12234
+ max_length=0,
12235
+ title='Recorded Message',
12236
+ )
12237
+ external_event_message_contents: Optional[
12238
+ List[
12239
+ InteractWithConversationRequestInteractWithConversationRequest2ExternalEventMessageContent
12240
+ ]
12241
+ ] = Field(
12242
+ [],
12243
+ description='Must be empty, as external event messages cannot be sent with skips.',
12244
+ max_length=0,
12245
+ title='External Event Message Contents',
12189
12246
  )
12247
+ external_event_message_timestamps: Optional[List[AwareDatetime]] = Field(
12248
+ [],
12249
+ description='Must be empty, as external event messages cannot be sent with skips.',
12250
+ max_length=0,
12251
+ title='External Event Message Timestamps',
12252
+ )
12253
+
12254
+
12255
+ class InteractWithConversationRequest(
12256
+ RootModel[
12257
+ Union[
12258
+ InteractWithConversationRequestInteractWithConversationRequest,
12259
+ InteractWithConversationRequest_InteractWithConversationRequest,
12260
+ InteractWithConversationRequestInteractWithConversationRequest2,
12261
+ ]
12262
+ ]
12263
+ ):
12264
+ root: Union[
12265
+ InteractWithConversationRequestInteractWithConversationRequest,
12266
+ InteractWithConversationRequest_InteractWithConversationRequest,
12267
+ InteractWithConversationRequestInteractWithConversationRequest2,
12268
+ ]
12190
12269
 
12191
12270
 
12192
12271
  class RetrieveMessageSourceParametersQuery(BaseModel):
@@ -12271,6 +12350,9 @@ class SearchUsersParametersQuery(BaseModel):
12271
12350
  description='The search query. Any users whose name or email contains the query are returned.',
12272
12351
  title='Query',
12273
12352
  )
12353
+ user_id: Optional[List[str]] = Field(
12354
+ [], description='The IDs of the users.', title='User Id'
12355
+ )
12274
12356
 
12275
12357
 
12276
12358
  class GetRolesV1OrganizationRoleGetParametersQueryIdItem(
@@ -13499,7 +13581,7 @@ class ActionStateTransitionLog(BaseModel):
13499
13581
  description='Name of the previous state to transition from.',
13500
13582
  title='Previous State',
13501
13583
  )
13502
- previous_service_hierarchical_state_machine_version_info: List = Field(
13584
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
13503
13585
  ...,
13504
13586
  description='The identifier of the service hierarchical state machine that the previous state is in.',
13505
13587
  max_length=2,
@@ -13509,7 +13591,7 @@ class ActionStateTransitionLog(BaseModel):
13509
13591
  next_state: str = Field(
13510
13592
  ..., description='Name of the next state to transition to.', title='Next State'
13511
13593
  )
13512
- next_service_hierarchical_state_machine_version_info: List = Field(
13594
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
13513
13595
  ...,
13514
13596
  description='The identifier of the service hierarchical state machine that the next state is in.',
13515
13597
  max_length=2,
@@ -13597,7 +13679,7 @@ class DecisionStateTransitionLog(BaseModel):
13597
13679
  description='Name of the previous state to transition from.',
13598
13680
  title='Previous State',
13599
13681
  )
13600
- previous_service_hierarchical_state_machine_version_info: List = Field(
13682
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
13601
13683
  ...,
13602
13684
  description='The identifier of the service hierarchical state machine that the previous state is in.',
13603
13685
  max_length=2,
@@ -13607,7 +13689,7 @@ class DecisionStateTransitionLog(BaseModel):
13607
13689
  next_state: str = Field(
13608
13690
  ..., description='Name of the next state to transition to.', title='Next State'
13609
13691
  )
13610
- next_service_hierarchical_state_machine_version_info: List = Field(
13692
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
13611
13693
  ...,
13612
13694
  description='The identifier of the service hierarchical state machine that the next state is in.',
13613
13695
  max_length=2,
@@ -13780,7 +13862,7 @@ class ReflectionStateTransitionLog(BaseModel):
13780
13862
  description='Name of the previous state to transition from.',
13781
13863
  title='Previous State',
13782
13864
  )
13783
- previous_service_hierarchical_state_machine_version_info: List = Field(
13865
+ previous_service_hierarchical_state_machine_version_info: List[Any] = Field(
13784
13866
  ...,
13785
13867
  description='The identifier of the service hierarchical state machine that the previous state is in.',
13786
13868
  max_length=2,
@@ -13790,7 +13872,7 @@ class ReflectionStateTransitionLog(BaseModel):
13790
13872
  next_state: str = Field(
13791
13873
  ..., description='Name of the next state to transition to.', title='Next State'
13792
13874
  )
13793
- next_service_hierarchical_state_machine_version_info: List = Field(
13875
+ next_service_hierarchical_state_machine_version_info: List[Any] = Field(
13794
13876
  ...,
13795
13877
  description='The identifier of the service hierarchical state machine that the next state is in.',
13796
13878
  max_length=2,
@@ -14011,6 +14093,10 @@ class ToolCallSpecInput(BaseModel):
14011
14093
  le=10.0,
14012
14094
  title='Audio Filler Triggered After',
14013
14095
  )
14096
+ result_persistence: ResultPersistence = Field(
14097
+ ...,
14098
+ description="The type of result persistence for this tool call.\n\n- If `ephemeral`, the result of the tool call is only provided to the current LLM interaction. Any future LLM interactions will not see this tool result.\n- If `persisted-preferred`, the result of the tool call is reflected in all future LLM interactions if it's less than 5000 characters long. Otherwise, it's only visible in the current LLM interaction.\n- If `persisted`, the result of the tool call is reflected in all future LLM interactions, unless it's more than 5000 characters long, in which case an error is thrown.",
14099
+ )
14014
14100
 
14015
14101
 
14016
14102
  class ToolCallStateInput(BaseModel):
@@ -14164,24 +14250,21 @@ class VersionSetInfo(BaseModel):
14164
14250
  description='The name of the version set. If the value is `unknown`, it means the conversation was created before this field was introduced and the version set name cannot be retroactively determined.',
14165
14251
  title='Name',
14166
14252
  )
14167
- agent_version_info: List = Field(
14253
+ agent_version_info: List[Any] = Field(
14168
14254
  ...,
14169
14255
  description='The ID of the agent and version number used in this conversation.',
14170
14256
  max_length=2,
14171
14257
  min_length=2,
14172
14258
  title='Agent Version Info',
14173
14259
  )
14174
- service_hierarchical_state_machine_version_info: List = Field(
14260
+ service_hierarchical_state_machine_version_info: List[Any] = Field(
14175
14261
  ...,
14176
14262
  description='The ID of the state machine and version number used in this conversation.',
14177
14263
  max_length=2,
14178
14264
  min_length=2,
14179
14265
  title='Service Hierarchical State Machine Version Info',
14180
14266
  )
14181
- llm_model_preferences: Dict[
14182
- str,
14183
- Union[AmigoLibLlmLlmBaseLLMConfig, AmigoLibLlmLlmBaseLLMLoadBalancingSetConfig],
14184
- ] = Field(
14267
+ llm_model_preferences: Dict[str, AmigoLibLlmLlmBaseLLMConfig] = Field(
14185
14268
  ...,
14186
14269
  description='The LLM model preferences for this version set.',
14187
14270
  title='Llm Model Preferences',
@@ -14734,24 +14817,37 @@ class RoleModifyRoleRequest(BaseModel):
14734
14817
  )
14735
14818
 
14736
14819
 
14737
- class ServiceCreateServiceRequestVersionSet(BaseModel):
14738
- agent_version_number: Optional[int] = Field(
14820
+ class ServiceCreateServiceRequest(BaseModel):
14821
+ service_hierarchical_state_machine_id: str = Field(
14739
14822
  ...,
14740
- description='The version number of the agent to be used. If None, the latest agent version will be used.',
14741
- title='Agent Version Number',
14823
+ description='The ID of the state machine that this service uses.',
14824
+ pattern='^[a-f0-9]{24}$',
14825
+ title='Service Hierarchical State Machine Id',
14742
14826
  )
14743
- service_hierarchical_state_machine_version_number: Optional[int] = Field(
14827
+ agent_id: str = Field(
14744
14828
  ...,
14745
- description='The version number of the state machine to be used. If None, the latest state machine version will be used.',
14746
- title='Service Hierarchical State Machine Version Number',
14829
+ description='The ID of the agent that this service uses.',
14830
+ pattern='^[a-f0-9]{24}$',
14831
+ title='Agent Id',
14832
+ )
14833
+ name: str = Field(..., description='The name of this service.', min_length=1)
14834
+ description: str = Field(
14835
+ ..., description='A description of this service.', min_length=1
14836
+ )
14837
+ is_active: bool = Field(
14838
+ ...,
14839
+ 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.',
14840
+ title='Is Active',
14841
+ )
14842
+ release_version_set: Optional[ServiceUpsertServiceVersionSetRequestVersionSet] = (
14843
+ Field(
14844
+ None,
14845
+ 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.',
14846
+ )
14847
+ )
14848
+ tags: Dict[str, Optional[StrippedNonemptyStringWS]] = Field(
14849
+ ..., description='The tags of this service.', title='Tags'
14747
14850
  )
14748
- llm_model_preferences: Dict[
14749
- str,
14750
- Union[
14751
- ServiceUpsertServiceVersionSetRequestVersionSetLLMConfig,
14752
- ServiceCreateServiceRequestVersionSetLLMLoadBalancingSetConfig,
14753
- ],
14754
- ] = Field(..., title='Llm Model Preferences')
14755
14851
 
14756
14852
 
14757
14853
  class ServiceGetServicesResponse(BaseModel):
@@ -14775,7 +14871,7 @@ class ServiceGetServicesResponse(BaseModel):
14775
14871
 
14776
14872
 
14777
14873
  class ServiceUpsertServiceVersionSetRequest(BaseModel):
14778
- version_set: ServiceCreateServiceRequestVersionSet = Field(
14874
+ version_set: ServiceUpsertServiceVersionSetRequestVersionSet = Field(
14779
14875
  ..., description='The version set to upsert.'
14780
14876
  )
14781
14877
 
@@ -14867,7 +14963,7 @@ class SimulationGetSimulationPersonasResponse(BaseModel):
14867
14963
 
14868
14964
  class SimulationGetSimulationScenariosResponse(BaseModel):
14869
14965
  simulation_scenarios: List[
14870
- SimulationSearchSimulationScenariosResponseSimulationScenarioInstance
14966
+ SimulationGetSimulationScenariosResponseSimulationScenarioInstance
14871
14967
  ] = Field(
14872
14968
  ...,
14873
14969
  description='The list of simulation scenarios.',
@@ -14923,16 +15019,6 @@ class SimulationSearchSimulationPersonasResponse(BaseModel):
14923
15019
  )
14924
15020
 
14925
15021
 
14926
- class SimulationSearchSimulationScenariosResponse(BaseModel):
14927
- simulation_scenarios: List[
14928
- SimulationSearchSimulationScenariosResponseSimulationScenarioInstance
14929
- ] = Field(
14930
- ...,
14931
- description='The list of simulation scenarios.',
14932
- title='Simulation Scenarios',
14933
- )
14934
-
14935
-
14936
15022
  class SimulationSearchSimulationUnitTestSetResponse(BaseModel):
14937
15023
  simulation_unit_test_sets: List[SimulationUnitTestSet] = Field(
14938
15024
  ...,
@@ -15089,6 +15175,68 @@ class WebhookDestinationGetWebhookDeliveriesResponse(BaseModel):
15089
15175
  )
15090
15176
 
15091
15177
 
15178
+ class CreateConversationParametersQuery(BaseModel):
15179
+ response_format: Format = Field(
15180
+ ...,
15181
+ description='The format of the response that will be sent to the user.',
15182
+ title='Response Format',
15183
+ )
15184
+ current_agent_action_type: Optional[str] = Field(
15185
+ '^.*$',
15186
+ description="A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`.",
15187
+ title='Current Agent Action Type',
15188
+ )
15189
+ audio_format: Optional[CreateConversationParametersQueryAudioFormat] = Field(
15190
+ None,
15191
+ description='The format of the audio response, if `response_format` is set to `voice`.',
15192
+ title='Audio Format',
15193
+ )
15194
+ response_audio_format: Optional[
15195
+ Union[VoiceResponsePCMAudioFormat, VoiceResponseMP3AudioFormat]
15196
+ ] = Field(
15197
+ None,
15198
+ description='The format of the audio response, if `response_format` is set to `voice`.',
15199
+ title='Response Audio Format',
15200
+ )
15201
+
15202
+
15203
+ class InteractWithConversationParametersQuery(BaseModel):
15204
+ request_format: Format = Field(
15205
+ ...,
15206
+ description='The format in which the user message is delivered to the server.',
15207
+ title='Request Format',
15208
+ )
15209
+ response_format: Format = Field(
15210
+ ...,
15211
+ description='The format of the response that will be sent to the user.',
15212
+ title='Response Format',
15213
+ )
15214
+ current_agent_action_type: Optional[str] = Field(
15215
+ '^.*$',
15216
+ description="A regex for filtering the type of the current agent action to return. By default, all are returned. If you don't want to receive any events, set this to a regex that matches nothing, for instance `^$`.",
15217
+ title='Current Agent Action Type',
15218
+ )
15219
+ request_audio_config: Optional[
15220
+ Union[MP3UserMessageAudioConfig, PCMUserMessageAudioConfig]
15221
+ ] = Field(
15222
+ None,
15223
+ description='Configuration for the user message audio. This is only required if `request_format` is set to `voice`.',
15224
+ title='Request Audio Config',
15225
+ )
15226
+ audio_format: Optional[CreateConversationParametersQueryAudioFormat] = Field(
15227
+ None,
15228
+ description='The format of the audio response, if `response_format` is set to `voice`.',
15229
+ title='Audio Format',
15230
+ )
15231
+ response_audio_format: Optional[
15232
+ Union[VoiceResponsePCMAudioFormat, VoiceResponseMP3AudioFormat]
15233
+ ] = Field(
15234
+ None,
15235
+ description='The format of the audio response, if `response_format` is set to `voice`.',
15236
+ title='Response Audio Format',
15237
+ )
15238
+
15239
+
15092
15240
  class ActionStateInput(BaseModel):
15093
15241
  type: Literal['action'] = Field(..., title='Type')
15094
15242
  name: str = Field(..., pattern='^[A-Za-z0-9_]+$')
@@ -15106,7 +15254,7 @@ class ActionStateInput(BaseModel):
15106
15254
  Field(..., title='Boundary Constraints')
15107
15255
  )
15108
15256
  exit_conditions: List[
15109
- OrganizationCreateServiceHierarchicalStateMachineVersionRequestActionStateExitCondition
15257
+ OrganizationCreateServiceHierarchicalStateMachineVersionRequestDecisionStateExitCondition
15110
15258
  ] = Field(..., title='Exit Conditions')
15111
15259
  action_tool_call_specs: List[ToolCallSpecInput] = Field(
15112
15260
  ..., title='Action Tool Call Specs'
@@ -15215,7 +15363,7 @@ class DecisionStateInput(BaseModel):
15215
15363
  type: Literal['decision'] = Field(..., title='Type')
15216
15364
  name: str = Field(..., pattern='^[A-Za-z0-9_]+$')
15217
15365
  exit_conditions: List[
15218
- OrganizationCreateServiceHierarchicalStateMachineVersionRequestActionStateExitCondition
15366
+ OrganizationCreateServiceHierarchicalStateMachineVersionRequestDecisionStateExitCondition
15219
15367
  ] = Field(..., title='Exit Conditions')
15220
15368
  decision_guidelines: List[AmigoLibPydanticBaseModelStrippedNonemptyString1] = Field(
15221
15369
  ..., title='Decision Guidelines'
@@ -15466,7 +15614,7 @@ class ServiceHierarchicalStateMachineInstance(BaseModel):
15466
15614
  description='The state the user will be in when the session ends. This must be an action state.',
15467
15615
  title='Terminal State',
15468
15616
  )
15469
- references: Dict[str, List] = Field(
15617
+ references: Dict[str, List[Any]] = Field(
15470
15618
  ...,
15471
15619
  description="A dictionary of other service hierarchical state machine versions that this references to. This field is a map of the reference name to the machine's ID and its version number.",
15472
15620
  title='References',
@@ -15587,14 +15735,14 @@ class UnitTestRunSpec(BaseModel):
15587
15735
  run_count: int = Field(
15588
15736
  ..., description='The number of times to run the unit test.', title='Run Count'
15589
15737
  )
15590
- service_hierarchical_state_machine_version_info: List = Field(
15738
+ service_hierarchical_state_machine_version_info: List[Any] = Field(
15591
15739
  ...,
15592
15740
  description='The version of the service hierarchical state machine that the unit test runs on.',
15593
15741
  max_length=2,
15594
15742
  min_length=2,
15595
15743
  title='Service Hierarchical State Machine Version Info',
15596
15744
  )
15597
- agent_version_info: List = Field(
15745
+ agent_version_info: List[Any] = Field(
15598
15746
  ...,
15599
15747
  description='The version of the agent that the unit test runs on.',
15600
15748
  max_length=2,
@@ -15611,10 +15759,7 @@ class UnitTestRunSpec(BaseModel):
15611
15759
  description='The version of the persona that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission.',
15612
15760
  title='Persona Version Info',
15613
15761
  )
15614
- llm_model_preferences: Dict[
15615
- str,
15616
- Union[AmigoLibLlmLlmBaseLLMConfig, AmigoLibLlmLlmBaseLLMLoadBalancingSetConfig],
15617
- ] = Field(
15762
+ llm_model_preferences: Dict[str, AmigoLibLlmLlmBaseLLMConfig] = Field(
15618
15763
  ...,
15619
15764
  description='The LLM model preferences for the unit test run.',
15620
15765
  title='Llm Model Preferences',
@@ -15804,7 +15949,7 @@ class OrganizationCreateServiceHierarchicalStateMachineVersionRequest(BaseModel)
15804
15949
  description='The state the user will be in when the session ends. This must be an action state, and must be an internal state.',
15805
15950
  pattern='^[A-Za-z0-9_]+$',
15806
15951
  )
15807
- references: Dict[str, List] = Field(
15952
+ references: Dict[str, List[Any]] = Field(
15808
15953
  ...,
15809
15954
  description="A dictionary of other service hierarchical state machines that this references to. This field is a map of the reference name to the machine's ID and its version number.",
15810
15955
  title='References',
@@ -15902,37 +16047,6 @@ class RoleGetRolesResponse(BaseModel):
15902
16047
  )
15903
16048
 
15904
16049
 
15905
- class ServiceCreateServiceRequest(BaseModel):
15906
- service_hierarchical_state_machine_id: str = Field(
15907
- ...,
15908
- description='The ID of the state machine that this service uses.',
15909
- pattern='^[a-f0-9]{24}$',
15910
- title='Service Hierarchical State Machine Id',
15911
- )
15912
- agent_id: str = Field(
15913
- ...,
15914
- description='The ID of the agent that this service uses.',
15915
- pattern='^[a-f0-9]{24}$',
15916
- title='Agent Id',
15917
- )
15918
- name: str = Field(..., description='The name of this service.', min_length=1)
15919
- description: str = Field(
15920
- ..., description='A description of this service.', min_length=1
15921
- )
15922
- is_active: bool = Field(
15923
- ...,
15924
- 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.',
15925
- title='Is Active',
15926
- )
15927
- release_version_set: Optional[ServiceCreateServiceRequestVersionSet] = Field(
15928
- None,
15929
- 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.',
15930
- )
15931
- tags: Dict[str, Optional[StrippedNonemptyStringWS]] = Field(
15932
- ..., description='The tags of this service.', title='Tags'
15933
- )
15934
-
15935
-
15936
16050
  class SimulationCreateSimulationUnitTestRequest(BaseModel):
15937
16051
  name: str = Field(..., description='The name of the unit test.', min_length=1)
15938
16052
  description: str = Field(
@@ -16066,7 +16180,7 @@ class SimulationUpdateSimulationUnitTestRequest(BaseModel):
16066
16180
  )
16067
16181
 
16068
16182
 
16069
- class ToolSearchToolInvocationsResponseToolInvocationInstance(BaseModel):
16183
+ class ToolGetToolInvocationsResponseToolInvocationInstance(BaseModel):
16070
16184
  id: str = Field(..., description='The ID of the tool invocation.', title='Id')
16071
16185
  org_id: str = Field(..., description='The ID of the organization.', title='Org Id')
16072
16186
  created_at: Optional[AwareDatetime] = Field(None, title='Created At')
@@ -16093,6 +16207,14 @@ class ToolSearchToolInvocationsResponseToolInvocationInstance(BaseModel):
16093
16207
  )
16094
16208
 
16095
16209
 
16210
+ class ToolSearchToolInvocationsResponse(BaseModel):
16211
+ tool_invocations: List[ToolGetToolInvocationsResponseToolInvocationInstance] = (
16212
+ Field(
16213
+ ..., description='The list of tool invocations.', title='Tool Invocations'
16214
+ )
16215
+ )
16216
+
16217
+
16096
16218
  class UserGetUsersResponse(BaseModel):
16097
16219
  users: List[UserSearchUsersResponseUserInstance] = Field(
16098
16220
  ..., description='Users in this organization.', title='Users'
@@ -16212,7 +16334,7 @@ class SimulationGetSimulationUnitTestSetRunsResponse(BaseModel):
16212
16334
 
16213
16335
 
16214
16336
  class ToolGetToolInvocationsResponse(BaseModel):
16215
- tool_invocations: List[ToolSearchToolInvocationsResponseToolInvocationInstance] = (
16337
+ tool_invocations: List[ToolGetToolInvocationsResponseToolInvocationInstance] = (
16216
16338
  Field(
16217
16339
  ..., description='The list of tool invocations.', title='Tool Invocations'
16218
16340
  )
@@ -16227,11 +16349,3 @@ class ToolGetToolInvocationsResponse(BaseModel):
16227
16349
  description='The continuation token to retrieve the next page of tool invocations, or null if there are no more tool invocations.',
16228
16350
  title='Continuation Token',
16229
16351
  )
16230
-
16231
-
16232
- class ToolSearchToolInvocationsResponse(BaseModel):
16233
- tool_invocations: List[ToolSearchToolInvocationsResponseToolInvocationInstance] = (
16234
- Field(
16235
- ..., description='The list of tool invocations.', title='Tool Invocations'
16236
- )
16237
- )