Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 106 additions & 11 deletions fern/apis/signalwire-rest/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34924,10 +34924,21 @@ components:
The fields of this object are the six following.
defaults:
allOf:
- $ref: '#/components/schemas/SWML.Calling.SWAIGDefaults'
- $ref: '#/components/schemas/SWML.Calling.BedrockSWAIGDefaults'
description: Default settings for all SWAIG functions. If `defaults` is not set, settings may be set in each function object. Default is not set.
unevaluatedProperties:
not: {}
SWML.Calling.BedrockSWAIGDefaults:
type: object
properties:
web_hook_url:
type: string
description: Default URL to send status callbacks and reports to. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- https://username:password@example.com
unevaluatedProperties:
not: {}
title: defaults
SWML.Calling.BedrockSWAIGFunction:
anyOf:
- type: object
Expand Down Expand Up @@ -34967,7 +34978,7 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
function:
type: string
description: A unique name for the function. This can be any user-defined string or can reference a reserved function. Reserved functions are SignalWire functions that will be executed at certain points in the conversation.
Expand Down Expand Up @@ -35017,7 +35028,7 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
function:
type: string
enum:
Expand Down Expand Up @@ -35067,7 +35078,7 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
function:
type: string
enum:
Expand Down Expand Up @@ -35117,7 +35128,7 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
function:
type: string
enum:
Expand Down Expand Up @@ -37647,7 +37658,23 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
web_hook_auth_user:
type: string
description: Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.
examples:
- username
web_hook_auth_password:
type: string
description: Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.
examples:
- password
web_hook_auth_pass:
type: string
description: |-
Deprecated. Use `web_hook_auth_password` instead.
This alias is accepted on individual functions only, not in `defaults`.
deprecated: true
wait_file:
type: string
format: uri
Expand Down Expand Up @@ -40078,7 +40105,17 @@ components:
type: string
description: Default URL to send status callbacks and reports to. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password@https://example.com
- https://username:password@example.com
web_hook_auth_user:
type: string
description: Default username for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_user`.
examples:
- username
web_hook_auth_password:
type: string
description: Default password for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_password`.
examples:
- password
unevaluatedProperties:
not: {}
title: defaults
Expand Down Expand Up @@ -40106,7 +40143,17 @@ components:
type: string
description: URL to fetch remote functions and include in your AI application. Authentication can also be set in the url in the format of `username:password@url`.
examples:
- username:password@https://example.com
- https://username:password@example.com
auth_user:
type: string
description: Username for basic auth on the signature request to `url`.
examples:
- username
auth_password:
type: string
description: Password for basic auth on the signature request to `url`.
examples:
- password
meta_data:
type: object
unevaluatedProperties: {}
Expand Down Expand Up @@ -40648,7 +40695,23 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
web_hook_auth_user:
type: string
description: Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.
examples:
- username
web_hook_auth_password:
type: string
description: Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.
examples:
- password
web_hook_auth_pass:
type: string
description: |-
Deprecated. Use `web_hook_auth_password` instead.
This alias is accepted on individual functions only, not in `defaults`.
deprecated: true
wait_file:
type: string
format: uri
Expand Down Expand Up @@ -41042,7 +41105,23 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
web_hook_auth_user:
type: string
description: Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.
examples:
- username
web_hook_auth_password:
type: string
description: Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.
examples:
- password
web_hook_auth_pass:
type: string
description: |-
Deprecated. Use `web_hook_auth_password` instead.
This alias is accepted on individual functions only, not in `defaults`.
deprecated: true
wait_file:
type: string
format: uri
Expand Down Expand Up @@ -42121,7 +42200,23 @@ components:
type: string
description: Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`
examples:
- username:password:https://statuscallback.com
- https://username:password@example.com
web_hook_auth_user:
type: string
description: Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.
examples:
- username
web_hook_auth_password:
type: string
description: Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.
examples:
- password
web_hook_auth_pass:
type: string
description: |-
Deprecated. Use `web_hook_auth_password` instead.
This alias is accepted on individual functions only, not in `defaults`.
deprecated: true
wait_file:
type: string
format: uri
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,16 @@ An array of JSON objects to define functions that can be executed during the int
</ParamField>


<ParamField path="functions[].web_hook_auth_user" type="string" toc={true}>
Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.
</ParamField>


<ParamField path="functions[].web_hook_auth_password" type="string" toc={true}>
Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.
</ParamField>


<ParamField path="functions[].purpose" type="string" deprecated={true} toc={true}>
Deprecated. Use `description` instead.
</ParamField>
Expand All @@ -99,6 +109,11 @@ An array of JSON objects to define functions that can be executed during the int
</ParamField>


<ParamField path="functions[].web_hook_auth_pass" type="string" deprecated={true} toc={true}>
Deprecated. Use `web_hook_auth_password` instead. This alias is accepted on individual functions only, not in `defaults`.
</ParamField>


</Indent>

## Tool webhook
Expand Down Expand Up @@ -261,12 +276,12 @@ sections:
- get_phone_number
- get_address
url: https://example.com/functions
user: me
pass: secret
auth_user: me
auth_password: secret
defaults:
web_hook_url: https://example.com/my-webhook
web_hook_auth_user: me
web_hook_auth_pass: secret
web_hook_auth_password: secret
functions:
- function: get_weather
description: To determine what the current weather is in a provided location.
Expand Down Expand Up @@ -309,14 +324,14 @@ sections:
"get_address"
],
"url": "https://example.com/functions",
"user": "me",
"pass": "secret"
"auth_user": "me",
"auth_password": "secret"
}
],
"defaults": {
"web_hook_url": "https://example.com/my-webhook",
"web_hook_auth_user": "me",
"web_hook_auth_pass": "secret"
"web_hook_auth_password": "secret"
},
"functions": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,16 @@ The SignalWire AI Gateway Interface. Allows you to create user-defined functions
[tool webhook](/docs/swml/reference/calling/ai/swaig/functions#tool-webhook).
</ParamField>


<ParamField path="defaults.web_hook_auth_user" type="string" toc={true}>
The default username for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_user`.
</ParamField>


