retell-sdk 6.0.0 → 6.1.0
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.
- package/CHANGELOG.md +20 -0
- package/client.d.mts +2 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +2 -2
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/agent.d.mts +3222 -526
- package/resources/agent.d.mts.map +1 -1
- package/resources/agent.d.ts +3222 -526
- package/resources/agent.d.ts.map +1 -1
- package/resources/app.d.mts +122 -5
- package/resources/app.d.mts.map +1 -1
- package/resources/app.d.ts +122 -5
- package/resources/app.d.ts.map +1 -1
- package/resources/app.js +17 -1
- package/resources/app.js.map +1 -1
- package/resources/app.mjs +17 -1
- package/resources/app.mjs.map +1 -1
- package/resources/batch-call.d.mts +912 -13
- package/resources/batch-call.d.mts.map +1 -1
- package/resources/batch-call.d.ts +912 -13
- package/resources/batch-call.d.ts.map +1 -1
- package/resources/call.d.mts +7843 -3792
- package/resources/call.d.mts.map +1 -1
- package/resources/call.d.ts +7843 -3792
- package/resources/call.d.ts.map +1 -1
- package/resources/call.js +1 -1
- package/resources/call.mjs +1 -1
- package/resources/chat-agent.d.mts +3125 -453
- package/resources/chat-agent.d.mts.map +1 -1
- package/resources/chat-agent.d.ts +3125 -453
- package/resources/chat-agent.d.ts.map +1 -1
- package/resources/chat.d.mts +892 -26
- package/resources/chat.d.mts.map +1 -1
- package/resources/chat.d.ts +892 -26
- package/resources/chat.d.ts.map +1 -1
- package/resources/contact.d.mts +162 -20
- package/resources/contact.d.mts.map +1 -1
- package/resources/contact.d.ts +162 -20
- package/resources/contact.d.ts.map +1 -1
- package/resources/contact.js +98 -4
- package/resources/contact.js.map +1 -1
- package/resources/contact.mjs +98 -4
- package/resources/contact.mjs.map +1 -1
- package/resources/conversation-flow-component.d.mts +3282 -243
- package/resources/conversation-flow-component.d.mts.map +1 -1
- package/resources/conversation-flow-component.d.ts +3282 -243
- package/resources/conversation-flow-component.d.ts.map +1 -1
- package/resources/conversation-flow.d.mts +7347 -1269
- package/resources/conversation-flow.d.mts.map +1 -1
- package/resources/conversation-flow.d.ts +7347 -1269
- package/resources/conversation-flow.d.ts.map +1 -1
- package/resources/crm.d.mts +37 -5
- package/resources/crm.d.mts.map +1 -1
- package/resources/crm.d.ts +37 -5
- package/resources/crm.d.ts.map +1 -1
- package/resources/identity.d.mts +4 -0
- package/resources/identity.d.mts.map +1 -1
- package/resources/identity.d.ts +4 -0
- package/resources/identity.d.ts.map +1 -1
- package/resources/index.d.mts +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/llm.d.mts +867 -9
- package/resources/llm.d.mts.map +1 -1
- package/resources/llm.d.ts +867 -9
- package/resources/llm.d.ts.map +1 -1
- package/resources/tests.d.mts +3 -3
- package/resources/tests.d.mts.map +1 -1
- package/resources/tests.d.ts +3 -3
- package/resources/tests.d.ts.map +1 -1
- package/src/client.ts +4 -0
- package/src/resources/agent.ts +4786 -1504
- package/src/resources/app.ts +144 -4
- package/src/resources/batch-call.ts +1115 -10
- package/src/resources/call.ts +9825 -4806
- package/src/resources/chat-agent.ts +3958 -698
- package/src/resources/chat.ts +1133 -50
- package/src/resources/contact.ts +168 -20
- package/src/resources/conversation-flow-component.ts +4466 -191
- package/src/resources/conversation-flow.ts +9084 -525
- package/src/resources/crm.ts +44 -5
- package/src/resources/identity.ts +5 -0
- package/src/resources/index.ts +2 -0
- package/src/resources/llm.ts +1045 -46
- package/src/resources/tests.ts +21 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -320,6 +320,15 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
320
320
|
*/
|
|
321
321
|
call_screening_option?: Agent.CallScreeningOption | null;
|
|
322
322
|
|
|
323
|
+
/**
|
|
324
|
+
* Contact memory settings for phone calls and SMS chats. Creating an agent
|
|
325
|
+
* defaults enable_update to false and enable_read to true. Updates only change the
|
|
326
|
+
* supplied flags; omitted flags stay unchanged and an empty object has no effect.
|
|
327
|
+
* Set a flag to false to disable it. The configuration cannot be cleared. Existing
|
|
328
|
+
* agents without this configuration have both disabled.
|
|
329
|
+
*/
|
|
330
|
+
contact_memory_config?: Agent.ContactMemoryConfig;
|
|
331
|
+
|
|
323
332
|
/**
|
|
324
333
|
* Custom STT configuration. Only used when stt_mode is set to custom.
|
|
325
334
|
*/
|
|
@@ -359,6 +368,14 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
359
368
|
*/
|
|
360
369
|
enable_backchannel?: boolean;
|
|
361
370
|
|
|
371
|
+
/**
|
|
372
|
+
* If set to true, the agent recognizes requests to stop calling or contacting the
|
|
373
|
+
* user, confirms once, and on a clear yes ends the call with disconnection reason
|
|
374
|
+
* user_requested_dnc and sets do_not_call to true on the contact for the user's
|
|
375
|
+
* phone number. If unset, default value false will apply.
|
|
376
|
+
*/
|
|
377
|
+
enable_dnc_detection?: boolean;
|
|
378
|
+
|
|
362
379
|
/**
|
|
363
380
|
* If set to true, the agent will dynamically adjust how quickly it responds based
|
|
364
381
|
* on the user's speech rate and past turn-taking behavior in the call. If unset,
|
|
@@ -636,9 +653,16 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
636
653
|
| 'gpt-5.5'
|
|
637
654
|
| 'gpt-5.6-terra'
|
|
638
655
|
| 'gpt-5.6-luna'
|
|
656
|
+
| 'gpt-6-astra'
|
|
657
|
+
| 'gpt-6-sol'
|
|
658
|
+
| 'gpt-6.1-sol'
|
|
659
|
+
| 'gpt-6-luna'
|
|
639
660
|
| 'claude-4.5-sonnet'
|
|
640
661
|
| 'claude-4.6-sonnet'
|
|
662
|
+
| 'claude-5-opus'
|
|
663
|
+
| 'claude-5.5-opus'
|
|
641
664
|
| 'claude-5-sonnet'
|
|
665
|
+
| 'claude-5.5-sonnet'
|
|
642
666
|
| 'claude-4.5-haiku'
|
|
643
667
|
| 'gemini-3.0-flash'
|
|
644
668
|
| 'gemini-3.1-flash-lite'
|
|
@@ -649,6 +673,26 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
649
673
|
| 'gemini-3.8-flash'
|
|
650
674
|
| null;
|
|
651
675
|
|
|
676
|
+
/**
|
|
677
|
+
* Integration (Agent Functions) tools run as a dependency graph during teardown,
|
|
678
|
+
* after post-call analysis. Each tool can be gated by a condition. On calls the
|
|
679
|
+
* graph is stopped after five minutes so teardown can finish. Set to null to
|
|
680
|
+
* clear.
|
|
681
|
+
*/
|
|
682
|
+
post_session_tools?: Array<
|
|
683
|
+
Agent.AppTool | Agent.CustomTool | Agent.CodeTool | Agent.SendSMSTool
|
|
684
|
+
> | null;
|
|
685
|
+
|
|
686
|
+
/**
|
|
687
|
+
* Integration (Agent Functions) tools run as a dependency graph during session
|
|
688
|
+
* setup, before the agent's first message. Outputs are injected as dynamic
|
|
689
|
+
* variables. On calls the graph gets one minute unless an outbound caller will be
|
|
690
|
+
* dialed after setup, in which case it gets five minutes. Past that session
|
|
691
|
+
* initialization continues and any remaining tools finish in the background, so
|
|
692
|
+
* their outputs no longer reach the agent's prompt. Set to null to clear.
|
|
693
|
+
*/
|
|
694
|
+
pre_session_tools?: Array<Agent.AppTool | Agent.CustomTool | Agent.CodeTool> | null;
|
|
695
|
+
|
|
652
696
|
/**
|
|
653
697
|
* A list of words / phrases and their pronunciation to be used to guide the audio
|
|
654
698
|
* synthesize for consistent pronunciation. Check the dashboard to see what
|
|
@@ -735,12 +779,6 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
735
779
|
*/
|
|
736
780
|
vocab_specialization?: 'general' | 'medical';
|
|
737
781
|
|
|
738
|
-
/**
|
|
739
|
-
* Controls the emotional tone of the agent's voice. Currently supported for
|
|
740
|
-
* Cartesia and Minimax TTS providers. If unset, no emotion will be used.
|
|
741
|
-
*/
|
|
742
|
-
voice_emotion?: 'calm' | 'sympathetic' | 'happy' | 'sad' | 'angry' | 'fearful' | 'surprised' | null;
|
|
743
|
-
|
|
744
782
|
/**
|
|
745
783
|
* Unique voice id used for the agent. Find list of available voices and their
|
|
746
784
|
* preview in Dashboard.
|
|
@@ -757,6 +795,7 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
757
795
|
| 'eleven_flash_v2_5'
|
|
758
796
|
| 'eleven_multilingual_v2'
|
|
759
797
|
| 'eleven_v3'
|
|
798
|
+
| 'eleven_v4_turbo'
|
|
760
799
|
| 'sonic-3'
|
|
761
800
|
| 'sonic-3-latest'
|
|
762
801
|
| 'sonic-3.5'
|
|
@@ -852,22 +891,46 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
852
891
|
call_purpose: string;
|
|
853
892
|
}
|
|
854
893
|
|
|
894
|
+
/**
|
|
895
|
+
* Contact memory settings for phone calls and SMS chats. Creating an agent
|
|
896
|
+
* defaults enable_update to false and enable_read to true. Updates only change the
|
|
897
|
+
* supplied flags; omitted flags stay unchanged and an empty object has no effect.
|
|
898
|
+
* Set a flag to false to disable it. The configuration cannot be cleared. Existing
|
|
899
|
+
* agents without this configuration have both disabled.
|
|
900
|
+
*/
|
|
901
|
+
export interface ContactMemoryConfig {
|
|
902
|
+
/**
|
|
903
|
+
* Automatically add saved contact memory to the agent prompt. Skippable nodes can
|
|
904
|
+
* use answers from the current conversation even when this setting is disabled.
|
|
905
|
+
* Contact dynamic variables, including contact_memory, remain available regardless
|
|
906
|
+
* of this setting.
|
|
907
|
+
*/
|
|
908
|
+
enable_read?: boolean;
|
|
909
|
+
|
|
910
|
+
/**
|
|
911
|
+
* Rewrite the contact memory after each conversation. Requires storing
|
|
912
|
+
* conversation data. Chat agents must also have end_chat_after_silence_ms set.
|
|
913
|
+
*/
|
|
914
|
+
enable_update?: boolean;
|
|
915
|
+
}
|
|
916
|
+
|
|
855
917
|
/**
|
|
856
918
|
* Custom STT configuration. Only used when stt_mode is set to custom.
|
|
857
919
|
*/
|
|
858
920
|
export interface CustomSttConfig {
|
|
859
921
|
/**
|
|
860
922
|
* Endpointing timeout in milliseconds. Minimum is 100 for Azure, 10 for Deepgram,
|
|
861
|
-
* 500 for Soniox, 100 for AssemblyAI. For AssemblyAI, this sets
|
|
862
|
-
* (100-3000 ms). max_turn_silence adds half of this value,
|
|
863
|
-
* millisecond and bounded to 500-1000 ms, with a total cap
|
|
923
|
+
* 500 for Soniox, 100 for AssemblyAI, 100 for Muse. For AssemblyAI, this sets
|
|
924
|
+
* min_turn_silence (100-3000 ms). max_turn_silence adds half of this value,
|
|
925
|
+
* rounded to the nearest millisecond and bounded to 500-1000 ms, with a total cap
|
|
926
|
+
* of 3000 ms. Muse detects turn ends itself and ignores this value.
|
|
864
927
|
*/
|
|
865
928
|
endpointing_ms: number;
|
|
866
929
|
|
|
867
930
|
/**
|
|
868
931
|
* ASR provider name.
|
|
869
932
|
*/
|
|
870
|
-
provider: 'azure' | 'deepgram' | 'soniox' | 'assemblyai';
|
|
933
|
+
provider: 'azure' | 'deepgram' | 'soniox' | 'assemblyai' | 'muse';
|
|
871
934
|
}
|
|
872
935
|
|
|
873
936
|
/**
|
|
@@ -1174,6 +1237,1034 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
1174
1237
|
required?: boolean;
|
|
1175
1238
|
}
|
|
1176
1239
|
|
|
1240
|
+
export interface AppTool {
|
|
1241
|
+
/**
|
|
1242
|
+
* The connection (App) this tool runs against. Must be a connection in the
|
|
1243
|
+
* organization whose provider matches this tool's provider.
|
|
1244
|
+
*/
|
|
1245
|
+
app_id: string;
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* Name of the catalog template within the provider, as listed by
|
|
1249
|
+
* list-app-templates.
|
|
1250
|
+
*/
|
|
1251
|
+
app_tool_template_name: string;
|
|
1252
|
+
|
|
1253
|
+
/**
|
|
1254
|
+
* Name of the tool. Must be unique within the phase's tools; referenced by
|
|
1255
|
+
* depends_on.
|
|
1256
|
+
*/
|
|
1257
|
+
name: string;
|
|
1258
|
+
|
|
1259
|
+
/**
|
|
1260
|
+
* Provider of the connection. Must match the connection's provider; supported
|
|
1261
|
+
* providers are listed by list-app-templates.
|
|
1262
|
+
*/
|
|
1263
|
+
provider: string;
|
|
1264
|
+
|
|
1265
|
+
type: 'integration_app';
|
|
1266
|
+
|
|
1267
|
+
/**
|
|
1268
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1269
|
+
* running.
|
|
1270
|
+
*/
|
|
1271
|
+
condition?: AppTool.Condition;
|
|
1272
|
+
|
|
1273
|
+
/**
|
|
1274
|
+
* Names of tools that must run before this one.
|
|
1275
|
+
*/
|
|
1276
|
+
depends_on?: Array<string>;
|
|
1277
|
+
|
|
1278
|
+
/**
|
|
1279
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1280
|
+
* conversation. Overrides the catalog template's LLM-facing description.
|
|
1281
|
+
*/
|
|
1282
|
+
description?: string;
|
|
1283
|
+
|
|
1284
|
+
/**
|
|
1285
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1286
|
+
* conversation. If true, play a typing sound on the agent audio track while this
|
|
1287
|
+
* tool is executing. Useful when the tool takes a noticeable amount of time to
|
|
1288
|
+
* prevent silence on the call.
|
|
1289
|
+
*/
|
|
1290
|
+
enable_typing_sound?: boolean;
|
|
1291
|
+
|
|
1292
|
+
/**
|
|
1293
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1294
|
+
* conversation. The message for the agent to speak when executing the tool. Only
|
|
1295
|
+
* applicable when speak_during_execution is true.
|
|
1296
|
+
*/
|
|
1297
|
+
execution_message_description?: string;
|
|
1298
|
+
|
|
1299
|
+
/**
|
|
1300
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1301
|
+
* conversation. Type of execution message. "prompt" means the agent will use
|
|
1302
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
1303
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
1304
|
+
* to "prompt".
|
|
1305
|
+
*/
|
|
1306
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
1307
|
+
|
|
1308
|
+
/**
|
|
1309
|
+
* What the agent and the transcript see of the tool's response. Omit to send the
|
|
1310
|
+
* full response. Does not affect response_variables, which are always extracted
|
|
1311
|
+
* from the raw response.
|
|
1312
|
+
*/
|
|
1313
|
+
output_selection?: AppTool.UnionMember0 | AppTool.UnionMember1;
|
|
1314
|
+
|
|
1315
|
+
/**
|
|
1316
|
+
* The resolved input parameters, in order. Properties may pin a value with const
|
|
1317
|
+
* (including {{variable}} references) or provide a description for LLM inference.
|
|
1318
|
+
* Each property may also record selected*input_mode, the editor mode the user
|
|
1319
|
+
* selected ("const_enum", "const_boolean", "const_value", "description_custom", or
|
|
1320
|
+
* "description_preset"); it is stored and returned as-is, used only by the tool
|
|
1321
|
+
* config UI. Omit the key when no mode is recorded; when set, const*_ modes
|
|
1322
|
+
* require a non-empty const, and description\__ modes must omit const entirely.
|
|
1323
|
+
* Each parameter's required list must match the schema returned by the
|
|
1324
|
+
* corresponding step of the get-app-tool-schema loop.
|
|
1325
|
+
*/
|
|
1326
|
+
parameters?: Array<AppTool.Parameter>;
|
|
1327
|
+
|
|
1328
|
+
/**
|
|
1329
|
+
* Mapping of a dynamic-variable name to the response field (dot-path) it is
|
|
1330
|
+
* populated from. Missing paths are ignored.
|
|
1331
|
+
*/
|
|
1332
|
+
response_variables?: { [key: string]: string };
|
|
1333
|
+
|
|
1334
|
+
/**
|
|
1335
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1336
|
+
* conversation. Determines whether the agent would call LLM another time and speak
|
|
1337
|
+
* when the result of the tool is obtained.
|
|
1338
|
+
*/
|
|
1339
|
+
speak_after_execution?: boolean;
|
|
1340
|
+
|
|
1341
|
+
/**
|
|
1342
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1343
|
+
* conversation. If true, will speak during execution.
|
|
1344
|
+
*/
|
|
1345
|
+
speak_during_execution?: boolean;
|
|
1346
|
+
}
|
|
1347
|
+
|
|
1348
|
+
export namespace AppTool {
|
|
1349
|
+
/**
|
|
1350
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1351
|
+
* running.
|
|
1352
|
+
*/
|
|
1353
|
+
export interface Condition {
|
|
1354
|
+
equations: Array<Condition.Equation>;
|
|
1355
|
+
|
|
1356
|
+
operator: '||' | '&&';
|
|
1357
|
+
|
|
1358
|
+
type: 'equation';
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
export namespace Condition {
|
|
1362
|
+
export interface Equation {
|
|
1363
|
+
/**
|
|
1364
|
+
* Left side of the equation
|
|
1365
|
+
*/
|
|
1366
|
+
left: string;
|
|
1367
|
+
|
|
1368
|
+
operator:
|
|
1369
|
+
| '=='
|
|
1370
|
+
| '!='
|
|
1371
|
+
| '>'
|
|
1372
|
+
| '>='
|
|
1373
|
+
| '<'
|
|
1374
|
+
| '<='
|
|
1375
|
+
| 'contains'
|
|
1376
|
+
| 'not_contains'
|
|
1377
|
+
| 'exists'
|
|
1378
|
+
| 'not_exist';
|
|
1379
|
+
|
|
1380
|
+
/**
|
|
1381
|
+
* Right side of the equation. The right side of the equation not required when
|
|
1382
|
+
* "exists" or "not_exist" are selected.
|
|
1383
|
+
*/
|
|
1384
|
+
right?: string;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
export interface UnionMember0 {
|
|
1389
|
+
mode: 'all';
|
|
1390
|
+
|
|
1391
|
+
/**
|
|
1392
|
+
* Not used at runtime; stored and returned as-is for the UI.
|
|
1393
|
+
*/
|
|
1394
|
+
fields?: Array<string>;
|
|
1395
|
+
}
|
|
1396
|
+
|
|
1397
|
+
export interface UnionMember1 {
|
|
1398
|
+
/**
|
|
1399
|
+
* The only response fields the agent and the transcript see, as dot-paths into the
|
|
1400
|
+
* response schema returned by get-app-tool-schema. Everything else is dropped.
|
|
1401
|
+
* Selecting a parent keeps its whole subtree. A plain segment traverses arrays
|
|
1402
|
+
* element-wise (deals.properties.amount keeps that field on every deal), while
|
|
1403
|
+
* key[n] selects one element (deals[0].id keeps only the first deal's id); paths
|
|
1404
|
+
* that match nothing contribute nothing.
|
|
1405
|
+
*/
|
|
1406
|
+
fields: Array<string>;
|
|
1407
|
+
|
|
1408
|
+
mode: 'subset';
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
/**
|
|
1412
|
+
* The parameters the functions accepts, described as a JSON Schema object. See
|
|
1413
|
+
* [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
|
|
1414
|
+
* documentation about the format. Omitting parameters defines a function with an
|
|
1415
|
+
* empty parameter list.
|
|
1416
|
+
*/
|
|
1417
|
+
export interface Parameter {
|
|
1418
|
+
/**
|
|
1419
|
+
* The value of properties is an object, where each key is the name of a property
|
|
1420
|
+
* and each value is a schema used to validate that property.
|
|
1421
|
+
*/
|
|
1422
|
+
properties: unknown;
|
|
1423
|
+
|
|
1424
|
+
/**
|
|
1425
|
+
* Type must be "object" for a JSON Schema object.
|
|
1426
|
+
*/
|
|
1427
|
+
type: 'object';
|
|
1428
|
+
|
|
1429
|
+
/**
|
|
1430
|
+
* List of names of required property when generating this parameter. LLM will do
|
|
1431
|
+
* its best to generate the required properties in its function arguments. Property
|
|
1432
|
+
* must exist in properties.
|
|
1433
|
+
*/
|
|
1434
|
+
required?: Array<string>;
|
|
1435
|
+
}
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
export interface CustomTool {
|
|
1439
|
+
/**
|
|
1440
|
+
* Name of the tool. Must be unique within all tools available to LLM at any given
|
|
1441
|
+
* time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
|
|
1442
|
+
* 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
|
|
1443
|
+
* allowed).
|
|
1444
|
+
*/
|
|
1445
|
+
name: string;
|
|
1446
|
+
|
|
1447
|
+
type: 'custom';
|
|
1448
|
+
|
|
1449
|
+
/**
|
|
1450
|
+
* Describes what the tool does, sometimes can also include information about when
|
|
1451
|
+
* to call the tool.
|
|
1452
|
+
*/
|
|
1453
|
+
url: string;
|
|
1454
|
+
|
|
1455
|
+
/**
|
|
1456
|
+
* If set to true, the parameters will be passed as root level JSON object instead
|
|
1457
|
+
* of nested under "args".
|
|
1458
|
+
*/
|
|
1459
|
+
args_at_root?: boolean;
|
|
1460
|
+
|
|
1461
|
+
/**
|
|
1462
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1463
|
+
* running.
|
|
1464
|
+
*/
|
|
1465
|
+
condition?: CustomTool.Condition;
|
|
1466
|
+
|
|
1467
|
+
/**
|
|
1468
|
+
* Names of tools that must run before this one.
|
|
1469
|
+
*/
|
|
1470
|
+
depends_on?: Array<string>;
|
|
1471
|
+
|
|
1472
|
+
/**
|
|
1473
|
+
* Describes what this tool does and when to call this tool.
|
|
1474
|
+
*/
|
|
1475
|
+
description?: string;
|
|
1476
|
+
|
|
1477
|
+
/**
|
|
1478
|
+
* If true, play a typing sound on the agent audio track while this tool is
|
|
1479
|
+
* executing. Useful when the tool takes a noticeable amount of time to prevent
|
|
1480
|
+
* silence on the call.
|
|
1481
|
+
*/
|
|
1482
|
+
enable_typing_sound?: boolean;
|
|
1483
|
+
|
|
1484
|
+
/**
|
|
1485
|
+
* The description for the sentence agent say during execution. Only applicable
|
|
1486
|
+
* when speak_during_execution is true. Can write what to say or even provide
|
|
1487
|
+
* examples. The default is "The message you will say to callee when calling this
|
|
1488
|
+
* tool. Make sure it fits into the conversation smoothly.".
|
|
1489
|
+
*/
|
|
1490
|
+
execution_message_description?: string;
|
|
1491
|
+
|
|
1492
|
+
/**
|
|
1493
|
+
* Type of execution message. "prompt" means the agent will use
|
|
1494
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
1495
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
1496
|
+
* to "prompt".
|
|
1497
|
+
*/
|
|
1498
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
1499
|
+
|
|
1500
|
+
/**
|
|
1501
|
+
* Headers to add to the request.
|
|
1502
|
+
*/
|
|
1503
|
+
headers?: { [key: string]: string };
|
|
1504
|
+
|
|
1505
|
+
/**
|
|
1506
|
+
* Maximum number of times to retry the request after a failed attempt, from 0 (no
|
|
1507
|
+
* retry) to 5. Retries happen on any failure, with exponential backoff between
|
|
1508
|
+
* attempts; the backoff delay is not configurable. `timeout_ms` applies per
|
|
1509
|
+
* attempt rather than as a budget across all attempts, so an attempt that times
|
|
1510
|
+
* out is still retried and the worst-case total duration is `timeout_ms`
|
|
1511
|
+
* multiplied by (`max_retry` + 1) as well as any latency incurred by the
|
|
1512
|
+
* exponential backoff + jitter between each retry. Only the final attempt's result
|
|
1513
|
+
* is reported to the agent. Because retries repeat the request, only set this
|
|
1514
|
+
* above 0 if your endpoint is idempotent — a retried request may be processed more
|
|
1515
|
+
* than once. Defaults to 0 (no retry).
|
|
1516
|
+
*/
|
|
1517
|
+
max_retry?: number;
|
|
1518
|
+
|
|
1519
|
+
/**
|
|
1520
|
+
* Method to use for the request, default to POST.
|
|
1521
|
+
*/
|
|
1522
|
+
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
1523
|
+
|
|
1524
|
+
/**
|
|
1525
|
+
* How the tool's `parameters` are authored and shown in the dashboard editor —
|
|
1526
|
+
* "form" for the visual parameter builder, "json" for a raw JSON Schema. Both
|
|
1527
|
+
* produce the same `parameters` schema; this does not change how the request body
|
|
1528
|
+
* is encoded (see `args_at_root`).
|
|
1529
|
+
*/
|
|
1530
|
+
parameter_type?: 'json' | 'form';
|
|
1531
|
+
|
|
1532
|
+
/**
|
|
1533
|
+
* The parameters the functions accepts, described as a JSON Schema object. See
|
|
1534
|
+
* [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
|
|
1535
|
+
* documentation about the format. Omitting parameters defines a function with an
|
|
1536
|
+
* empty parameter list.
|
|
1537
|
+
*/
|
|
1538
|
+
parameters?: CustomTool.Parameters;
|
|
1539
|
+
|
|
1540
|
+
/**
|
|
1541
|
+
* Query parameters to append to the request URL.
|
|
1542
|
+
*/
|
|
1543
|
+
query_params?: { [key: string]: string };
|
|
1544
|
+
|
|
1545
|
+
/**
|
|
1546
|
+
* A mapping of variable names to JSON paths in the response body. These values
|
|
1547
|
+
* will be extracted from the response and made available as dynamic variables for
|
|
1548
|
+
* use.
|
|
1549
|
+
*/
|
|
1550
|
+
response_variables?: { [key: string]: string };
|
|
1551
|
+
|
|
1552
|
+
/**
|
|
1553
|
+
* Determines whether the agent would call LLM another time and speak when the
|
|
1554
|
+
* result of function is obtained. Usually this needs to get turned on so user can
|
|
1555
|
+
* get update for the function call.
|
|
1556
|
+
*/
|
|
1557
|
+
speak_after_execution?: boolean;
|
|
1558
|
+
|
|
1559
|
+
/**
|
|
1560
|
+
* Determines whether the agent would say sentence like "One moment, let me check
|
|
1561
|
+
* that." when executing the function. Recommend to turn on if your function call
|
|
1562
|
+
* takes over 1s (including network) to complete, so that your agent remains
|
|
1563
|
+
* responsive.
|
|
1564
|
+
*/
|
|
1565
|
+
speak_during_execution?: boolean;
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* The maximum time in milliseconds the tool can run before it's considered
|
|
1569
|
+
* timeout. If the tool times out, the agent would have that info. The minimum
|
|
1570
|
+
* value allowed is 1000 ms (1 s), and maximum value allowed is 600,000 ms (10
|
|
1571
|
+
* min). By default, this is set to 120,000 ms (2 min).
|
|
1572
|
+
*/
|
|
1573
|
+
timeout_ms?: number;
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
export namespace CustomTool {
|
|
1577
|
+
/**
|
|
1578
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1579
|
+
* running.
|
|
1580
|
+
*/
|
|
1581
|
+
export interface Condition {
|
|
1582
|
+
equations: Array<Condition.Equation>;
|
|
1583
|
+
|
|
1584
|
+
operator: '||' | '&&';
|
|
1585
|
+
|
|
1586
|
+
type: 'equation';
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1589
|
+
export namespace Condition {
|
|
1590
|
+
export interface Equation {
|
|
1591
|
+
/**
|
|
1592
|
+
* Left side of the equation
|
|
1593
|
+
*/
|
|
1594
|
+
left: string;
|
|
1595
|
+
|
|
1596
|
+
operator:
|
|
1597
|
+
| '=='
|
|
1598
|
+
| '!='
|
|
1599
|
+
| '>'
|
|
1600
|
+
| '>='
|
|
1601
|
+
| '<'
|
|
1602
|
+
| '<='
|
|
1603
|
+
| 'contains'
|
|
1604
|
+
| 'not_contains'
|
|
1605
|
+
| 'exists'
|
|
1606
|
+
| 'not_exist';
|
|
1607
|
+
|
|
1608
|
+
/**
|
|
1609
|
+
* Right side of the equation. The right side of the equation not required when
|
|
1610
|
+
* "exists" or "not_exist" are selected.
|
|
1611
|
+
*/
|
|
1612
|
+
right?: string;
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
/**
|
|
1617
|
+
* The parameters the functions accepts, described as a JSON Schema object. See
|
|
1618
|
+
* [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
|
|
1619
|
+
* documentation about the format. Omitting parameters defines a function with an
|
|
1620
|
+
* empty parameter list.
|
|
1621
|
+
*/
|
|
1622
|
+
export interface Parameters {
|
|
1623
|
+
/**
|
|
1624
|
+
* The value of properties is an object, where each key is the name of a property
|
|
1625
|
+
* and each value is a schema used to validate that property.
|
|
1626
|
+
*/
|
|
1627
|
+
properties: unknown;
|
|
1628
|
+
|
|
1629
|
+
/**
|
|
1630
|
+
* Type must be "object" for a JSON Schema object.
|
|
1631
|
+
*/
|
|
1632
|
+
type: 'object';
|
|
1633
|
+
|
|
1634
|
+
/**
|
|
1635
|
+
* List of names of required property when generating this parameter. LLM will do
|
|
1636
|
+
* its best to generate the required properties in its function arguments. Property
|
|
1637
|
+
* must exist in properties.
|
|
1638
|
+
*/
|
|
1639
|
+
required?: Array<string>;
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
|
|
1643
|
+
export interface CodeTool {
|
|
1644
|
+
/**
|
|
1645
|
+
* JavaScript code to execute in the sandbox.
|
|
1646
|
+
*/
|
|
1647
|
+
code: string;
|
|
1648
|
+
|
|
1649
|
+
/**
|
|
1650
|
+
* Name of the tool. Must be unique within all tools available to LLM at any given
|
|
1651
|
+
* time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
|
|
1652
|
+
* 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
|
|
1653
|
+
* allowed).
|
|
1654
|
+
*/
|
|
1655
|
+
name: string;
|
|
1656
|
+
|
|
1657
|
+
type: 'code';
|
|
1658
|
+
|
|
1659
|
+
/**
|
|
1660
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1661
|
+
* running.
|
|
1662
|
+
*/
|
|
1663
|
+
condition?: CodeTool.Condition;
|
|
1664
|
+
|
|
1665
|
+
/**
|
|
1666
|
+
* Names of tools that must run before this one.
|
|
1667
|
+
*/
|
|
1668
|
+
depends_on?: Array<string>;
|
|
1669
|
+
|
|
1670
|
+
/**
|
|
1671
|
+
* Describes what this tool does and when to call this tool.
|
|
1672
|
+
*/
|
|
1673
|
+
description?: string;
|
|
1674
|
+
|
|
1675
|
+
/**
|
|
1676
|
+
* If true, play a typing sound on the agent audio track while this tool is
|
|
1677
|
+
* executing.
|
|
1678
|
+
*/
|
|
1679
|
+
enable_typing_sound?: boolean;
|
|
1680
|
+
|
|
1681
|
+
/**
|
|
1682
|
+
* The description for the sentence agent say during execution. Only applicable
|
|
1683
|
+
* when speak_during_execution is true.
|
|
1684
|
+
*/
|
|
1685
|
+
execution_message_description?: string;
|
|
1686
|
+
|
|
1687
|
+
/**
|
|
1688
|
+
* Type of execution message. "prompt" means the agent will use
|
|
1689
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
1690
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
1691
|
+
* to "prompt".
|
|
1692
|
+
*/
|
|
1693
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
1694
|
+
|
|
1695
|
+
/**
|
|
1696
|
+
* A mapping of variable names to JSON paths in the code execution result. These
|
|
1697
|
+
* mapped values will be extracted and added as dynamic variables.
|
|
1698
|
+
*/
|
|
1699
|
+
response_variables?: { [key: string]: string };
|
|
1700
|
+
|
|
1701
|
+
/**
|
|
1702
|
+
* Determines whether the agent would call LLM another time and speak when the
|
|
1703
|
+
* result of function is obtained.
|
|
1704
|
+
*/
|
|
1705
|
+
speak_after_execution?: boolean;
|
|
1706
|
+
|
|
1707
|
+
/**
|
|
1708
|
+
* Determines whether the agent would say sentence like "One moment, let me check
|
|
1709
|
+
* that." when executing the tool.
|
|
1710
|
+
*/
|
|
1711
|
+
speak_during_execution?: boolean;
|
|
1712
|
+
|
|
1713
|
+
/**
|
|
1714
|
+
* The maximum time in milliseconds the code can run before it's considered
|
|
1715
|
+
* timeout. Defaults to 30,000 ms (30 s).
|
|
1716
|
+
*/
|
|
1717
|
+
timeout_ms?: number;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
export namespace CodeTool {
|
|
1721
|
+
/**
|
|
1722
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1723
|
+
* running.
|
|
1724
|
+
*/
|
|
1725
|
+
export interface Condition {
|
|
1726
|
+
equations: Array<Condition.Equation>;
|
|
1727
|
+
|
|
1728
|
+
operator: '||' | '&&';
|
|
1729
|
+
|
|
1730
|
+
type: 'equation';
|
|
1731
|
+
}
|
|
1732
|
+
|
|
1733
|
+
export namespace Condition {
|
|
1734
|
+
export interface Equation {
|
|
1735
|
+
/**
|
|
1736
|
+
* Left side of the equation
|
|
1737
|
+
*/
|
|
1738
|
+
left: string;
|
|
1739
|
+
|
|
1740
|
+
operator:
|
|
1741
|
+
| '=='
|
|
1742
|
+
| '!='
|
|
1743
|
+
| '>'
|
|
1744
|
+
| '>='
|
|
1745
|
+
| '<'
|
|
1746
|
+
| '<='
|
|
1747
|
+
| 'contains'
|
|
1748
|
+
| 'not_contains'
|
|
1749
|
+
| 'exists'
|
|
1750
|
+
| 'not_exist';
|
|
1751
|
+
|
|
1752
|
+
/**
|
|
1753
|
+
* Right side of the equation. The right side of the equation not required when
|
|
1754
|
+
* "exists" or "not_exist" are selected.
|
|
1755
|
+
*/
|
|
1756
|
+
right?: string;
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
|
|
1761
|
+
export interface SendSMSTool {
|
|
1762
|
+
/**
|
|
1763
|
+
* Name of the tool. Must be unique within all tools available to LLM at any given
|
|
1764
|
+
* time (general tools + state tools + state edges).
|
|
1765
|
+
*/
|
|
1766
|
+
name: string;
|
|
1767
|
+
|
|
1768
|
+
sms_content:
|
|
1769
|
+
| SendSMSTool.SMSContentPredefined
|
|
1770
|
+
| SendSMSTool.SMSContentInferred
|
|
1771
|
+
| SendSMSTool.SMSContentTemplate;
|
|
1772
|
+
|
|
1773
|
+
type: 'send_sms';
|
|
1774
|
+
|
|
1775
|
+
/**
|
|
1776
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1777
|
+
* running.
|
|
1778
|
+
*/
|
|
1779
|
+
condition?: SendSMSTool.Condition;
|
|
1780
|
+
|
|
1781
|
+
/**
|
|
1782
|
+
* Names of tools that must run before this one.
|
|
1783
|
+
*/
|
|
1784
|
+
depends_on?: Array<string>;
|
|
1785
|
+
|
|
1786
|
+
/**
|
|
1787
|
+
* Describes what the tool does, sometimes can also include information about when
|
|
1788
|
+
* to call the tool.
|
|
1789
|
+
*/
|
|
1790
|
+
description?: string;
|
|
1791
|
+
|
|
1792
|
+
/**
|
|
1793
|
+
* Describes what to say before sending the SMS. Only applicable when
|
|
1794
|
+
* speak_during_execution is true.
|
|
1795
|
+
*/
|
|
1796
|
+
execution_message_description?: string;
|
|
1797
|
+
|
|
1798
|
+
/**
|
|
1799
|
+
* Type of execution message. "prompt" means the agent will use
|
|
1800
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
1801
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
1802
|
+
* to "prompt".
|
|
1803
|
+
*/
|
|
1804
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
1805
|
+
|
|
1806
|
+
/**
|
|
1807
|
+
* If true, the agent will speak a short line before sending the SMS. If omitted,
|
|
1808
|
+
* defaults to true (same as end_call / transfer_call tools).
|
|
1809
|
+
*/
|
|
1810
|
+
speak_during_execution?: boolean;
|
|
1811
|
+
}
|
|
1812
|
+
|
|
1813
|
+
export namespace SendSMSTool {
|
|
1814
|
+
export interface SMSContentPredefined {
|
|
1815
|
+
/**
|
|
1816
|
+
* The static message to be sent in the SMS. Can contain dynamic variables.
|
|
1817
|
+
*/
|
|
1818
|
+
text?: string;
|
|
1819
|
+
|
|
1820
|
+
type?: 'predefined';
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
export interface SMSContentInferred {
|
|
1824
|
+
/**
|
|
1825
|
+
* The prompt to be used to help infer the SMS content. The model will take the
|
|
1826
|
+
* global prompt, the call transcript, and this prompt together to deduce the right
|
|
1827
|
+
* message to send. Can contain dynamic variables.
|
|
1828
|
+
*/
|
|
1829
|
+
prompt?: string;
|
|
1830
|
+
|
|
1831
|
+
type?: 'inferred';
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
export interface SMSContentTemplate {
|
|
1835
|
+
/**
|
|
1836
|
+
* The template to use for the SMS content. "info_collection" sends a predefined
|
|
1837
|
+
* message requesting information from the user.
|
|
1838
|
+
*/
|
|
1839
|
+
template: 'info_collection';
|
|
1840
|
+
|
|
1841
|
+
type: 'template';
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
/**
|
|
1845
|
+
* Optional gate; the step only runs when the condition holds. Defaults to always
|
|
1846
|
+
* running.
|
|
1847
|
+
*/
|
|
1848
|
+
export interface Condition {
|
|
1849
|
+
equations: Array<Condition.Equation>;
|
|
1850
|
+
|
|
1851
|
+
operator: '||' | '&&';
|
|
1852
|
+
|
|
1853
|
+
type: 'equation';
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
export namespace Condition {
|
|
1857
|
+
export interface Equation {
|
|
1858
|
+
/**
|
|
1859
|
+
* Left side of the equation
|
|
1860
|
+
*/
|
|
1861
|
+
left: string;
|
|
1862
|
+
|
|
1863
|
+
operator:
|
|
1864
|
+
| '=='
|
|
1865
|
+
| '!='
|
|
1866
|
+
| '>'
|
|
1867
|
+
| '>='
|
|
1868
|
+
| '<'
|
|
1869
|
+
| '<='
|
|
1870
|
+
| 'contains'
|
|
1871
|
+
| 'not_contains'
|
|
1872
|
+
| 'exists'
|
|
1873
|
+
| 'not_exist';
|
|
1874
|
+
|
|
1875
|
+
/**
|
|
1876
|
+
* Right side of the equation. The right side of the equation not required when
|
|
1877
|
+
* "exists" or "not_exist" are selected.
|
|
1878
|
+
*/
|
|
1879
|
+
right?: string;
|
|
1880
|
+
}
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
export interface AppTool {
|
|
1885
|
+
/**
|
|
1886
|
+
* The connection (App) this tool runs against. Must be a connection in the
|
|
1887
|
+
* organization whose provider matches this tool's provider.
|
|
1888
|
+
*/
|
|
1889
|
+
app_id: string;
|
|
1890
|
+
|
|
1891
|
+
/**
|
|
1892
|
+
* Name of the catalog template within the provider, as listed by
|
|
1893
|
+
* list-app-templates.
|
|
1894
|
+
*/
|
|
1895
|
+
app_tool_template_name: string;
|
|
1896
|
+
|
|
1897
|
+
/**
|
|
1898
|
+
* Name of the tool. Must be unique within the phase's tools; referenced by
|
|
1899
|
+
* depends_on.
|
|
1900
|
+
*/
|
|
1901
|
+
name: string;
|
|
1902
|
+
|
|
1903
|
+
/**
|
|
1904
|
+
* Provider of the connection. Must match the connection's provider; supported
|
|
1905
|
+
* providers are listed by list-app-templates.
|
|
1906
|
+
*/
|
|
1907
|
+
provider: string;
|
|
1908
|
+
|
|
1909
|
+
type: 'integration_app';
|
|
1910
|
+
|
|
1911
|
+
/**
|
|
1912
|
+
* Names of tools that must run before this one.
|
|
1913
|
+
*/
|
|
1914
|
+
depends_on?: Array<string>;
|
|
1915
|
+
|
|
1916
|
+
/**
|
|
1917
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1918
|
+
* conversation. Overrides the catalog template's LLM-facing description.
|
|
1919
|
+
*/
|
|
1920
|
+
description?: string;
|
|
1921
|
+
|
|
1922
|
+
/**
|
|
1923
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1924
|
+
* conversation. If true, play a typing sound on the agent audio track while this
|
|
1925
|
+
* tool is executing. Useful when the tool takes a noticeable amount of time to
|
|
1926
|
+
* prevent silence on the call.
|
|
1927
|
+
*/
|
|
1928
|
+
enable_typing_sound?: boolean;
|
|
1929
|
+
|
|
1930
|
+
/**
|
|
1931
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1932
|
+
* conversation. The message for the agent to speak when executing the tool. Only
|
|
1933
|
+
* applicable when speak_during_execution is true.
|
|
1934
|
+
*/
|
|
1935
|
+
execution_message_description?: string;
|
|
1936
|
+
|
|
1937
|
+
/**
|
|
1938
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1939
|
+
* conversation. Type of execution message. "prompt" means the agent will use
|
|
1940
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
1941
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
1942
|
+
* to "prompt".
|
|
1943
|
+
*/
|
|
1944
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
1945
|
+
|
|
1946
|
+
/**
|
|
1947
|
+
* What the agent and the transcript see of the tool's response. Omit to send the
|
|
1948
|
+
* full response. Does not affect response_variables, which are always extracted
|
|
1949
|
+
* from the raw response.
|
|
1950
|
+
*/
|
|
1951
|
+
output_selection?: AppTool.UnionMember0 | AppTool.UnionMember1;
|
|
1952
|
+
|
|
1953
|
+
/**
|
|
1954
|
+
* The resolved input parameters, in order. Properties may pin a value with const
|
|
1955
|
+
* (including {{variable}} references) or provide a description for LLM inference.
|
|
1956
|
+
* Each property may also record selected*input_mode, the editor mode the user
|
|
1957
|
+
* selected ("const_enum", "const_boolean", "const_value", "description_custom", or
|
|
1958
|
+
* "description_preset"); it is stored and returned as-is, used only by the tool
|
|
1959
|
+
* config UI. Omit the key when no mode is recorded; when set, const*_ modes
|
|
1960
|
+
* require a non-empty const, and description\__ modes must omit const entirely.
|
|
1961
|
+
* Each parameter's required list must match the schema returned by the
|
|
1962
|
+
* corresponding step of the get-app-tool-schema loop.
|
|
1963
|
+
*/
|
|
1964
|
+
parameters?: Array<AppTool.Parameter>;
|
|
1965
|
+
|
|
1966
|
+
/**
|
|
1967
|
+
* Mapping of a dynamic-variable name to the response field (dot-path) it is
|
|
1968
|
+
* populated from. Missing paths are ignored.
|
|
1969
|
+
*/
|
|
1970
|
+
response_variables?: { [key: string]: string };
|
|
1971
|
+
|
|
1972
|
+
/**
|
|
1973
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1974
|
+
* conversation. Determines whether the agent would call LLM another time and speak
|
|
1975
|
+
* when the result of the tool is obtained.
|
|
1976
|
+
*/
|
|
1977
|
+
speak_after_execution?: boolean;
|
|
1978
|
+
|
|
1979
|
+
/**
|
|
1980
|
+
* Only applies to during conversation functions; ignored by the pre/post
|
|
1981
|
+
* conversation. If true, will speak during execution.
|
|
1982
|
+
*/
|
|
1983
|
+
speak_during_execution?: boolean;
|
|
1984
|
+
}
|
|
1985
|
+
|
|
1986
|
+
export namespace AppTool {
|
|
1987
|
+
export interface UnionMember0 {
|
|
1988
|
+
mode: 'all';
|
|
1989
|
+
|
|
1990
|
+
/**
|
|
1991
|
+
* Not used at runtime; stored and returned as-is for the UI.
|
|
1992
|
+
*/
|
|
1993
|
+
fields?: Array<string>;
|
|
1994
|
+
}
|
|
1995
|
+
|
|
1996
|
+
export interface UnionMember1 {
|
|
1997
|
+
/**
|
|
1998
|
+
* The only response fields the agent and the transcript see, as dot-paths into the
|
|
1999
|
+
* response schema returned by get-app-tool-schema. Everything else is dropped.
|
|
2000
|
+
* Selecting a parent keeps its whole subtree. A plain segment traverses arrays
|
|
2001
|
+
* element-wise (deals.properties.amount keeps that field on every deal), while
|
|
2002
|
+
* key[n] selects one element (deals[0].id keeps only the first deal's id); paths
|
|
2003
|
+
* that match nothing contribute nothing.
|
|
2004
|
+
*/
|
|
2005
|
+
fields: Array<string>;
|
|
2006
|
+
|
|
2007
|
+
mode: 'subset';
|
|
2008
|
+
}
|
|
2009
|
+
|
|
2010
|
+
/**
|
|
2011
|
+
* The parameters the functions accepts, described as a JSON Schema object. See
|
|
2012
|
+
* [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
|
|
2013
|
+
* documentation about the format. Omitting parameters defines a function with an
|
|
2014
|
+
* empty parameter list.
|
|
2015
|
+
*/
|
|
2016
|
+
export interface Parameter {
|
|
2017
|
+
/**
|
|
2018
|
+
* The value of properties is an object, where each key is the name of a property
|
|
2019
|
+
* and each value is a schema used to validate that property.
|
|
2020
|
+
*/
|
|
2021
|
+
properties: unknown;
|
|
2022
|
+
|
|
2023
|
+
/**
|
|
2024
|
+
* Type must be "object" for a JSON Schema object.
|
|
2025
|
+
*/
|
|
2026
|
+
type: 'object';
|
|
2027
|
+
|
|
2028
|
+
/**
|
|
2029
|
+
* List of names of required property when generating this parameter. LLM will do
|
|
2030
|
+
* its best to generate the required properties in its function arguments. Property
|
|
2031
|
+
* must exist in properties.
|
|
2032
|
+
*/
|
|
2033
|
+
required?: Array<string>;
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
|
|
2037
|
+
export interface CustomTool {
|
|
2038
|
+
/**
|
|
2039
|
+
* Name of the tool. Must be unique within all tools available to LLM at any given
|
|
2040
|
+
* time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
|
|
2041
|
+
* 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
|
|
2042
|
+
* allowed).
|
|
2043
|
+
*/
|
|
2044
|
+
name: string;
|
|
2045
|
+
|
|
2046
|
+
type: 'custom';
|
|
2047
|
+
|
|
2048
|
+
/**
|
|
2049
|
+
* Describes what the tool does, sometimes can also include information about when
|
|
2050
|
+
* to call the tool.
|
|
2051
|
+
*/
|
|
2052
|
+
url: string;
|
|
2053
|
+
|
|
2054
|
+
/**
|
|
2055
|
+
* If set to true, the parameters will be passed as root level JSON object instead
|
|
2056
|
+
* of nested under "args".
|
|
2057
|
+
*/
|
|
2058
|
+
args_at_root?: boolean;
|
|
2059
|
+
|
|
2060
|
+
/**
|
|
2061
|
+
* Names of tools that must run before this one.
|
|
2062
|
+
*/
|
|
2063
|
+
depends_on?: Array<string>;
|
|
2064
|
+
|
|
2065
|
+
/**
|
|
2066
|
+
* Describes what this tool does and when to call this tool.
|
|
2067
|
+
*/
|
|
2068
|
+
description?: string;
|
|
2069
|
+
|
|
2070
|
+
/**
|
|
2071
|
+
* If true, play a typing sound on the agent audio track while this tool is
|
|
2072
|
+
* executing. Useful when the tool takes a noticeable amount of time to prevent
|
|
2073
|
+
* silence on the call.
|
|
2074
|
+
*/
|
|
2075
|
+
enable_typing_sound?: boolean;
|
|
2076
|
+
|
|
2077
|
+
/**
|
|
2078
|
+
* The description for the sentence agent say during execution. Only applicable
|
|
2079
|
+
* when speak_during_execution is true. Can write what to say or even provide
|
|
2080
|
+
* examples. The default is "The message you will say to callee when calling this
|
|
2081
|
+
* tool. Make sure it fits into the conversation smoothly.".
|
|
2082
|
+
*/
|
|
2083
|
+
execution_message_description?: string;
|
|
2084
|
+
|
|
2085
|
+
/**
|
|
2086
|
+
* Type of execution message. "prompt" means the agent will use
|
|
2087
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
2088
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
2089
|
+
* to "prompt".
|
|
2090
|
+
*/
|
|
2091
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
2092
|
+
|
|
2093
|
+
/**
|
|
2094
|
+
* Headers to add to the request.
|
|
2095
|
+
*/
|
|
2096
|
+
headers?: { [key: string]: string };
|
|
2097
|
+
|
|
2098
|
+
/**
|
|
2099
|
+
* Maximum number of times to retry the request after a failed attempt, from 0 (no
|
|
2100
|
+
* retry) to 5. Retries happen on any failure, with exponential backoff between
|
|
2101
|
+
* attempts; the backoff delay is not configurable. `timeout_ms` applies per
|
|
2102
|
+
* attempt rather than as a budget across all attempts, so an attempt that times
|
|
2103
|
+
* out is still retried and the worst-case total duration is `timeout_ms`
|
|
2104
|
+
* multiplied by (`max_retry` + 1) as well as any latency incurred by the
|
|
2105
|
+
* exponential backoff + jitter between each retry. Only the final attempt's result
|
|
2106
|
+
* is reported to the agent. Because retries repeat the request, only set this
|
|
2107
|
+
* above 0 if your endpoint is idempotent — a retried request may be processed more
|
|
2108
|
+
* than once. Defaults to 0 (no retry).
|
|
2109
|
+
*/
|
|
2110
|
+
max_retry?: number;
|
|
2111
|
+
|
|
2112
|
+
/**
|
|
2113
|
+
* Method to use for the request, default to POST.
|
|
2114
|
+
*/
|
|
2115
|
+
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
2116
|
+
|
|
2117
|
+
/**
|
|
2118
|
+
* How the tool's `parameters` are authored and shown in the dashboard editor —
|
|
2119
|
+
* "form" for the visual parameter builder, "json" for a raw JSON Schema. Both
|
|
2120
|
+
* produce the same `parameters` schema; this does not change how the request body
|
|
2121
|
+
* is encoded (see `args_at_root`).
|
|
2122
|
+
*/
|
|
2123
|
+
parameter_type?: 'json' | 'form';
|
|
2124
|
+
|
|
2125
|
+
/**
|
|
2126
|
+
* The parameters the functions accepts, described as a JSON Schema object. See
|
|
2127
|
+
* [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
|
|
2128
|
+
* documentation about the format. Omitting parameters defines a function with an
|
|
2129
|
+
* empty parameter list.
|
|
2130
|
+
*/
|
|
2131
|
+
parameters?: CustomTool.Parameters;
|
|
2132
|
+
|
|
2133
|
+
/**
|
|
2134
|
+
* Query parameters to append to the request URL.
|
|
2135
|
+
*/
|
|
2136
|
+
query_params?: { [key: string]: string };
|
|
2137
|
+
|
|
2138
|
+
/**
|
|
2139
|
+
* A mapping of variable names to JSON paths in the response body. These values
|
|
2140
|
+
* will be extracted from the response and made available as dynamic variables for
|
|
2141
|
+
* use.
|
|
2142
|
+
*/
|
|
2143
|
+
response_variables?: { [key: string]: string };
|
|
2144
|
+
|
|
2145
|
+
/**
|
|
2146
|
+
* Determines whether the agent would call LLM another time and speak when the
|
|
2147
|
+
* result of function is obtained. Usually this needs to get turned on so user can
|
|
2148
|
+
* get update for the function call.
|
|
2149
|
+
*/
|
|
2150
|
+
speak_after_execution?: boolean;
|
|
2151
|
+
|
|
2152
|
+
/**
|
|
2153
|
+
* Determines whether the agent would say sentence like "One moment, let me check
|
|
2154
|
+
* that." when executing the function. Recommend to turn on if your function call
|
|
2155
|
+
* takes over 1s (including network) to complete, so that your agent remains
|
|
2156
|
+
* responsive.
|
|
2157
|
+
*/
|
|
2158
|
+
speak_during_execution?: boolean;
|
|
2159
|
+
|
|
2160
|
+
/**
|
|
2161
|
+
* The maximum time in milliseconds the tool can run before it's considered
|
|
2162
|
+
* timeout. If the tool times out, the agent would have that info. The minimum
|
|
2163
|
+
* value allowed is 1000 ms (1 s), and maximum value allowed is 600,000 ms (10
|
|
2164
|
+
* min). By default, this is set to 120,000 ms (2 min).
|
|
2165
|
+
*/
|
|
2166
|
+
timeout_ms?: number;
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
export namespace CustomTool {
|
|
2170
|
+
/**
|
|
2171
|
+
* The parameters the functions accepts, described as a JSON Schema object. See
|
|
2172
|
+
* [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for
|
|
2173
|
+
* documentation about the format. Omitting parameters defines a function with an
|
|
2174
|
+
* empty parameter list.
|
|
2175
|
+
*/
|
|
2176
|
+
export interface Parameters {
|
|
2177
|
+
/**
|
|
2178
|
+
* The value of properties is an object, where each key is the name of a property
|
|
2179
|
+
* and each value is a schema used to validate that property.
|
|
2180
|
+
*/
|
|
2181
|
+
properties: unknown;
|
|
2182
|
+
|
|
2183
|
+
/**
|
|
2184
|
+
* Type must be "object" for a JSON Schema object.
|
|
2185
|
+
*/
|
|
2186
|
+
type: 'object';
|
|
2187
|
+
|
|
2188
|
+
/**
|
|
2189
|
+
* List of names of required property when generating this parameter. LLM will do
|
|
2190
|
+
* its best to generate the required properties in its function arguments. Property
|
|
2191
|
+
* must exist in properties.
|
|
2192
|
+
*/
|
|
2193
|
+
required?: Array<string>;
|
|
2194
|
+
}
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
export interface CodeTool {
|
|
2198
|
+
/**
|
|
2199
|
+
* JavaScript code to execute in the sandbox.
|
|
2200
|
+
*/
|
|
2201
|
+
code: string;
|
|
2202
|
+
|
|
2203
|
+
/**
|
|
2204
|
+
* Name of the tool. Must be unique within all tools available to LLM at any given
|
|
2205
|
+
* time (general tools + state tools + state edges). Must be consisted of a-z, A-Z,
|
|
2206
|
+
* 0-9, or contain underscores and dashes, with a maximum length of 64 (no space
|
|
2207
|
+
* allowed).
|
|
2208
|
+
*/
|
|
2209
|
+
name: string;
|
|
2210
|
+
|
|
2211
|
+
type: 'code';
|
|
2212
|
+
|
|
2213
|
+
/**
|
|
2214
|
+
* Names of tools that must run before this one.
|
|
2215
|
+
*/
|
|
2216
|
+
depends_on?: Array<string>;
|
|
2217
|
+
|
|
2218
|
+
/**
|
|
2219
|
+
* Describes what this tool does and when to call this tool.
|
|
2220
|
+
*/
|
|
2221
|
+
description?: string;
|
|
2222
|
+
|
|
2223
|
+
/**
|
|
2224
|
+
* If true, play a typing sound on the agent audio track while this tool is
|
|
2225
|
+
* executing.
|
|
2226
|
+
*/
|
|
2227
|
+
enable_typing_sound?: boolean;
|
|
2228
|
+
|
|
2229
|
+
/**
|
|
2230
|
+
* The description for the sentence agent say during execution. Only applicable
|
|
2231
|
+
* when speak_during_execution is true.
|
|
2232
|
+
*/
|
|
2233
|
+
execution_message_description?: string;
|
|
2234
|
+
|
|
2235
|
+
/**
|
|
2236
|
+
* Type of execution message. "prompt" means the agent will use
|
|
2237
|
+
* execution_message_description as a prompt to generate the message. "static_text"
|
|
2238
|
+
* means the agent will speak the execution_message_description directly. Defaults
|
|
2239
|
+
* to "prompt".
|
|
2240
|
+
*/
|
|
2241
|
+
execution_message_type?: 'prompt' | 'static_text';
|
|
2242
|
+
|
|
2243
|
+
/**
|
|
2244
|
+
* A mapping of variable names to JSON paths in the code execution result. These
|
|
2245
|
+
* mapped values will be extracted and added as dynamic variables.
|
|
2246
|
+
*/
|
|
2247
|
+
response_variables?: { [key: string]: string };
|
|
2248
|
+
|
|
2249
|
+
/**
|
|
2250
|
+
* Determines whether the agent would call LLM another time and speak when the
|
|
2251
|
+
* result of function is obtained.
|
|
2252
|
+
*/
|
|
2253
|
+
speak_after_execution?: boolean;
|
|
2254
|
+
|
|
2255
|
+
/**
|
|
2256
|
+
* Determines whether the agent would say sentence like "One moment, let me check
|
|
2257
|
+
* that." when executing the tool.
|
|
2258
|
+
*/
|
|
2259
|
+
speak_during_execution?: boolean;
|
|
2260
|
+
|
|
2261
|
+
/**
|
|
2262
|
+
* The maximum time in milliseconds the code can run before it's considered
|
|
2263
|
+
* timeout. Defaults to 30,000 ms (30 s).
|
|
2264
|
+
*/
|
|
2265
|
+
timeout_ms?: number;
|
|
2266
|
+
}
|
|
2267
|
+
|
|
1177
2268
|
export interface PronunciationDictionary {
|
|
1178
2269
|
/**
|
|
1179
2270
|
* The phonetic alphabet to use. MiniMax speech-02-turbo supports IPA and Pinyin.
|
|
@@ -1396,9 +2487,16 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
1396
2487
|
| 'gpt-5.5'
|
|
1397
2488
|
| 'gpt-5.6-terra'
|
|
1398
2489
|
| 'gpt-5.6-luna'
|
|
2490
|
+
| 'gpt-6-astra'
|
|
2491
|
+
| 'gpt-6-sol'
|
|
2492
|
+
| 'gpt-6.1-sol'
|
|
2493
|
+
| 'gpt-6-luna'
|
|
1399
2494
|
| 'claude-4.5-sonnet'
|
|
1400
2495
|
| 'claude-4.6-sonnet'
|
|
2496
|
+
| 'claude-5-opus'
|
|
2497
|
+
| 'claude-5.5-opus'
|
|
1401
2498
|
| 'claude-5-sonnet'
|
|
2499
|
+
| 'claude-5.5-sonnet'
|
|
1402
2500
|
| 'claude-4.5-haiku'
|
|
1403
2501
|
| 'gemini-3.0-flash'
|
|
1404
2502
|
| 'gemini-3.1-flash-lite'
|
|
@@ -1470,9 +2568,16 @@ export namespace BatchCallCreateBatchCallParams {
|
|
|
1470
2568
|
| 'gpt-5.5'
|
|
1471
2569
|
| 'gpt-5.6-terra'
|
|
1472
2570
|
| 'gpt-5.6-luna'
|
|
2571
|
+
| 'gpt-6-astra'
|
|
2572
|
+
| 'gpt-6-sol'
|
|
2573
|
+
| 'gpt-6.1-sol'
|
|
2574
|
+
| 'gpt-6-luna'
|
|
1473
2575
|
| 'claude-4.5-sonnet'
|
|
1474
2576
|
| 'claude-4.6-sonnet'
|
|
2577
|
+
| 'claude-5-opus'
|
|
2578
|
+
| 'claude-5.5-opus'
|
|
1475
2579
|
| 'claude-5-sonnet'
|
|
2580
|
+
| 'claude-5.5-sonnet'
|
|
1476
2581
|
| 'claude-4.5-haiku'
|
|
1477
2582
|
| 'gemini-3.0-flash'
|
|
1478
2583
|
| 'gemini-3.1-flash-lite'
|