<ParamField path="defaults.web_hook_auth_password" type="string" toc={true}>
The default password for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_password`.
</ParamField>

</Indent>


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
@summary("defaults")
model SWAIGDefaults {
@doc("Default URL to send status callbacks and reports to. Authentication can also be set in the url in the format of `username:password@url.`")
@example("username:password@https://example.com")
@example("https://username:password@example.com")
web_hook_url?: string;

@doc("Default username for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_user`.")
@example("username")
web_hook_auth_user?: string;

@doc("Default password for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_password`.")
@example("password")
web_hook_auth_password?: string;
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,17 @@ model SWAIGFunction {
data_map?: DataMap;

@doc("Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`")
@example("username:password:https://statuscallback.com")
@example("https://username:password@example.com")
web_hook_url?: string;

@doc("Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.")
@example("username")
web_hook_auth_user?: string;

@doc("Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.")
@example("password")
web_hook_auth_password?: string;

@doc("A file to play while the function is running. `wait_file_loops` can specify the amount of times that files should continuously play. Default is not set.")
@example("https://cdn.signalwire.com/default-music/welcome.mp3")
wait_file?: url;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,17 @@ model SWAIGIncludes {
functions: string[];

@doc("URL to fetch remote functions and include in your AI application. Authentication can also be set in the url in the format of `username:password@url`.")
@example("username:password@https://example.com")
@example("https://username:password@example.com")
url: string;

@doc("Username for basic auth on the signature request to `url`.")
@example("username")
auth_user?: string;

@doc("Password for basic auth on the signature request to `url`.")
@example("password")
auth_password?: string;

@doc("")
meta_data?: {
...TypeSpec.Record<unknown>;
Expand Down
10 changes: 9 additions & 1 deletion specs/swml/calling/Methods/ai/swaig/defaults.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ namespace SWML.Calling;
@summary("defaults")
model SWAIGDefaults {
@doc("Default URL to send status callbacks and reports to. Authentication can also be set in the url in the format of `username:password@url.`")
@example("username:password@https://example.com")
@example("https://username:password@example.com")
web_hook_url?: string;

@doc("Default username for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_user`.")
@example("username")
web_hook_auth_user?: string;

@doc("Default password for basic auth on the function webhook, for functions that don't set their own `web_hook_auth_password`.")
@example("password")
web_hook_auth_password?: string;
}
17 changes: 16 additions & 1 deletion specs/swml/calling/Methods/ai/swaig/functions/main.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,24 @@ model SWAIGFunctionBase {
skip_fillers?: boolean | SWMLVar = false;

@doc("Function-specific URL to send status callbacks and reports to. Takes precedence over a default setting. Authentication can also be set in the url in the format of `username:password@url.`")
@example("username:password:https://statuscallback.com")
@example("https://username:password@example.com")
web_hook_url?: string;

@doc("Username for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_user`.")
@example("username")
web_hook_auth_user?: string;

@doc("Password for basic auth on this function's webhook. Falls back to `defaults.web_hook_auth_password`.")
@example("password")
web_hook_auth_password?: string;

#deprecated "Use `web_hook_auth_password` instead."
@doc("""
Deprecated. Use `web_hook_auth_password` instead.
This alias is accepted on individual functions only, not in `defaults`.
""")
web_hook_auth_pass?: string;

@doc("A file to play while the function is running. `wait_file_loops` can specify the amount of times that files should continously play. Default is not set.")
@example("https://cdn.signalwire.com/default-music/welcome.mp3")
wait_file?: url;
Expand Down
10 changes: 9 additions & 1 deletion specs/swml/calling/Methods/ai/swaig/includes.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,17 @@ model SWAIGIncludes {
functions: string[];

@doc("URL to fetch remote functions and include in your AI application. Authentication can also be set in the url in the format of `username:password@url`.")
@example("username:password@https://example.com")
@example("https://username:password@example.com")
url: string;

@doc("Username for basic auth on the signature request to `url`.")
@example("username")
auth_user?: string;

@doc("Password for basic auth on the signature request to `url`.")
@example("password")
auth_password?: string;

@doc("User-defined metadata to pass with the remote function request.")
@example(#{ customer_id: "cust_123", session_type: "support" })
meta_data?: {
Expand Down
Loading
Loading