/**
* (C) Copyright IBM Corp. 2018, 2025.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
///
import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http';
import { AbortSignal, BaseService, UserOptions } from 'ibm-cloud-sdk-core';
/**
* The IBM Watson™ Assistant service combines machine learning, natural language understanding, and an integrated
* dialog editor to create conversation flows between your apps and your users.
*
* The Assistant v1 API provides authoring methods your application can use to create or update a workspace.
*
* API Version: 1.0
* See: https://cloud.ibm.com/docs/assistant
*/
declare class AssistantV1 extends BaseService {
static DEFAULT_SERVICE_URL: string;
static DEFAULT_SERVICE_NAME: string;
/** Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is
* `2021-11-27`.
*/
version: string;
/**
* Construct a AssistantV1 object.
*
* @param {Object} options - Options for the service.
* @param {string} options.version - Release date of the API version you want to use. Specify dates in YYYY-MM-DD
* format. The current version is `2021-11-27`.
* @param {string} [options.serviceUrl] - The base URL for the service
* @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service.
* @param {string} [options.serviceName] - The name of the service to configure
* @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service. Defaults to environment if not set
* @constructor
* @returns {AssistantV1}
*/
constructor(options: UserOptions);
/*************************
* message
************************/
/**
* Get response to user input.
*
* Send user input to a workspace and receive a response.
*
* **Important:** This method has been superseded by the new v2 runtime API. The v2 API offers significant advantages,
* including ease of deployment, automatic state management, versioning, and search capabilities. For more
* information, see the [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-api-overview).
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {MessageInput} [params.input] - An input object that includes the input text.
* @param {RuntimeIntent[]} [params.intents] - Intents to use when evaluating the user input. Include intents from the
* previous response to continue using those intents rather than trying to recognize intents in the new input.
* @param {RuntimeEntity[]} [params.entities] - Entities to use when evaluating the message. Include entities from the
* previous response to continue using those entities rather than detecting entities in the new input.
* @param {boolean} [params.alternateIntents] - Whether to return more than one intent. A value of `true` indicates
* that all matching intents are returned.
* @param {Context} [params.context] - State information for the conversation. To maintain state, include the context
* from the previous response.
* @param {OutputData} [params.output] - An output object that includes the response to the user, the dialog nodes
* that were triggered, and messages from the log.
* @param {string} [params.userId] - A string value that identifies the user who is interacting with the workspace.
* The client must provide a unique identifier for each individual end user who accesses the application. For
* user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain
* carriage return, newline, or tab characters. If no value is specified in the input, **user_id** is automatically
* set to the value of **context.conversation_id**.
*
* **Note:** This property is the same as the **user_id** property in the context metadata. If **user_id** is
* specified in both locations in a message request, the value specified at the root is used.
* @param {boolean} [params.nodesVisitedDetails] - Whether to include additional diagnostic information about the
* dialog nodes that were visited during processing of the message.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
message(params: AssistantV1.MessageParams): Promise>;
/*************************
* bulkClassify
************************/
/**
* Identify intents and entities in multiple user utterances.
*
* Send multiple user inputs to a workspace in a single request and receive information about the intents and entities
* recognized in each input. This method is useful for testing and comparing the performance of different workspaces.
*
* This method is available only with Enterprise with Data Isolation plans.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {BulkClassifyUtterance[]} [params.input] - An array of input utterances to classify.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
bulkClassify(params: AssistantV1.BulkClassifyParams): Promise>;
/*************************
* workspaces
************************/
/**
* List workspaces.
*
* List the workspaces associated with a Watson Assistant service instance.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned workspaces will be sorted. To reverse the sort
* order, prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listWorkspaces(params?: AssistantV1.ListWorkspacesParams): Promise>;
/**
* Create workspace.
*
* Create a workspace based on component objects. You must provide workspace components defining the content of the
* new workspace.
*
* **Note:** The new workspace data cannot be larger than 1.5 MB. For larger requests, use the **Create workspace
* asynchronously** method.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {string} [params.name] - The name of the workspace. This string cannot contain carriage return, newline, or
* tab characters.
* @param {string} [params.description] - The description of the workspace. This string cannot contain carriage
* return, newline, or tab characters.
* @param {string} [params.language] - The language of the workspace.
* @param {DialogNode[]} [params.dialogNodes] - An array of objects describing the dialog nodes in the workspace.
* @param {Counterexample[]} [params.counterexamples] - An array of objects defining input examples that have been
* marked as irrelevant input.
* @param {JsonObject} [params.metadata] - Any metadata related to the workspace.
* @param {boolean} [params.learningOptOut] - Whether training data from the workspace (including artifacts such as
* intents and entities) can be used by IBM for general service improvements. `true` indicates that workspace training
* data is not to be used.
* @param {WorkspaceSystemSettings} [params.systemSettings] - Global settings for the workspace.
* @param {Webhook[]} [params.webhooks] -
* @param {CreateIntent[]} [params.intents] - An array of objects defining the intents for the workspace.
* @param {CreateEntity[]} [params.entities] - An array of objects describing the entities for the workspace.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createWorkspace(params?: AssistantV1.CreateWorkspaceParams): Promise>;
/**
* Get information about a workspace.
*
* Get information about a workspace, optionally including all workspace content.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {string} [params.sort] - Indicates how the returned workspace data will be sorted. This parameter is valid
* only if **export**=`true`. Specify `sort=stable` to sort all workspace objects by unique identifier, in ascending
* alphabetical order.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getWorkspace(params: AssistantV1.GetWorkspaceParams): Promise>;
/**
* Update workspace.
*
* Update an existing workspace with new or modified data. You must provide component objects defining the content of
* the updated workspace.
*
* **Note:** The new workspace data cannot be larger than 1.5 MB. For larger requests, use the **Update workspace
* asynchronously** method.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} [params.name] - The name of the workspace. This string cannot contain carriage return, newline, or
* tab characters.
* @param {string} [params.description] - The description of the workspace. This string cannot contain carriage
* return, newline, or tab characters.
* @param {string} [params.language] - The language of the workspace.
* @param {DialogNode[]} [params.dialogNodes] - An array of objects describing the dialog nodes in the workspace.
* @param {Counterexample[]} [params.counterexamples] - An array of objects defining input examples that have been
* marked as irrelevant input.
* @param {JsonObject} [params.metadata] - Any metadata related to the workspace.
* @param {boolean} [params.learningOptOut] - Whether training data from the workspace (including artifacts such as
* intents and entities) can be used by IBM for general service improvements. `true` indicates that workspace training
* data is not to be used.
* @param {WorkspaceSystemSettings} [params.systemSettings] - Global settings for the workspace.
* @param {Webhook[]} [params.webhooks] -
* @param {CreateIntent[]} [params.intents] - An array of objects defining the intents for the workspace.
* @param {CreateEntity[]} [params.entities] - An array of objects describing the entities for the workspace.
* @param {boolean} [params.append] - Whether the new data is to be appended to the existing data in the object. If
* **append**=`false`, elements included in the new data completely replace the corresponding existing elements,
* including all subelements. For example, if the new data for a workspace includes **entities** and
* **append**=`false`, all existing entities in the workspace are discarded and replaced with the new entities.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the new
* data collide with existing elements, the update request fails.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateWorkspace(params: AssistantV1.UpdateWorkspaceParams): Promise>;
/**
* Delete workspace.
*
* Delete a workspace from the service instance.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteWorkspace(params: AssistantV1.DeleteWorkspaceParams): Promise>;
/**
* Create workspace asynchronously.
*
* Create a workspace asynchronously based on component objects. You must provide workspace components defining the
* content of the new workspace.
*
* A successful call to this method only initiates asynchronous creation of the workspace. The new workspace is not
* available until processing completes. To check the status of the asynchronous operation, use the **Get information
* about a workspace** method.
*
* @param {Object} [params] - The parameters to send to the service.
* @param {string} [params.name] - The name of the workspace. This string cannot contain carriage return, newline, or
* tab characters.
* @param {string} [params.description] - The description of the workspace. This string cannot contain carriage
* return, newline, or tab characters.
* @param {string} [params.language] - The language of the workspace.
* @param {DialogNode[]} [params.dialogNodes] - An array of objects describing the dialog nodes in the workspace.
* @param {Counterexample[]} [params.counterexamples] - An array of objects defining input examples that have been
* marked as irrelevant input.
* @param {JsonObject} [params.metadata] - Any metadata related to the workspace.
* @param {boolean} [params.learningOptOut] - Whether training data from the workspace (including artifacts such as
* intents and entities) can be used by IBM for general service improvements. `true` indicates that workspace training
* data is not to be used.
* @param {WorkspaceSystemSettings} [params.systemSettings] - Global settings for the workspace.
* @param {Webhook[]} [params.webhooks] -
* @param {CreateIntent[]} [params.intents] - An array of objects defining the intents for the workspace.
* @param {CreateEntity[]} [params.entities] - An array of objects describing the entities for the workspace.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createWorkspaceAsync(params?: AssistantV1.CreateWorkspaceAsyncParams): Promise>;
/**
* Update workspace asynchronously.
*
* Update an existing workspace asynchronously with new or modified data. You must provide component objects defining
* the content of the updated workspace.
*
* A successful call to this method only initiates an asynchronous update of the workspace. The updated workspace is
* not available until processing completes. To check the status of the asynchronous operation, use the **Get
* information about a workspace** method.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} [params.name] - The name of the workspace. This string cannot contain carriage return, newline, or
* tab characters.
* @param {string} [params.description] - The description of the workspace. This string cannot contain carriage
* return, newline, or tab characters.
* @param {string} [params.language] - The language of the workspace.
* @param {DialogNode[]} [params.dialogNodes] - An array of objects describing the dialog nodes in the workspace.
* @param {Counterexample[]} [params.counterexamples] - An array of objects defining input examples that have been
* marked as irrelevant input.
* @param {JsonObject} [params.metadata] - Any metadata related to the workspace.
* @param {boolean} [params.learningOptOut] - Whether training data from the workspace (including artifacts such as
* intents and entities) can be used by IBM for general service improvements. `true` indicates that workspace training
* data is not to be used.
* @param {WorkspaceSystemSettings} [params.systemSettings] - Global settings for the workspace.
* @param {Webhook[]} [params.webhooks] -
* @param {CreateIntent[]} [params.intents] - An array of objects defining the intents for the workspace.
* @param {CreateEntity[]} [params.entities] - An array of objects describing the entities for the workspace.
* @param {boolean} [params.append] - Whether the new data is to be appended to the existing data in the object. If
* **append**=`false`, elements included in the new data completely replace the corresponding existing elements,
* including all subelements. For example, if the new data for a workspace includes **entities** and
* **append**=`false`, all existing entities in the workspace are discarded and replaced with the new entities.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the new
* data collide with existing elements, the update request fails.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateWorkspaceAsync(params: AssistantV1.UpdateWorkspaceAsyncParams): Promise>;
/**
* Export workspace asynchronously.
*
* Export the entire workspace asynchronously, including all workspace content.
*
* A successful call to this method only initiates an asynchronous export. The exported JSON data is not available
* until processing completes. After the initial request is submitted, you can continue to poll by calling the same
* request again and checking the value of the **status** property. When processing has completed, the request returns
* the exported JSON data. Remember that the usual rate limits apply.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {string} [params.sort] - Indicates how the returned workspace data will be sorted. Specify `sort=stable` to
* sort all workspace objects by unique identifier, in ascending alphabetical order.
* @param {boolean} [params.verbose] - Whether the response should include the `counts` property, which indicates how
* many of each component (such as intents and entities) the workspace contains.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
exportWorkspaceAsync(params: AssistantV1.ExportWorkspaceAsyncParams): Promise>;
/*************************
* intents
************************/
/**
* List intents.
*
* List the intents for a workspace.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned intents will be sorted. To reverse the sort order,
* prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listIntents(params: AssistantV1.ListIntentsParams): Promise>;
/**
* Create intent.
*
* Create a new intent.
*
* If you want to create multiple intents with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The name of the intent. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, hyphen, and dot characters.
* - It cannot begin with the reserved prefix `sys-`.
* @param {string} [params.description] - The description of the intent. This string cannot contain carriage return,
* newline, or tab characters.
* @param {Example[]} [params.examples] - An array of user input examples for the intent.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createIntent(params: AssistantV1.CreateIntentParams): Promise>;
/**
* Get intent.
*
* Get information about an intent, optionally including all intent content.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getIntent(params: AssistantV1.GetIntentParams): Promise>;
/**
* Update intent.
*
* Update an existing intent with new or modified data. You must provide component objects defining the content of the
* updated intent.
*
* If you want to update multiple intents with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {string} [params.newIntent] - The name of the intent. This string must conform to the following
* restrictions:
* - It can contain only Unicode alphanumeric, underscore, hyphen, and dot characters.
* - It cannot begin with the reserved prefix `sys-`.
* @param {string} [params.newDescription] - The description of the intent. This string cannot contain carriage
* return, newline, or tab characters.
* @param {Example[]} [params.newExamples] - An array of user input examples for the intent.
* @param {boolean} [params.append] - Whether the new data is to be appended to the existing data in the object. If
* **append**=`false`, elements included in the new data completely replace the corresponding existing elements,
* including all subelements. For example, if the new data for the intent includes **examples** and
* **append**=`false`, all existing examples for the intent are discarded and replaced with the new examples.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the new
* data collide with existing elements, the update request fails.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateIntent(params: AssistantV1.UpdateIntentParams): Promise>;
/**
* Delete intent.
*
* Delete an intent from a workspace.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteIntent(params: AssistantV1.DeleteIntentParams): Promise>;
/*************************
* examples
************************/
/**
* List user input examples.
*
* List the user input examples for an intent, optionally including contextual entity mentions.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned examples will be sorted. To reverse the sort order,
* prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listExamples(params: AssistantV1.ListExamplesParams): Promise>;
/**
* Create user input example.
*
* Add a new user input example to an intent.
*
* If you want to add multiple examples with a single API call, consider using the **[Update intent](#update-intent)**
* method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {string} params.text - The text of a user input example. This string must conform to the following
* restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {Mention[]} [params.mentions] - An array of contextual entity mentions.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createExample(params: AssistantV1.CreateExampleParams): Promise>;
/**
* Get user input example.
*
* Get information about a user input example.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {string} params.text - The text of the user input example.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getExample(params: AssistantV1.GetExampleParams): Promise>;
/**
* Update user input example.
*
* Update the text of a user input example.
*
* If you want to update multiple examples with a single API call, consider using the **[Update
* intent](#update-intent)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {string} params.text - The text of the user input example.
* @param {string} [params.newText] - The text of the user input example. This string must conform to the following
* restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {Mention[]} [params.newMentions] - An array of contextual entity mentions.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateExample(params: AssistantV1.UpdateExampleParams): Promise>;
/**
* Delete user input example.
*
* Delete a user input example from an intent.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.intent - The intent name.
* @param {string} params.text - The text of the user input example.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteExample(params: AssistantV1.DeleteExampleParams): Promise>;
/*************************
* counterexamples
************************/
/**
* List counterexamples.
*
* List the counterexamples for a workspace. Counterexamples are examples that have been marked as irrelevant input.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned counterexamples will be sorted. To reverse the sort
* order, prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listCounterexamples(params: AssistantV1.ListCounterexamplesParams): Promise>;
/**
* Create counterexample.
*
* Add a new counterexample to a workspace. Counterexamples are examples that have been marked as irrelevant input.
*
* If you want to add multiple counterexamples with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.text - The text of a user input marked as irrelevant input. This string must conform to the
* following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createCounterexample(params: AssistantV1.CreateCounterexampleParams): Promise>;
/**
* Get counterexample.
*
* Get information about a counterexample. Counterexamples are examples that have been marked as irrelevant input.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.text - The text of a user input counterexample (for example, `What are you wearing?`).
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getCounterexample(params: AssistantV1.GetCounterexampleParams): Promise>;
/**
* Update counterexample.
*
* Update the text of a counterexample. Counterexamples are examples that have been marked as irrelevant input.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.text - The text of a user input counterexample (for example, `What are you wearing?`).
* @param {string} [params.newText] - The text of a user input marked as irrelevant input. This string must conform to
* the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateCounterexample(params: AssistantV1.UpdateCounterexampleParams): Promise>;
/**
* Delete counterexample.
*
* Delete a counterexample from a workspace. Counterexamples are examples that have been marked as irrelevant input.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.text - The text of a user input counterexample (for example, `What are you wearing?`).
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteCounterexample(params: AssistantV1.DeleteCounterexampleParams): Promise>;
/*************************
* entities
************************/
/**
* List entities.
*
* List the entities for a workspace.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned entities will be sorted. To reverse the sort order,
* prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listEntities(params: AssistantV1.ListEntitiesParams): Promise>;
/**
* Create entity.
*
* Create a new entity, or enable a system entity.
*
* If you want to create multiple entities with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, and hyphen characters.
* - If you specify an entity name beginning with the reserved prefix `sys-`, it must be the name of a system entity
* that you want to enable. (Any entity content specified with the request is ignored.).
* @param {string} [params.description] - The description of the entity. This string cannot contain carriage return,
* newline, or tab characters.
* @param {JsonObject} [params.metadata] - Any metadata related to the entity.
* @param {boolean} [params.fuzzyMatch] - Whether to use fuzzy matching for the entity.
* @param {CreateValue[]} [params.values] - An array of objects describing the entity values.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createEntity(params: AssistantV1.CreateEntityParams): Promise>;
/**
* Get entity.
*
* Get information about an entity, optionally including all entity content.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getEntity(params: AssistantV1.GetEntityParams): Promise>;
/**
* Update entity.
*
* Update an existing entity with new or modified data. You must provide component objects defining the content of the
* updated entity.
*
* If you want to update multiple entities with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} [params.newEntity] - The name of the entity. This string must conform to the following
* restrictions:
* - It can contain only Unicode alphanumeric, underscore, and hyphen characters.
* - It cannot begin with the reserved prefix `sys-`.
* @param {string} [params.newDescription] - The description of the entity. This string cannot contain carriage
* return, newline, or tab characters.
* @param {JsonObject} [params.newMetadata] - Any metadata related to the entity.
* @param {boolean} [params.newFuzzyMatch] - Whether to use fuzzy matching for the entity.
* @param {CreateValue[]} [params.newValues] - An array of objects describing the entity values.
* @param {boolean} [params.append] - Whether the new data is to be appended to the existing data in the entity. If
* **append**=`false`, elements included in the new data completely replace the corresponding existing elements,
* including all subelements. For example, if the new data for the entity includes **values** and **append**=`false`,
* all existing values for the entity are discarded and replaced with the new values.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the new
* data collide with existing elements, the update request fails.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateEntity(params: AssistantV1.UpdateEntityParams): Promise>;
/**
* Delete entity.
*
* Delete an entity from a workspace, or disable a system entity.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteEntity(params: AssistantV1.DeleteEntityParams): Promise>;
/*************************
* mentions
************************/
/**
* List entity mentions.
*
* List mentions for a contextual entity. An entity mention is an occurrence of a contextual entity in the context of
* an intent user input example.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listMentions(params: AssistantV1.ListMentionsParams): Promise>;
/*************************
* values
************************/
/**
* List entity values.
*
* List the values for an entity.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned entity values will be sorted. To reverse the sort
* order, prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listValues(params: AssistantV1.ListValuesParams): Promise>;
/**
* Create entity value.
*
* Create a new value for an entity.
*
* If you want to create multiple entity values with a single API call, consider using the **[Update
* entity](#update-entity)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value. This string must conform to the following
* restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {JsonObject} [params.metadata] - Any metadata related to the entity value.
* @param {string} [params.type] - Specifies the type of entity value.
* @param {string[]} [params.synonyms] - An array of synonyms for the entity value. A value can specify either
* synonyms or patterns (depending on the value type), but not both. A synonym must conform to the following
* resrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {string[]} [params.patterns] - An array of patterns for the entity value. A value can specify either
* synonyms or patterns (depending on the value type), but not both. A pattern is a regular expression; for more
* information about how to specify a pattern, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-entities#entities-create-dictionary-based).
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createValue(params: AssistantV1.CreateValueParams): Promise>;
/**
* Get entity value.
*
* Get information about an entity value.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {boolean} [params._export] - Whether to include all element content in the returned data. If
* **export**=`false`, the returned data includes only information about the element itself. If **export**=`true`, all
* content, including subelements, is included.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getValue(params: AssistantV1.GetValueParams): Promise>;
/**
* Update entity value.
*
* Update an existing entity value with new or modified data. You must provide component objects defining the content
* of the updated entity value.
*
* If you want to update multiple entity values with a single API call, consider using the **[Update
* entity](#update-entity)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {string} [params.newValue] - The text of the entity value. This string must conform to the following
* restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {JsonObject} [params.newMetadata] - Any metadata related to the entity value.
* @param {string} [params.newType] - Specifies the type of entity value.
* @param {string[]} [params.newSynonyms] - An array of synonyms for the entity value. A value can specify either
* synonyms or patterns (depending on the value type), but not both. A synonym must conform to the following
* resrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {string[]} [params.newPatterns] - An array of patterns for the entity value. A value can specify either
* synonyms or patterns (depending on the value type), but not both. A pattern is a regular expression; for more
* information about how to specify a pattern, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-entities#entities-create-dictionary-based).
* @param {boolean} [params.append] - Whether the new data is to be appended to the existing data in the entity value.
* If **append**=`false`, elements included in the new data completely replace the corresponding existing elements,
* including all subelements. For example, if the new data for the entity value includes **synonyms** and
* **append**=`false`, all existing synonyms for the entity value are discarded and replaced with the new synonyms.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the new
* data collide with existing elements, the update request fails.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateValue(params: AssistantV1.UpdateValueParams): Promise>;
/**
* Delete entity value.
*
* Delete a value from an entity.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteValue(params: AssistantV1.DeleteValueParams): Promise>;
/*************************
* synonyms
************************/
/**
* List entity value synonyms.
*
* List the synonyms for an entity value.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned entity value synonyms will be sorted. To reverse
* the sort order, prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listSynonyms(params: AssistantV1.ListSynonymsParams): Promise>;
/**
* Create entity value synonym.
*
* Add a new synonym to an entity value.
*
* If you want to create multiple synonyms with a single API call, consider using the **[Update
* entity](#update-entity)** or **[Update entity value](#update-entity-value)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {string} params.synonym - The text of the synonym. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createSynonym(params: AssistantV1.CreateSynonymParams): Promise>;
/**
* Get entity value synonym.
*
* Get information about a synonym of an entity value.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {string} params.synonym - The text of the synonym.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getSynonym(params: AssistantV1.GetSynonymParams): Promise>;
/**
* Update entity value synonym.
*
* Update an existing entity value synonym with new text.
*
* If you want to update multiple synonyms with a single API call, consider using the **[Update
* entity](#update-entity)** or **[Update entity value](#update-entity-value)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {string} params.synonym - The text of the synonym.
* @param {string} [params.newSynonym] - The text of the synonym. This string must conform to the following
* restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateSynonym(params: AssistantV1.UpdateSynonymParams): Promise>;
/**
* Delete entity value synonym.
*
* Delete a synonym from an entity value.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.entity - The name of the entity.
* @param {string} params.value - The text of the entity value.
* @param {string} params.synonym - The text of the synonym.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteSynonym(params: AssistantV1.DeleteSynonymParams): Promise>;
/*************************
* dialogNodes
************************/
/**
* List dialog nodes.
*
* List the dialog nodes for a workspace.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {boolean} [params.includeCount] - Whether to include information about the number of records that satisfy
* the request, regardless of the page limit. If this parameter is `true`, the `pagination` object in the response
* includes the `total` property.
* @param {string} [params.sort] - The attribute by which returned dialog nodes will be sorted. To reverse the sort
* order, prefix the value with a minus sign (`-`).
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listDialogNodes(params: AssistantV1.ListDialogNodesParams): Promise>;
/**
* Create dialog node.
*
* Create a new dialog node.
*
* If you want to create multiple dialog nodes with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.dialogNode - The unique ID of the dialog node. This is an internal identifier used to refer
* to the dialog node from other dialog nodes and in the diagnostic information included with message responses.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
* @param {string} [params.description] - The description of the dialog node. This string cannot contain carriage
* return, newline, or tab characters.
* @param {string} [params.conditions] - The condition that will trigger the dialog node. This string cannot contain
* carriage return, newline, or tab characters.
* @param {string} [params.parent] - The unique ID of the parent dialog node. This property is omitted if the dialog
* node has no parent.
* @param {string} [params.previousSibling] - The unique ID of the previous sibling dialog node. This property is
* omitted if the dialog node has no previous sibling.
* @param {DialogNodeOutput} [params.output] - The output of the dialog node. For more information about how to
* specify dialog node output, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview#dialog-overview-responses).
* @param {DialogNodeContext} [params.context] - The context for the dialog node.
* @param {JsonObject} [params.metadata] - The metadata for the dialog node.
* @param {DialogNodeNextStep} [params.nextStep] - The next step to execute following this dialog node.
* @param {string} [params.title] - A human-readable name for the dialog node. If the node is included in
* disambiguation, this title is used to populate the **label** property of the corresponding suggestion in the
* `suggestion` response type (unless it is overridden by the **user_label** property). The title is also used to
* populate the **topic** property in the `connect_to_agent` response type.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
* @param {string} [params.type] - How the dialog node is processed.
* @param {string} [params.eventName] - How an `event_handler` node is processed.
* @param {string} [params.variable] - The location in the dialog context where output is stored.
* @param {DialogNodeAction[]} [params.actions] - An array of objects describing any actions to be invoked by the
* dialog node.
* @param {string} [params.digressIn] - Whether this top-level dialog node can be digressed into.
* @param {string} [params.digressOut] - Whether this dialog node can be returned to after a digression.
* @param {string} [params.digressOutSlots] - Whether the user can digress to top-level nodes while filling out slots.
* @param {string} [params.userLabel] - A label that can be displayed externally to describe the purpose of the node
* to users. If set, this label is used to identify the node in disambiguation responses (overriding the value of the
* **title** property).
* @param {boolean} [params.disambiguationOptOut] - Whether the dialog node should be excluded from disambiguation
* suggestions. Valid only when **type**=`standard` or `frame`.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
createDialogNode(params: AssistantV1.CreateDialogNodeParams): Promise>;
/**
* Get dialog node.
*
* Get information about a dialog node.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.dialogNode - The dialog node ID (for example, `node_1_1479323581900`).
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
getDialogNode(params: AssistantV1.GetDialogNodeParams): Promise>;
/**
* Update dialog node.
*
* Update an existing dialog node with new or modified data.
*
* If you want to update multiple dialog nodes with a single API call, consider using the **[Update
* workspace](#update-workspace)** method instead.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.dialogNode - The dialog node ID (for example, `node_1_1479323581900`).
* @param {string} [params.newDialogNode] - The unique ID of the dialog node. This is an internal identifier used to
* refer to the dialog node from other dialog nodes and in the diagnostic information included with message responses.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
* @param {string} [params.newDescription] - The description of the dialog node. This string cannot contain carriage
* return, newline, or tab characters.
* @param {string} [params.newConditions] - The condition that will trigger the dialog node. This string cannot
* contain carriage return, newline, or tab characters.
* @param {string} [params.newParent] - The unique ID of the parent dialog node. This property is omitted if the
* dialog node has no parent.
* @param {string} [params.newPreviousSibling] - The unique ID of the previous sibling dialog node. This property is
* omitted if the dialog node has no previous sibling.
* @param {DialogNodeOutput} [params.newOutput] - The output of the dialog node. For more information about how to
* specify dialog node output, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview#dialog-overview-responses).
* @param {DialogNodeContext} [params.newContext] - The context for the dialog node.
* @param {JsonObject} [params.newMetadata] - The metadata for the dialog node.
* @param {DialogNodeNextStep} [params.newNextStep] - The next step to execute following this dialog node.
* @param {string} [params.newTitle] - A human-readable name for the dialog node. If the node is included in
* disambiguation, this title is used to populate the **label** property of the corresponding suggestion in the
* `suggestion` response type (unless it is overridden by the **user_label** property). The title is also used to
* populate the **topic** property in the `connect_to_agent` response type.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
* @param {string} [params.newType] - How the dialog node is processed.
* @param {string} [params.newEventName] - How an `event_handler` node is processed.
* @param {string} [params.newVariable] - The location in the dialog context where output is stored.
* @param {DialogNodeAction[]} [params.newActions] - An array of objects describing any actions to be invoked by the
* dialog node.
* @param {string} [params.newDigressIn] - Whether this top-level dialog node can be digressed into.
* @param {string} [params.newDigressOut] - Whether this dialog node can be returned to after a digression.
* @param {string} [params.newDigressOutSlots] - Whether the user can digress to top-level nodes while filling out
* slots.
* @param {string} [params.newUserLabel] - A label that can be displayed externally to describe the purpose of the
* node to users. If set, this label is used to identify the node in disambiguation responses (overriding the value of
* the **title** property).
* @param {boolean} [params.newDisambiguationOptOut] - Whether the dialog node should be excluded from disambiguation
* suggestions. Valid only when **type**=`standard` or `frame`.
* @param {boolean} [params.includeAudit] - Whether to include the audit properties (`created` and `updated`
* timestamps) in the response.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
updateDialogNode(params: AssistantV1.UpdateDialogNodeParams): Promise>;
/**
* Delete dialog node.
*
* Delete a dialog node from a workspace.
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} params.dialogNode - The dialog node ID (for example, `node_1_1479323581900`).
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteDialogNode(params: AssistantV1.DeleteDialogNodeParams): Promise>;
/*************************
* logs
************************/
/**
* List log events in a workspace.
*
* List the events from the log of a specific workspace.
*
* This method requires Manager access.
*
* **Note:** If you use the **cursor** parameter to retrieve results one page at a time, subsequent requests must be
* no more than 5 minutes apart. Any returned value for the **cursor** parameter becomes invalid after 5 minutes. For
* more information about using pagination, see [Pagination](#pagination).
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.workspaceId - Unique identifier of the workspace.
* @param {string} [params.sort] - How to sort the returned log events. You can sort by **request_timestamp**. To
* reverse the sort order, prefix the parameter value with a minus sign (`-`).
* @param {string} [params.filter] - A cacheable parameter that limits the results to those matching the specified
* filter. For more information, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-filter-reference#filter-reference).
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
*
* **Note:** If the API is not returning your data, try lowering the page_limit value.
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listLogs(params: AssistantV1.ListLogsParams): Promise>;
/**
* List log events in all workspaces.
*
* List the events from the logs of all workspaces in the service instance.
*
* **Note:** If you use the **cursor** parameter to retrieve results one page at a time, subsequent requests must be
* no more than 5 minutes apart. Any returned value for the **cursor** parameter becomes invalid after 5 minutes. For
* more information about using pagination, see [Pagination](#pagination).
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.filter - A cacheable parameter that limits the results to those matching the specified
* filter. You must specify a filter query that includes a value for `language`, as well as a value for
* `request.context.system.assistant_id`, `workspace_id`, or `request.context.metadata.deployment`. These required
* filters must be specified using the exact match (`::`) operator. For more information, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-filter-reference#filter-reference).
* @param {string} [params.sort] - How to sort the returned log events. You can sort by **request_timestamp**. To
* reverse the sort order, prefix the parameter value with a minus sign (`-`).
* @param {number} [params.pageLimit] - The number of records to return in each page of results.
* @param {string} [params.cursor] - A token identifying the page of results to retrieve.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
listAllLogs(params: AssistantV1.ListAllLogsParams): Promise>;
/*************************
* userData
************************/
/**
* Delete labeled data.
*
* Deletes all data associated with a specified customer ID. The method has no effect if no data is associated with
* the customer ID.
*
* You associate a customer ID with data by passing the `X-Watson-Metadata` header with a request that passes data.
* For more information about personal data and customer IDs, see [Information
* security](https://cloud.ibm.com/docs/assistant?topic=assistant-information-security#information-security).
*
* **Note:** This operation is intended only for deleting data associated with a single specific customer, not for
* deleting data associated with multiple customers or for any other purpose. For more information, see [Labeling and
* deleting data in Watson
* Assistant](https://cloud.ibm.com/docs/assistant?topic=assistant-information-security#information-security-gdpr-wa).
*
* @param {Object} params - The parameters to send to the service.
* @param {string} params.customerId - The customer ID for which all data is to be deleted.
* @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
* @returns {Promise>}
*/
deleteUserData(params: AssistantV1.DeleteUserDataParams): Promise>;
}
/*************************
* interfaces
************************/
declare namespace AssistantV1 {
/** Options for the `AssistantV1` constructor. */
export interface Options extends UserOptions {
/** Release date of the API version you want to use. Specify dates in YYYY-MM-DD format. The current version is
* `2021-11-27`.
*/
version: string;
}
/** An operation response. */
export interface Response {
result: T;
status: number;
statusText: string;
headers: IncomingHttpHeaders;
}
/** The callback for a service request. */
export type Callback = (error: any, response?: Response) => void;
/** The body of a service request that returns no response data. */
export interface EmptyObject {
}
/** A standard JS object, defined to avoid the limitations of `Object` and `object` */
export interface JsonObject {
[key: string]: any;
}
/*************************
* request interfaces
************************/
interface DefaultParams {
headers?: OutgoingHttpHeaders;
signal?: AbortSignal;
}
/** Parameters for the `message` operation. */
export interface MessageParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** An input object that includes the input text. */
input?: MessageInput;
/** Intents to use when evaluating the user input. Include intents from the previous response to continue using
* those intents rather than trying to recognize intents in the new input.
*/
intents?: RuntimeIntent[];
/** Entities to use when evaluating the message. Include entities from the previous response to continue using
* those entities rather than detecting entities in the new input.
*/
entities?: RuntimeEntity[];
/** Whether to return more than one intent. A value of `true` indicates that all matching intents are returned. */
alternateIntents?: boolean;
/** State information for the conversation. To maintain state, include the context from the previous response. */
context?: Context;
/** An output object that includes the response to the user, the dialog nodes that were triggered, and messages
* from the log.
*/
output?: OutputData;
/** A string value that identifies the user who is interacting with the workspace. The client must provide a
* unique identifier for each individual end user who accesses the application. For user-based plans, this user ID
* is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or
* tab characters. If no value is specified in the input, **user_id** is automatically set to the value of
* **context.conversation_id**.
*
* **Note:** This property is the same as the **user_id** property in the context metadata. If **user_id** is
* specified in both locations in a message request, the value specified at the root is used.
*/
userId?: string;
/** Whether to include additional diagnostic information about the dialog nodes that were visited during
* processing of the message.
*/
nodesVisitedDetails?: boolean;
}
/** Parameters for the `bulkClassify` operation. */
export interface BulkClassifyParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** An array of input utterances to classify. */
input?: BulkClassifyUtterance[];
}
/** Parameters for the `listWorkspaces` operation. */
export interface ListWorkspacesParams extends DefaultParams {
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned workspaces will be sorted. To reverse the sort order, prefix the value with
* a minus sign (`-`).
*/
sort?: ListWorkspacesConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listWorkspaces` operation. */
export namespace ListWorkspacesConstants {
/** The attribute by which returned workspaces will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
NAME = "name",
UPDATED = "updated"
}
}
/** Parameters for the `createWorkspace` operation. */
export interface CreateWorkspaceParams extends DefaultParams {
/** The name of the workspace. This string cannot contain carriage return, newline, or tab characters. */
name?: string;
/** The description of the workspace. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The language of the workspace. */
language?: string;
/** An array of objects describing the dialog nodes in the workspace. */
dialogNodes?: DialogNode[];
/** An array of objects defining input examples that have been marked as irrelevant input. */
counterexamples?: Counterexample[];
/** Any metadata related to the workspace. */
metadata?: JsonObject;
/** Whether training data from the workspace (including artifacts such as intents and entities) can be used by
* IBM for general service improvements. `true` indicates that workspace training data is not to be used.
*/
learningOptOut?: boolean;
/** Global settings for the workspace. */
systemSettings?: WorkspaceSystemSettings;
webhooks?: Webhook[];
/** An array of objects defining the intents for the workspace. */
intents?: CreateIntent[];
/** An array of objects describing the entities for the workspace. */
entities?: CreateEntity[];
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `getWorkspace` operation. */
export interface GetWorkspaceParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
/** Indicates how the returned workspace data will be sorted. This parameter is valid only if **export**=`true`.
* Specify `sort=stable` to sort all workspace objects by unique identifier, in ascending alphabetical order.
*/
sort?: GetWorkspaceConstants.Sort | string;
}
/** Constants for the `getWorkspace` operation. */
export namespace GetWorkspaceConstants {
/** Indicates how the returned workspace data will be sorted. This parameter is valid only if **export**=`true`. Specify `sort=stable` to sort all workspace objects by unique identifier, in ascending alphabetical order. */
enum Sort {
STABLE = "stable"
}
}
/** Parameters for the `updateWorkspace` operation. */
export interface UpdateWorkspaceParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the workspace. This string cannot contain carriage return, newline, or tab characters. */
name?: string;
/** The description of the workspace. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The language of the workspace. */
language?: string;
/** An array of objects describing the dialog nodes in the workspace. */
dialogNodes?: DialogNode[];
/** An array of objects defining input examples that have been marked as irrelevant input. */
counterexamples?: Counterexample[];
/** Any metadata related to the workspace. */
metadata?: JsonObject;
/** Whether training data from the workspace (including artifacts such as intents and entities) can be used by
* IBM for general service improvements. `true` indicates that workspace training data is not to be used.
*/
learningOptOut?: boolean;
/** Global settings for the workspace. */
systemSettings?: WorkspaceSystemSettings;
webhooks?: Webhook[];
/** An array of objects defining the intents for the workspace. */
intents?: CreateIntent[];
/** An array of objects describing the entities for the workspace. */
entities?: CreateEntity[];
/** Whether the new data is to be appended to the existing data in the object. If **append**=`false`, elements
* included in the new data completely replace the corresponding existing elements, including all subelements. For
* example, if the new data for a workspace includes **entities** and **append**=`false`, all existing entities in
* the workspace are discarded and replaced with the new entities.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the
* new data collide with existing elements, the update request fails.
*/
append?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `deleteWorkspace` operation. */
export interface DeleteWorkspaceParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
}
/** Parameters for the `createWorkspaceAsync` operation. */
export interface CreateWorkspaceAsyncParams extends DefaultParams {
/** The name of the workspace. This string cannot contain carriage return, newline, or tab characters. */
name?: string;
/** The description of the workspace. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The language of the workspace. */
language?: string;
/** An array of objects describing the dialog nodes in the workspace. */
dialogNodes?: DialogNode[];
/** An array of objects defining input examples that have been marked as irrelevant input. */
counterexamples?: Counterexample[];
/** Any metadata related to the workspace. */
metadata?: JsonObject;
/** Whether training data from the workspace (including artifacts such as intents and entities) can be used by
* IBM for general service improvements. `true` indicates that workspace training data is not to be used.
*/
learningOptOut?: boolean;
/** Global settings for the workspace. */
systemSettings?: WorkspaceSystemSettings;
webhooks?: Webhook[];
/** An array of objects defining the intents for the workspace. */
intents?: CreateIntent[];
/** An array of objects describing the entities for the workspace. */
entities?: CreateEntity[];
}
/** Parameters for the `updateWorkspaceAsync` operation. */
export interface UpdateWorkspaceAsyncParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the workspace. This string cannot contain carriage return, newline, or tab characters. */
name?: string;
/** The description of the workspace. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The language of the workspace. */
language?: string;
/** An array of objects describing the dialog nodes in the workspace. */
dialogNodes?: DialogNode[];
/** An array of objects defining input examples that have been marked as irrelevant input. */
counterexamples?: Counterexample[];
/** Any metadata related to the workspace. */
metadata?: JsonObject;
/** Whether training data from the workspace (including artifacts such as intents and entities) can be used by
* IBM for general service improvements. `true` indicates that workspace training data is not to be used.
*/
learningOptOut?: boolean;
/** Global settings for the workspace. */
systemSettings?: WorkspaceSystemSettings;
webhooks?: Webhook[];
/** An array of objects defining the intents for the workspace. */
intents?: CreateIntent[];
/** An array of objects describing the entities for the workspace. */
entities?: CreateEntity[];
/** Whether the new data is to be appended to the existing data in the object. If **append**=`false`, elements
* included in the new data completely replace the corresponding existing elements, including all subelements. For
* example, if the new data for a workspace includes **entities** and **append**=`false`, all existing entities in
* the workspace are discarded and replaced with the new entities.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the
* new data collide with existing elements, the update request fails.
*/
append?: boolean;
}
/** Parameters for the `exportWorkspaceAsync` operation. */
export interface ExportWorkspaceAsyncParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
/** Indicates how the returned workspace data will be sorted. Specify `sort=stable` to sort all workspace
* objects by unique identifier, in ascending alphabetical order.
*/
sort?: ExportWorkspaceAsyncConstants.Sort | string;
/** Whether the response should include the `counts` property, which indicates how many of each component (such
* as intents and entities) the workspace contains.
*/
verbose?: boolean;
}
/** Constants for the `exportWorkspaceAsync` operation. */
export namespace ExportWorkspaceAsyncConstants {
/** Indicates how the returned workspace data will be sorted. Specify `sort=stable` to sort all workspace objects by unique identifier, in ascending alphabetical order. */
enum Sort {
STABLE = "stable"
}
}
/** Parameters for the `listIntents` operation. */
export interface ListIntentsParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned intents will be sorted. To reverse the sort order, prefix the value with a
* minus sign (`-`).
*/
sort?: ListIntentsConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listIntents` operation. */
export namespace ListIntentsConstants {
/** The attribute by which returned intents will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
INTENT = "intent",
UPDATED = "updated"
}
}
/** Parameters for the `createIntent` operation. */
export interface CreateIntentParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the intent. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, hyphen, and dot characters.
* - It cannot begin with the reserved prefix `sys-`.
*/
intent: string;
/** The description of the intent. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** An array of user input examples for the intent. */
examples?: Example[];
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `getIntent` operation. */
export interface GetIntentParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateIntent` operation. */
export interface UpdateIntentParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** The name of the intent. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, hyphen, and dot characters.
* - It cannot begin with the reserved prefix `sys-`.
*/
newIntent?: string;
/** The description of the intent. This string cannot contain carriage return, newline, or tab characters. */
newDescription?: string;
/** An array of user input examples for the intent. */
newExamples?: Example[];
/** Whether the new data is to be appended to the existing data in the object. If **append**=`false`, elements
* included in the new data completely replace the corresponding existing elements, including all subelements. For
* example, if the new data for the intent includes **examples** and **append**=`false`, all existing examples for
* the intent are discarded and replaced with the new examples.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the
* new data collide with existing elements, the update request fails.
*/
append?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `deleteIntent` operation. */
export interface DeleteIntentParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
}
/** Parameters for the `listExamples` operation. */
export interface ListExamplesParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned examples will be sorted. To reverse the sort order, prefix the value with a
* minus sign (`-`).
*/
sort?: ListExamplesConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listExamples` operation. */
export namespace ListExamplesConstants {
/** The attribute by which returned examples will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
TEXT = "text",
UPDATED = "updated"
}
}
/** Parameters for the `createExample` operation. */
export interface CreateExampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** The text of a user input example. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
text: string;
/** An array of contextual entity mentions. */
mentions?: Mention[];
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `getExample` operation. */
export interface GetExampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** The text of the user input example. */
text: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateExample` operation. */
export interface UpdateExampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** The text of the user input example. */
text: string;
/** The text of the user input example. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
newText?: string;
/** An array of contextual entity mentions. */
newMentions?: Mention[];
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `deleteExample` operation. */
export interface DeleteExampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The intent name. */
intent: string;
/** The text of the user input example. */
text: string;
}
/** Parameters for the `listCounterexamples` operation. */
export interface ListCounterexamplesParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned counterexamples will be sorted. To reverse the sort order, prefix the value
* with a minus sign (`-`).
*/
sort?: ListCounterexamplesConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listCounterexamples` operation. */
export namespace ListCounterexamplesConstants {
/** The attribute by which returned counterexamples will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
TEXT = "text",
UPDATED = "updated"
}
}
/** Parameters for the `createCounterexample` operation. */
export interface CreateCounterexampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The text of a user input marked as irrelevant input. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
text: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `getCounterexample` operation. */
export interface GetCounterexampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The text of a user input counterexample (for example, `What are you wearing?`). */
text: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateCounterexample` operation. */
export interface UpdateCounterexampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The text of a user input counterexample (for example, `What are you wearing?`). */
text: string;
/** The text of a user input marked as irrelevant input. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
newText?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `deleteCounterexample` operation. */
export interface DeleteCounterexampleParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The text of a user input counterexample (for example, `What are you wearing?`). */
text: string;
}
/** Parameters for the `listEntities` operation. */
export interface ListEntitiesParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned entities will be sorted. To reverse the sort order, prefix the value with a
* minus sign (`-`).
*/
sort?: ListEntitiesConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listEntities` operation. */
export namespace ListEntitiesConstants {
/** The attribute by which returned entities will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
ENTITY = "entity",
UPDATED = "updated"
}
}
/** Parameters for the `createEntity` operation. */
export interface CreateEntityParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, and hyphen characters.
* - If you specify an entity name beginning with the reserved prefix `sys-`, it must be the name of a system
* entity that you want to enable. (Any entity content specified with the request is ignored.).
*/
entity: string;
/** The description of the entity. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** Any metadata related to the entity. */
metadata?: JsonObject;
/** Whether to use fuzzy matching for the entity. */
fuzzyMatch?: boolean;
/** An array of objects describing the entity values. */
values?: CreateValue[];
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `getEntity` operation. */
export interface GetEntityParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateEntity` operation. */
export interface UpdateEntityParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The name of the entity. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, and hyphen characters.
* - It cannot begin with the reserved prefix `sys-`.
*/
newEntity?: string;
/** The description of the entity. This string cannot contain carriage return, newline, or tab characters. */
newDescription?: string;
/** Any metadata related to the entity. */
newMetadata?: JsonObject;
/** Whether to use fuzzy matching for the entity. */
newFuzzyMatch?: boolean;
/** An array of objects describing the entity values. */
newValues?: CreateValue[];
/** Whether the new data is to be appended to the existing data in the entity. If **append**=`false`, elements
* included in the new data completely replace the corresponding existing elements, including all subelements. For
* example, if the new data for the entity includes **values** and **append**=`false`, all existing values for the
* entity are discarded and replaced with the new values.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the
* new data collide with existing elements, the update request fails.
*/
append?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `deleteEntity` operation. */
export interface DeleteEntityParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
}
/** Parameters for the `listMentions` operation. */
export interface ListMentionsParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `listValues` operation. */
export interface ListValuesParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned entity values will be sorted. To reverse the sort order, prefix the value
* with a minus sign (`-`).
*/
sort?: ListValuesConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listValues` operation. */
export namespace ListValuesConstants {
/** The attribute by which returned entity values will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
VALUE = "value",
UPDATED = "updated"
}
}
/** Parameters for the `createValue` operation. */
export interface CreateValueParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
value: string;
/** Any metadata related to the entity value. */
metadata?: JsonObject;
/** Specifies the type of entity value. */
type?: CreateValueConstants.Type | string;
/** An array of synonyms for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A synonym must conform to the following resrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
synonyms?: string[];
/** An array of patterns for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A pattern is a regular expression; for more information about how to specify a
* pattern, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-entities#entities-create-dictionary-based).
*/
patterns?: string[];
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `createValue` operation. */
export namespace CreateValueConstants {
/** Specifies the type of entity value. */
enum Type {
SYNONYMS = "synonyms",
PATTERNS = "patterns"
}
}
/** Parameters for the `getValue` operation. */
export interface GetValueParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** Whether to include all element content in the returned data. If **export**=`false`, the returned data
* includes only information about the element itself. If **export**=`true`, all content, including subelements, is
* included.
*/
_export?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateValue` operation. */
export interface UpdateValueParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** The text of the entity value. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
newValue?: string;
/** Any metadata related to the entity value. */
newMetadata?: JsonObject;
/** Specifies the type of entity value. */
newType?: UpdateValueConstants.Type | string;
/** An array of synonyms for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A synonym must conform to the following resrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
newSynonyms?: string[];
/** An array of patterns for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A pattern is a regular expression; for more information about how to specify a
* pattern, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-entities#entities-create-dictionary-based).
*/
newPatterns?: string[];
/** Whether the new data is to be appended to the existing data in the entity value. If **append**=`false`,
* elements included in the new data completely replace the corresponding existing elements, including all
* subelements. For example, if the new data for the entity value includes **synonyms** and **append**=`false`, all
* existing synonyms for the entity value are discarded and replaced with the new synonyms.
*
* If **append**=`true`, existing elements are preserved, and the new elements are added. If any elements in the
* new data collide with existing elements, the update request fails.
*/
append?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `updateValue` operation. */
export namespace UpdateValueConstants {
/** Specifies the type of entity value. */
enum Type {
SYNONYMS = "synonyms",
PATTERNS = "patterns"
}
}
/** Parameters for the `deleteValue` operation. */
export interface DeleteValueParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
}
/** Parameters for the `listSynonyms` operation. */
export interface ListSynonymsParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned entity value synonyms will be sorted. To reverse the sort order, prefix the
* value with a minus sign (`-`).
*/
sort?: ListSynonymsConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listSynonyms` operation. */
export namespace ListSynonymsConstants {
/** The attribute by which returned entity value synonyms will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
SYNONYM = "synonym",
UPDATED = "updated"
}
}
/** Parameters for the `createSynonym` operation. */
export interface CreateSynonymParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** The text of the synonym. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
synonym: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `getSynonym` operation. */
export interface GetSynonymParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** The text of the synonym. */
synonym: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateSynonym` operation. */
export interface UpdateSynonymParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** The text of the synonym. */
synonym: string;
/** The text of the synonym. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
newSynonym?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `deleteSynonym` operation. */
export interface DeleteSynonymParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The name of the entity. */
entity: string;
/** The text of the entity value. */
value: string;
/** The text of the synonym. */
synonym: string;
}
/** Parameters for the `listDialogNodes` operation. */
export interface ListDialogNodesParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** Whether to include information about the number of records that satisfy the request, regardless of the page
* limit. If this parameter is `true`, the `pagination` object in the response includes the `total` property.
*/
includeCount?: boolean;
/** The attribute by which returned dialog nodes will be sorted. To reverse the sort order, prefix the value
* with a minus sign (`-`).
*/
sort?: ListDialogNodesConstants.Sort | string;
/** A token identifying the page of results to retrieve. */
cursor?: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `listDialogNodes` operation. */
export namespace ListDialogNodesConstants {
/** The attribute by which returned dialog nodes will be sorted. To reverse the sort order, prefix the value with a minus sign (`-`). */
enum Sort {
DIALOG_NODE = "dialog_node",
UPDATED = "updated"
}
}
/** Parameters for the `createDialogNode` operation. */
export interface CreateDialogNodeParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The unique ID of the dialog node. This is an internal identifier used to refer to the dialog node from other
* dialog nodes and in the diagnostic information included with message responses.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
*/
dialogNode: string;
/** The description of the dialog node. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The condition that will trigger the dialog node. This string cannot contain carriage return, newline, or tab
* characters.
*/
conditions?: string;
/** The unique ID of the parent dialog node. This property is omitted if the dialog node has no parent. */
parent?: string;
/** The unique ID of the previous sibling dialog node. This property is omitted if the dialog node has no
* previous sibling.
*/
previousSibling?: string;
/** The output of the dialog node. For more information about how to specify dialog node output, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview#dialog-overview-responses).
*/
output?: DialogNodeOutput;
/** The context for the dialog node. */
context?: DialogNodeContext;
/** The metadata for the dialog node. */
metadata?: JsonObject;
/** The next step to execute following this dialog node. */
nextStep?: DialogNodeNextStep;
/** A human-readable name for the dialog node. If the node is included in disambiguation, this title is used to
* populate the **label** property of the corresponding suggestion in the `suggestion` response type (unless it is
* overridden by the **user_label** property). The title is also used to populate the **topic** property in the
* `connect_to_agent` response type.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
*/
title?: string;
/** How the dialog node is processed. */
type?: CreateDialogNodeConstants.Type | string;
/** How an `event_handler` node is processed. */
eventName?: CreateDialogNodeConstants.EventName | string;
/** The location in the dialog context where output is stored. */
variable?: string;
/** An array of objects describing any actions to be invoked by the dialog node. */
actions?: DialogNodeAction[];
/** Whether this top-level dialog node can be digressed into. */
digressIn?: CreateDialogNodeConstants.DigressIn | string;
/** Whether this dialog node can be returned to after a digression. */
digressOut?: CreateDialogNodeConstants.DigressOut | string;
/** Whether the user can digress to top-level nodes while filling out slots. */
digressOutSlots?: CreateDialogNodeConstants.DigressOutSlots | string;
/** A label that can be displayed externally to describe the purpose of the node to users. If set, this label is
* used to identify the node in disambiguation responses (overriding the value of the **title** property).
*/
userLabel?: string;
/** Whether the dialog node should be excluded from disambiguation suggestions. Valid only when
* **type**=`standard` or `frame`.
*/
disambiguationOptOut?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `createDialogNode` operation. */
export namespace CreateDialogNodeConstants {
/** How the dialog node is processed. */
enum Type {
STANDARD = "standard",
EVENT_HANDLER = "event_handler",
FRAME = "frame",
SLOT = "slot",
RESPONSE_CONDITION = "response_condition",
FOLDER = "folder"
}
/** How an `event_handler` node is processed. */
enum EventName {
FOCUS = "focus",
INPUT = "input",
FILLED = "filled",
VALIDATE = "validate",
FILLED_MULTIPLE = "filled_multiple",
GENERIC = "generic",
NOMATCH = "nomatch",
NOMATCH_RESPONSES_DEPLETED = "nomatch_responses_depleted",
DIGRESSION_RETURN_PROMPT = "digression_return_prompt"
}
/** Whether this top-level dialog node can be digressed into. */
enum DigressIn {
NOT_AVAILABLE = "not_available",
RETURNS = "returns",
DOES_NOT_RETURN = "does_not_return"
}
/** Whether this dialog node can be returned to after a digression. */
enum DigressOut {
ALLOW_RETURNING = "allow_returning",
ALLOW_ALL = "allow_all",
ALLOW_ALL_NEVER_RETURN = "allow_all_never_return"
}
/** Whether the user can digress to top-level nodes while filling out slots. */
enum DigressOutSlots {
NOT_ALLOWED = "not_allowed",
ALLOW_RETURNING = "allow_returning",
ALLOW_ALL = "allow_all"
}
}
/** Parameters for the `getDialogNode` operation. */
export interface GetDialogNodeParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The dialog node ID (for example, `node_1_1479323581900`). */
dialogNode: string;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Parameters for the `updateDialogNode` operation. */
export interface UpdateDialogNodeParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The dialog node ID (for example, `node_1_1479323581900`). */
dialogNode: string;
/** The unique ID of the dialog node. This is an internal identifier used to refer to the dialog node from other
* dialog nodes and in the diagnostic information included with message responses.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
*/
newDialogNode?: string;
/** The description of the dialog node. This string cannot contain carriage return, newline, or tab characters. */
newDescription?: string;
/** The condition that will trigger the dialog node. This string cannot contain carriage return, newline, or tab
* characters.
*/
newConditions?: string;
/** The unique ID of the parent dialog node. This property is omitted if the dialog node has no parent. */
newParent?: string;
/** The unique ID of the previous sibling dialog node. This property is omitted if the dialog node has no
* previous sibling.
*/
newPreviousSibling?: string;
/** The output of the dialog node. For more information about how to specify dialog node output, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview#dialog-overview-responses).
*/
newOutput?: DialogNodeOutput;
/** The context for the dialog node. */
newContext?: DialogNodeContext;
/** The metadata for the dialog node. */
newMetadata?: JsonObject;
/** The next step to execute following this dialog node. */
newNextStep?: DialogNodeNextStep;
/** A human-readable name for the dialog node. If the node is included in disambiguation, this title is used to
* populate the **label** property of the corresponding suggestion in the `suggestion` response type (unless it is
* overridden by the **user_label** property). The title is also used to populate the **topic** property in the
* `connect_to_agent` response type.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
*/
newTitle?: string;
/** How the dialog node is processed. */
newType?: UpdateDialogNodeConstants.Type | string;
/** How an `event_handler` node is processed. */
newEventName?: UpdateDialogNodeConstants.EventName | string;
/** The location in the dialog context where output is stored. */
newVariable?: string;
/** An array of objects describing any actions to be invoked by the dialog node. */
newActions?: DialogNodeAction[];
/** Whether this top-level dialog node can be digressed into. */
newDigressIn?: UpdateDialogNodeConstants.DigressIn | string;
/** Whether this dialog node can be returned to after a digression. */
newDigressOut?: UpdateDialogNodeConstants.DigressOut | string;
/** Whether the user can digress to top-level nodes while filling out slots. */
newDigressOutSlots?: UpdateDialogNodeConstants.DigressOutSlots | string;
/** A label that can be displayed externally to describe the purpose of the node to users. If set, this label is
* used to identify the node in disambiguation responses (overriding the value of the **title** property).
*/
newUserLabel?: string;
/** Whether the dialog node should be excluded from disambiguation suggestions. Valid only when
* **type**=`standard` or `frame`.
*/
newDisambiguationOptOut?: boolean;
/** Whether to include the audit properties (`created` and `updated` timestamps) in the response. */
includeAudit?: boolean;
}
/** Constants for the `updateDialogNode` operation. */
export namespace UpdateDialogNodeConstants {
/** How the dialog node is processed. */
enum Type {
STANDARD = "standard",
EVENT_HANDLER = "event_handler",
FRAME = "frame",
SLOT = "slot",
RESPONSE_CONDITION = "response_condition",
FOLDER = "folder"
}
/** How an `event_handler` node is processed. */
enum EventName {
FOCUS = "focus",
INPUT = "input",
FILLED = "filled",
VALIDATE = "validate",
FILLED_MULTIPLE = "filled_multiple",
GENERIC = "generic",
NOMATCH = "nomatch",
NOMATCH_RESPONSES_DEPLETED = "nomatch_responses_depleted",
DIGRESSION_RETURN_PROMPT = "digression_return_prompt"
}
/** Whether this top-level dialog node can be digressed into. */
enum DigressIn {
NOT_AVAILABLE = "not_available",
RETURNS = "returns",
DOES_NOT_RETURN = "does_not_return"
}
/** Whether this dialog node can be returned to after a digression. */
enum DigressOut {
ALLOW_RETURNING = "allow_returning",
ALLOW_ALL = "allow_all",
ALLOW_ALL_NEVER_RETURN = "allow_all_never_return"
}
/** Whether the user can digress to top-level nodes while filling out slots. */
enum DigressOutSlots {
NOT_ALLOWED = "not_allowed",
ALLOW_RETURNING = "allow_returning",
ALLOW_ALL = "allow_all"
}
}
/** Parameters for the `deleteDialogNode` operation. */
export interface DeleteDialogNodeParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** The dialog node ID (for example, `node_1_1479323581900`). */
dialogNode: string;
}
/** Parameters for the `listLogs` operation. */
export interface ListLogsParams extends DefaultParams {
/** Unique identifier of the workspace. */
workspaceId: string;
/** How to sort the returned log events. You can sort by **request_timestamp**. To reverse the sort order,
* prefix the parameter value with a minus sign (`-`).
*/
sort?: string;
/** A cacheable parameter that limits the results to those matching the specified filter. For more information,
* see the [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-filter-reference#filter-reference).
*/
filter?: string;
/** The number of records to return in each page of results.
*
* **Note:** If the API is not returning your data, try lowering the page_limit value.
*/
pageLimit?: number;
/** A token identifying the page of results to retrieve. */
cursor?: string;
}
/** Parameters for the `listAllLogs` operation. */
export interface ListAllLogsParams extends DefaultParams {
/** A cacheable parameter that limits the results to those matching the specified filter. You must specify a
* filter query that includes a value for `language`, as well as a value for `request.context.system.assistant_id`,
* `workspace_id`, or `request.context.metadata.deployment`. These required filters must be specified using the
* exact match (`::`) operator. For more information, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-filter-reference#filter-reference).
*/
filter: string;
/** How to sort the returned log events. You can sort by **request_timestamp**. To reverse the sort order,
* prefix the parameter value with a minus sign (`-`).
*/
sort?: string;
/** The number of records to return in each page of results. */
pageLimit?: number;
/** A token identifying the page of results to retrieve. */
cursor?: string;
}
/** Parameters for the `deleteUserData` operation. */
export interface DeleteUserDataParams extends DefaultParams {
/** The customer ID for which all data is to be deleted. */
customerId: string;
}
/*************************
* model interfaces
************************/
/**
* AgentAvailabilityMessage.
*/
export interface AgentAvailabilityMessage {
/** The text of the message. */
message?: string;
}
/**
* BulkClassifyOutput.
*/
export interface BulkClassifyOutput {
/** The user input utterance to classify. */
input?: BulkClassifyUtterance;
/** An array of entities identified in the utterance. */
entities?: RuntimeEntity[];
/** An array of intents recognized in the utterance. */
intents?: RuntimeIntent[];
}
/**
* BulkClassifyResponse.
*/
export interface BulkClassifyResponse {
/** An array of objects that contain classification information for the submitted input utterances. */
output?: BulkClassifyOutput[];
}
/**
* The user input utterance to classify.
*/
export interface BulkClassifyUtterance {
/** The text of the input utterance. */
text: string;
}
/**
* A recognized capture group for a pattern-based entity.
*/
export interface CaptureGroup {
/** A recognized capture group for the entity. */
group: string;
/** Zero-based character offsets that indicate where the entity value begins and ends in the input text. */
location?: number[];
}
/**
* Information used by an integration to transfer the conversation to a different channel.
*/
export interface ChannelTransferInfo {
/** An object specifying target channels available for the transfer. Each property of this object represents an
* available transfer target. Currently, the only supported property is **chat**, representing the web chat
* integration.
*/
target: ChannelTransferTarget;
}
/**
* An object specifying target channels available for the transfer. Each property of this object represents an
* available transfer target. Currently, the only supported property is **chat**, representing the web chat
* integration.
*/
export interface ChannelTransferTarget {
/** Information for transferring to the web chat integration. */
chat?: ChannelTransferTargetChat;
}
/**
* Information for transferring to the web chat integration.
*/
export interface ChannelTransferTargetChat {
/** The URL of the target web chat. */
url?: string;
}
/**
* State information for the conversation. To maintain state, include the context from the previous response.
*
* This type supports additional properties of type any. Any context variable.
*/
export interface Context {
/** The unique identifier of the conversation. The conversation ID cannot contain any of the following
* characters: `+` `=` `&&` `||` `>` `<` `!` `(` `)` `{` `}` `[` `]` `^` `"` `~` `*` `?` `:` `\` `/`.
*/
conversation_id?: string;
/** For internal use only. */
system?: JsonObject;
/** Metadata related to the message. */
metadata?: MessageContextMetadata;
/**
* Context accepts additional properties of type any. Any context variable.
*/
[propName: string]: any;
}
/**
* Counterexample.
*/
export interface Counterexample {
/** The text of a user input marked as irrelevant input. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
text: string;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
}
/**
* CounterexampleCollection.
*/
export interface CounterexampleCollection {
/** An array of objects describing the examples marked as irrelevant input. */
counterexamples: Counterexample[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* CreateEntity.
*/
export interface CreateEntity {
/** The name of the entity. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, and hyphen characters.
* - If you specify an entity name beginning with the reserved prefix `sys-`, it must be the name of a system
* entity that you want to enable. (Any entity content specified with the request is ignored.).
*/
entity: string;
/** The description of the entity. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** Any metadata related to the entity. */
metadata?: JsonObject;
/** Whether to use fuzzy matching for the entity. */
fuzzy_match?: boolean;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
/** An array of objects describing the entity values. */
values?: CreateValue[];
}
/**
* CreateIntent.
*/
export interface CreateIntent {
/** The name of the intent. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, hyphen, and dot characters.
* - It cannot begin with the reserved prefix `sys-`.
*/
intent: string;
/** The description of the intent. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
/** An array of user input examples for the intent. */
examples?: Example[];
}
/**
* CreateValue.
*/
export interface CreateValue {
/** The text of the entity value. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
value: string;
/** Any metadata related to the entity value. */
metadata?: JsonObject;
/** Specifies the type of entity value. */
type?: CreateValue.Constants.Type | string;
/** An array of synonyms for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A synonym must conform to the following resrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
synonyms?: string[];
/** An array of patterns for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A pattern is a regular expression; for more information about how to specify a
* pattern, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-entities#entities-create-dictionary-based).
*/
patterns?: string[];
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
}
export namespace CreateValue {
namespace Constants {
/** Specifies the type of entity value. */
enum Type {
SYNONYMS = "synonyms",
PATTERNS = "patterns"
}
}
}
/**
* DialogNode.
*/
export interface DialogNode {
/** The unique ID of the dialog node. This is an internal identifier used to refer to the dialog node from other
* dialog nodes and in the diagnostic information included with message responses.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
*/
dialog_node: string;
/** The description of the dialog node. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The condition that will trigger the dialog node. This string cannot contain carriage return, newline, or tab
* characters.
*/
conditions?: string;
/** The unique ID of the parent dialog node. This property is omitted if the dialog node has no parent. */
parent?: string;
/** The unique ID of the previous sibling dialog node. This property is omitted if the dialog node has no
* previous sibling.
*/
previous_sibling?: string;
/** The output of the dialog node. For more information about how to specify dialog node output, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview#dialog-overview-responses).
*/
output?: DialogNodeOutput;
/** The context for the dialog node. */
context?: DialogNodeContext;
/** The metadata for the dialog node. */
metadata?: JsonObject;
/** The next step to execute following this dialog node. */
next_step?: DialogNodeNextStep;
/** A human-readable name for the dialog node. If the node is included in disambiguation, this title is used to
* populate the **label** property of the corresponding suggestion in the `suggestion` response type (unless it is
* overridden by the **user_label** property). The title is also used to populate the **topic** property in the
* `connect_to_agent` response type.
*
* This string can contain only Unicode alphanumeric, space, underscore, hyphen, and dot characters.
*/
title?: string;
/** How the dialog node is processed. */
type?: DialogNode.Constants.Type | string;
/** How an `event_handler` node is processed. */
event_name?: DialogNode.Constants.EventName | string;
/** The location in the dialog context where output is stored. */
variable?: string;
/** An array of objects describing any actions to be invoked by the dialog node. */
actions?: DialogNodeAction[];
/** Whether this top-level dialog node can be digressed into. */
digress_in?: DialogNode.Constants.DigressIn | string;
/** Whether this dialog node can be returned to after a digression. */
digress_out?: DialogNode.Constants.DigressOut | string;
/** Whether the user can digress to top-level nodes while filling out slots. */
digress_out_slots?: DialogNode.Constants.DigressOutSlots | string;
/** A label that can be displayed externally to describe the purpose of the node to users. If set, this label is
* used to identify the node in disambiguation responses (overriding the value of the **title** property).
*/
user_label?: string;
/** Whether the dialog node should be excluded from disambiguation suggestions. Valid only when
* **type**=`standard` or `frame`.
*/
disambiguation_opt_out?: boolean;
/** For internal use only. */
disabled?: boolean;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
}
export namespace DialogNode {
namespace Constants {
/** How the dialog node is processed. */
enum Type {
STANDARD = "standard",
EVENT_HANDLER = "event_handler",
FRAME = "frame",
SLOT = "slot",
RESPONSE_CONDITION = "response_condition",
FOLDER = "folder"
}
/** How an `event_handler` node is processed. */
enum EventName {
FOCUS = "focus",
INPUT = "input",
FILLED = "filled",
VALIDATE = "validate",
FILLED_MULTIPLE = "filled_multiple",
GENERIC = "generic",
NOMATCH = "nomatch",
NOMATCH_RESPONSES_DEPLETED = "nomatch_responses_depleted",
DIGRESSION_RETURN_PROMPT = "digression_return_prompt"
}
/** Whether this top-level dialog node can be digressed into. */
enum DigressIn {
NOT_AVAILABLE = "not_available",
RETURNS = "returns",
DOES_NOT_RETURN = "does_not_return"
}
/** Whether this dialog node can be returned to after a digression. */
enum DigressOut {
ALLOW_RETURNING = "allow_returning",
ALLOW_ALL = "allow_all",
ALLOW_ALL_NEVER_RETURN = "allow_all_never_return"
}
/** Whether the user can digress to top-level nodes while filling out slots. */
enum DigressOutSlots {
NOT_ALLOWED = "not_allowed",
ALLOW_RETURNING = "allow_returning",
ALLOW_ALL = "allow_all"
}
}
}
/**
* DialogNodeAction.
*/
export interface DialogNodeAction {
/** The name of the action. */
name: string;
/** The type of action to invoke. */
type?: DialogNodeAction.Constants.Type | string;
/** A map of key/value pairs to be provided to the action. */
parameters?: JsonObject;
/** The location in the dialog context where the result of the action is stored. */
result_variable: string;
/** The name of the context variable that the client application will use to pass in credentials for the action. */
credentials?: string;
}
export namespace DialogNodeAction {
namespace Constants {
/** The type of action to invoke. */
enum Type {
CLIENT = "client",
SERVER = "server",
CLOUD_FUNCTION = "cloud_function",
WEB_ACTION = "web_action",
WEBHOOK = "webhook"
}
}
}
/**
* An array of dialog nodes.
*/
export interface DialogNodeCollection {
/** An array of objects describing the dialog nodes defined for the workspace. */
dialog_nodes: DialogNode[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* The context for the dialog node.
*
* This type supports additional properties of type any. Any context variable.
*/
export interface DialogNodeContext {
/** Context data intended for specific integrations. */
integrations?: JsonObject;
/**
* DialogNodeContext accepts additional properties of type any. Any context variable.
*/
[propName: string]: any;
}
/**
* The next step to execute following this dialog node.
*/
export interface DialogNodeNextStep {
/** What happens after the dialog node completes. The valid values depend on the node type:
* - The following values are valid for any node:
* - `get_user_input`
* - `skip_user_input`
* - `jump_to`
* - If the node is of type `event_handler` and its parent node is of type `slot` or `frame`, additional values are
* also valid:
* - if **event_name**=`filled` and the type of the parent node is `slot`:
* - `reprompt`
* - `skip_all_slots`
* - if **event_name**=`nomatch` and the type of the parent node is `slot`:
* - `reprompt`
* - `skip_slot`
* - `skip_all_slots`
* - if **event_name**=`generic` and the type of the parent node is `frame`:
* - `reprompt`
* - `skip_slot`
* - `skip_all_slots`
* If you specify `jump_to`, then you must also specify a value for the `dialog_node` property.
*/
behavior: DialogNodeNextStep.Constants.Behavior | string;
/** The unique ID of the dialog node to process next. This parameter is required if **behavior**=`jump_to`. */
dialog_node?: string;
/** Which part of the dialog node to process next. */
selector?: DialogNodeNextStep.Constants.Selector | string;
}
export namespace DialogNodeNextStep {
namespace Constants {
/** What happens after the dialog node completes. The valid values depend on the node type: - The following values are valid for any node: - `get_user_input` - `skip_user_input` - `jump_to` - If the node is of type `event_handler` and its parent node is of type `slot` or `frame`, additional values are also valid: - if **event_name**=`filled` and the type of the parent node is `slot`: - `reprompt` - `skip_all_slots` - if **event_name**=`nomatch` and the type of the parent node is `slot`: - `reprompt` - `skip_slot` - `skip_all_slots` - if **event_name**=`generic` and the type of the parent node is `frame`: - `reprompt` - `skip_slot` - `skip_all_slots` If you specify `jump_to`, then you must also specify a value for the `dialog_node` property. */
enum Behavior {
GET_USER_INPUT = "get_user_input",
SKIP_USER_INPUT = "skip_user_input",
JUMP_TO = "jump_to",
REPROMPT = "reprompt",
SKIP_SLOT = "skip_slot",
SKIP_ALL_SLOTS = "skip_all_slots"
}
/** Which part of the dialog node to process next. */
enum Selector {
CONDITION = "condition",
CLIENT = "client",
USER_INPUT = "user_input",
BODY = "body"
}
}
}
/**
* The output of the dialog node. For more information about how to specify dialog node output, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-overview#dialog-overview-responses).
*
* This type supports additional properties of type any. Any additional data included in the dialog node output.
*/
export interface DialogNodeOutput {
/** An array of objects describing the output defined for the dialog node. */
generic?: DialogNodeOutputGeneric[];
/** Output intended for specific integrations. For more information, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-responses-json).
*/
integrations?: JsonObject;
/** Options that modify how specified output is handled. */
modifiers?: DialogNodeOutputModifiers;
/**
* DialogNodeOutput accepts additional properties of type any. Any additional data included in the dialog node
* output.
*/
[propName: string]: any;
}
/**
* Routing or other contextual information to be used by target service desk systems.
*/
export interface DialogNodeOutputConnectToAgentTransferInfo {
target?: JsonObject;
}
/**
* DialogNodeOutputGeneric.
*/
export interface DialogNodeOutputGeneric {
}
/**
* Options that modify how specified output is handled.
*/
export interface DialogNodeOutputModifiers {
/** Whether values in the output will overwrite output values in an array specified by previously executed
* dialog nodes. If this option is set to `false`, new values will be appended to previously specified values.
*/
overwrite?: boolean;
}
/**
* DialogNodeOutputOptionsElement.
*/
export interface DialogNodeOutputOptionsElement {
/** The user-facing label for the option. */
label: string;
/** An object defining the message input to be sent to the Watson Assistant service if the user selects the
* corresponding option.
*/
value: DialogNodeOutputOptionsElementValue;
}
/**
* An object defining the message input to be sent to the Watson Assistant service if the user selects the
* corresponding option.
*/
export interface DialogNodeOutputOptionsElementValue {
/** An input object that includes the input text. */
input?: MessageInput;
/** An array of intents to be used while processing the input.
*
* **Note:** This property is supported for backward compatibility with applications that use the v1 **Get response
* to user input** method.
*/
intents?: RuntimeIntent[];
/** An array of entities to be used while processing the user input.
*
* **Note:** This property is supported for backward compatibility with applications that use the v1 **Get response
* to user input** method.
*/
entities?: RuntimeEntity[];
}
/**
* DialogNodeOutputTextValuesElement.
*/
export interface DialogNodeOutputTextValuesElement {
/** The text of a response. This string can include newline characters (`\n`), Markdown tagging, or other
* special characters, if supported by the channel.
*/
text?: string;
}
/**
* DialogNodeVisitedDetails.
*/
export interface DialogNodeVisitedDetails {
/** The unique ID of a dialog node that was triggered during processing of the input message. */
dialog_node?: string;
/** The title of the dialog node. */
title?: string;
/** The conditions that trigger the dialog node. */
conditions?: string;
}
/**
* DialogSuggestion.
*/
export interface DialogSuggestion {
/** The user-facing label for the disambiguation option. This label is taken from the **title** or
* **user_label** property of the corresponding dialog node.
*/
label: string;
/** An object defining the message input, intents, and entities to be sent to the Watson Assistant service if
* the user selects the corresponding disambiguation option.
*
* **Note:** These properties must be included in the request body of the next message sent to the assistant. Do
* not modify or remove any of the included properties.
*/
value: DialogSuggestionValue;
/** The dialog output that will be returned from the Watson Assistant service if the user selects the
* corresponding option.
*/
output?: JsonObject;
/** The unique ID of the dialog node that the **label** property is taken from. The **label** property is
* populated using the value of the dialog node's **title** or **user_label** property.
*/
dialog_node?: string;
}
/**
* An object defining the message input, intents, and entities to be sent to the Watson Assistant service if the user
* selects the corresponding disambiguation option.
*
* **Note:** These properties must be included in the request body of the next message sent to the assistant. Do not
* modify or remove any of the included properties.
*/
export interface DialogSuggestionValue {
/** An input object that includes the input text. */
input?: MessageInput;
/** An array of intents to be sent along with the user input. */
intents?: RuntimeIntent[];
/** An array of entities to be sent along with the user input. */
entities?: RuntimeEntity[];
}
/**
* Entity.
*/
export interface Entity {
/** The name of the entity. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, and hyphen characters.
* - If you specify an entity name beginning with the reserved prefix `sys-`, it must be the name of a system
* entity that you want to enable. (Any entity content specified with the request is ignored.).
*/
entity: string;
/** The description of the entity. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** Any metadata related to the entity. */
metadata?: JsonObject;
/** Whether to use fuzzy matching for the entity. */
fuzzy_match?: boolean;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
/** An array of objects describing the entity values. */
values?: Value[];
}
/**
* An array of objects describing the entities for the workspace.
*/
export interface EntityCollection {
/** An array of objects describing the entities defined for the workspace. */
entities: Entity[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* An object describing a contextual entity mention.
*/
export interface EntityMention {
/** The text of the user input example. */
text: string;
/** The name of the intent. */
intent: string;
/** An array of zero-based character offsets that indicate where the entity mentions begin and end in the input
* text.
*/
location: number[];
}
/**
* EntityMentionCollection.
*/
export interface EntityMentionCollection {
/** An array of objects describing the entity mentions defined for an entity. */
examples: EntityMention[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* Example.
*/
export interface Example {
/** The text of a user input example. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
text: string;
/** An array of contextual entity mentions. */
mentions?: Mention[];
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
}
/**
* ExampleCollection.
*/
export interface ExampleCollection {
/** An array of objects describing the examples defined for the intent. */
examples: Example[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* Intent.
*/
export interface Intent {
/** The name of the intent. This string must conform to the following restrictions:
* - It can contain only Unicode alphanumeric, underscore, hyphen, and dot characters.
* - It cannot begin with the reserved prefix `sys-`.
*/
intent: string;
/** The description of the intent. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
/** An array of user input examples for the intent. */
examples?: Example[];
}
/**
* IntentCollection.
*/
export interface IntentCollection {
/** An array of objects describing the intents defined for the workspace. */
intents: Intent[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* Log.
*/
export interface Log {
/** A request sent to the workspace, including the user input and context. */
request: MessageRequest;
/** The response sent by the workspace, including the output text, detected intents and entities, and context. */
response: MessageResponse;
/** A unique identifier for the logged event. */
log_id: string;
/** The timestamp for receipt of the message. */
request_timestamp: string;
/** The timestamp for the system response to the message. */
response_timestamp: string;
/** The unique identifier of the workspace where the request was made. */
workspace_id: string;
/** The language of the workspace where the message request was made. */
language: string;
}
/**
* LogCollection.
*/
export interface LogCollection {
/** An array of objects describing log events. */
logs: Log[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: LogPagination;
}
/**
* Log message details.
*/
export interface LogMessage {
/** The severity of the log message. */
level: LogMessage.Constants.Level | string;
/** The text of the log message. */
msg: string;
/** A code that indicates the category to which the error message belongs. */
code: string;
/** An object that identifies the dialog element that generated the error message. */
source?: LogMessageSource;
}
export namespace LogMessage {
namespace Constants {
/** The severity of the log message. */
enum Level {
INFO = "info",
ERROR = "error",
WARN = "warn"
}
}
}
/**
* An object that identifies the dialog element that generated the error message.
*/
export interface LogMessageSource {
/** A string that indicates the type of dialog element that generated the error message. */
type?: LogMessageSource.Constants.Type | string;
/** The unique identifier of the dialog node that generated the error message. */
dialog_node?: string;
}
export namespace LogMessageSource {
namespace Constants {
/** A string that indicates the type of dialog element that generated the error message. */
enum Type {
DIALOG_NODE = "dialog_node"
}
}
}
/**
* The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
export interface LogPagination {
/** The URL that will return the next page of results, if any. */
next_url?: string;
/** Reserved for future use. */
matched?: number;
/** A token identifying the next page of results. */
next_cursor?: string;
}
/**
* A mention of a contextual entity.
*/
export interface Mention {
/** The name of the entity. */
entity: string;
/** An array of zero-based character offsets that indicate where the entity mentions begin and end in the input
* text.
*/
location: number[];
}
/**
* Metadata related to the message.
*/
export interface MessageContextMetadata {
/** A label identifying the deployment environment, used for filtering log data. This string cannot contain
* carriage return, newline, or tab characters.
*/
deployment?: string;
/** A string value that identifies the user who is interacting with the workspace. The client must provide a
* unique identifier for each individual end user who accesses the application. For user-based plans, this user ID
* is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or
* tab characters. If no value is specified in the input, **user_id** is automatically set to the value of
* **context.conversation_id**.
*
* **Note:** This property is the same as the **user_id** property at the root of the message body. If **user_id**
* is specified in both locations in a message request, the value specified at the root is used.
*/
user_id?: string;
}
/**
* An input object that includes the input text.
*
* This type supports additional properties of type any. Any additional data included with the message input.
*/
export interface MessageInput {
/** The text of the user input. This string cannot contain carriage return, newline, or tab characters. */
text?: string;
/** Whether to use spelling correction when processing the input. This property overrides the value of the
* **spelling_suggestions** property in the workspace settings.
*/
spelling_suggestions?: boolean;
/** Whether to use autocorrection when processing the input. If spelling correction is used and this property is
* `false`, any suggested corrections are returned in the **suggested_text** property of the message response. If
* this property is `true`, any corrections are automatically applied to the user input, and the original text is
* returned in the **original_text** property of the message response. This property overrides the value of the
* **spelling_auto_correct** property in the workspace settings.
*/
spelling_auto_correct?: boolean;
/** Any suggested corrections of the input text. This property is returned only if spelling correction is
* enabled and autocorrection is disabled.
*/
suggested_text?: string;
/** The original user input text. This property is returned only if autocorrection is enabled and the user input
* was corrected.
*/
original_text?: string;
/**
* MessageInput accepts additional properties of type any. Any additional data included with the message input.
*/
[propName: string]: any;
}
/**
* A request sent to the workspace, including the user input and context.
*/
export interface MessageRequest {
/** An input object that includes the input text. */
input?: MessageInput;
/** Intents to use when evaluating the user input. Include intents from the previous response to continue using
* those intents rather than trying to recognize intents in the new input.
*/
intents?: RuntimeIntent[];
/** Entities to use when evaluating the message. Include entities from the previous response to continue using
* those entities rather than detecting entities in the new input.
*/
entities?: RuntimeEntity[];
/** Whether to return more than one intent. A value of `true` indicates that all matching intents are returned. */
alternate_intents?: boolean;
/** State information for the conversation. To maintain state, include the context from the previous response. */
context?: Context;
/** An output object that includes the response to the user, the dialog nodes that were triggered, and messages
* from the log.
*/
output?: OutputData;
/** An array of objects describing any actions requested by the dialog node. */
actions?: DialogNodeAction[];
/** A string value that identifies the user who is interacting with the workspace. The client must provide a
* unique identifier for each individual end user who accesses the application. For user-based plans, this user ID
* is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or
* tab characters. If no value is specified in the input, **user_id** is automatically set to the value of
* **context.conversation_id**.
*
* **Note:** This property is the same as the **user_id** property in the context metadata. If **user_id** is
* specified in both locations in a message request, the value specified at the root is used.
*/
user_id?: string;
}
/**
* The response sent by the workspace, including the output text, detected intents and entities, and context.
*/
export interface MessageResponse {
/** An input object that includes the input text. */
input: MessageInput;
/** An array of intents recognized in the user input, sorted in descending order of confidence. */
intents: RuntimeIntent[];
/** An array of entities identified in the user input. */
entities: RuntimeEntity[];
/** Whether to return more than one intent. A value of `true` indicates that all matching intents are returned. */
alternate_intents?: boolean;
/** State information for the conversation. To maintain state, include the context from the previous response. */
context: Context;
/** An output object that includes the response to the user, the dialog nodes that were triggered, and messages
* from the log.
*/
output: OutputData;
/** An array of objects describing any actions requested by the dialog node. */
actions?: DialogNodeAction[];
/** A string value that identifies the user who is interacting with the workspace. The client must provide a
* unique identifier for each individual end user who accesses the application. For user-based plans, this user ID
* is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or
* tab characters. If no value is specified in the input, **user_id** is automatically set to the value of
* **context.conversation_id**.
*
* **Note:** This property is the same as the **user_id** property in the context metadata. If **user_id** is
* specified in both locations in a message request, the value specified at the root is used.
*/
user_id: string;
}
/**
* An output object that includes the response to the user, the dialog nodes that were triggered, and messages from
* the log.
*
* This type supports additional properties of type any. Any additional data included with the output.
*/
export interface OutputData {
/** An array of the nodes that were triggered to create the response, in the order in which they were visited.
* This information is useful for debugging and for tracing the path taken through the node tree.
*/
nodes_visited?: string[];
/** An array of objects containing detailed diagnostic information about the nodes that were triggered during
* processing of the input message. Included only if **nodes_visited_details** is set to `true` in the message
* request.
*/
nodes_visited_details?: DialogNodeVisitedDetails[];
/** An array of up to 50 messages logged with the request. */
log_messages: LogMessage[];
/** Output intended for any channel. It is the responsibility of the client application to implement the
* supported response types.
*/
generic?: RuntimeResponseGeneric[];
/**
* OutputData accepts additional properties of type any. Any additional data included with the output.
*/
[propName: string]: any;
}
/**
* The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
export interface Pagination {
/** The URL that will return the same page of results. */
refresh_url: string;
/** The URL that will return the next page of results. */
next_url?: string;
/** The total number of objects that satisfy the request. This total includes all results, not just those
* included in the current page.
*/
total?: number;
/** Reserved for future use. */
matched?: number;
/** A token identifying the current page of results. */
refresh_cursor?: string;
/** A token identifying the next page of results. */
next_cursor?: string;
}
/**
* ResponseGenericChannel.
*/
export interface ResponseGenericChannel {
/** A channel for which the response is intended.
*
* **Note:** On IBM Cloud Pak for Data, only `chat` is supported.
*/
channel?: ResponseGenericChannel.Constants.Channel | string;
}
export namespace ResponseGenericChannel {
namespace Constants {
/** A channel for which the response is intended. **Note:** On IBM Cloud Pak for Data, only `chat` is supported. */
enum Channel {
CHAT = "chat",
FACEBOOK = "facebook",
INTERCOM = "intercom",
SLACK = "slack",
TEXT_MESSAGING = "text_messaging",
VOICE_TELEPHONY = "voice_telephony",
WHATSAPP = "whatsapp"
}
}
}
/**
* A term from the request that was identified as an entity.
*/
export interface RuntimeEntity {
/** An entity detected in the input. */
entity: string;
/** An array of zero-based character offsets that indicate where the detected entity values begin and end in the
* input text.
*/
location?: number[];
/** The entity value that was recognized in the user input. */
value: string;
/** A decimal percentage that represents confidence in the recognized entity. */
confidence?: number;
/** The recognized capture groups for the entity, as defined by the entity pattern. */
groups?: CaptureGroup[];
/** An object containing detailed information about the entity recognized in the user input.
*
* For more information about how system entities are interpreted, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-system-entities).
*/
interpretation?: RuntimeEntityInterpretation;
/** An array of possible alternative values that the user might have intended instead of the value returned in
* the **value** property. This property is returned only for `@sys-time` and `@sys-date` entities when the user's
* input is ambiguous.
*
* This property is included only if the new system entities are enabled for the workspace.
*/
alternatives?: RuntimeEntityAlternative[];
/** An object describing the role played by a system entity that is specifies the beginning or end of a range
* recognized in the user input. This property is included only if the new system entities are enabled for the
* workspace.
*/
role?: RuntimeEntityRole;
}
/**
* An alternative value for the recognized entity.
*/
export interface RuntimeEntityAlternative {
/** The entity value that was recognized in the user input. */
value?: string;
/** A decimal percentage that represents confidence in the recognized entity. */
confidence?: number;
}
/**
* RuntimeEntityInterpretation.
*/
export interface RuntimeEntityInterpretation {
/** The calendar used to represent a recognized date (for example, `Gregorian`). */
calendar_type?: string;
/** A unique identifier used to associate a recognized time and date. If the user input contains a date and time
* that are mentioned together (for example, `Today at 5`, the same **datetime_link** value is returned for both
* the `@sys-date` and `@sys-time` entities).
*/
datetime_link?: string;
/** A locale-specific holiday name (such as `thanksgiving` or `christmas`). This property is included when a
* `@sys-date` entity is recognized based on a holiday name in the user input.
*/
festival?: string;
/** The precision or duration of a time range specified by a recognized `@sys-time` or `@sys-date` entity. */
granularity?: RuntimeEntityInterpretation.Constants.Granularity | string;
/** A unique identifier used to associate multiple recognized `@sys-date`, `@sys-time`, or `@sys-number`
* entities that are recognized as a range of values in the user's input (for example, `from July 4 until July 14`
* or `from 20 to 25`).
*/
range_link?: string;
/** The word in the user input that indicates that a `sys-date` or `sys-time` entity is part of an implied range
* where only one date or time is specified (for example, `since` or `until`).
*/
range_modifier?: string;
/** A recognized mention of a relative day, represented numerically as an offset from the current date (for
* example, `-1` for `yesterday` or `10` for `in ten days`).
*/
relative_day?: number;
/** A recognized mention of a relative month, represented numerically as an offset from the current month (for
* example, `1` for `next month` or `-3` for `three months ago`).
*/
relative_month?: number;
/** A recognized mention of a relative week, represented numerically as an offset from the current week (for
* example, `2` for `in two weeks` or `-1` for `last week).
*/
relative_week?: number;
/** A recognized mention of a relative date range for a weekend, represented numerically as an offset from the
* current weekend (for example, `0` for `this weekend` or `-1` for `last weekend`).
*/
relative_weekend?: number;
/** A recognized mention of a relative year, represented numerically as an offset from the current year (for
* example, `1` for `next year` or `-5` for `five years ago`).
*/
relative_year?: number;
/** A recognized mention of a specific date, represented numerically as the date within the month (for example,
* `30` for `June 30`.).
*/
specific_day?: number;
/** A recognized mention of a specific day of the week as a lowercase string (for example, `monday`). */
specific_day_of_week?: string;
/** A recognized mention of a specific month, represented numerically (for example, `7` for `July`). */
specific_month?: number;
/** A recognized mention of a specific quarter, represented numerically (for example, `3` for `the third
* quarter`).
*/
specific_quarter?: number;
/** A recognized mention of a specific year (for example, `2016`). */
specific_year?: number;
/** A recognized numeric value, represented as an integer or double. */
numeric_value?: number;
/** The type of numeric value recognized in the user input (`integer` or `rational`). */
subtype?: string;
/** A recognized term for a time that was mentioned as a part of the day in the user's input (for example,
* `morning` or `afternoon`).
*/
part_of_day?: string;
/** A recognized mention of a relative hour, represented numerically as an offset from the current hour (for
* example, `3` for `in three hours` or `-1` for `an hour ago`).
*/
relative_hour?: number;
/** A recognized mention of a relative time, represented numerically as an offset in minutes from the current
* time (for example, `5` for `in five minutes` or `-15` for `fifteen minutes ago`).
*/
relative_minute?: number;
/** A recognized mention of a relative time, represented numerically as an offset in seconds from the current
* time (for example, `10` for `in ten seconds` or `-30` for `thirty seconds ago`).
*/
relative_second?: number;
/** A recognized specific hour mentioned as part of a time value (for example, `10` for `10:15 AM`.). */
specific_hour?: number;
/** A recognized specific minute mentioned as part of a time value (for example, `15` for `10:15 AM`.). */
specific_minute?: number;
/** A recognized specific second mentioned as part of a time value (for example, `30` for `10:15:30 AM`.). */
specific_second?: number;
/** A recognized time zone mentioned as part of a time value (for example, `EST`). */
timezone?: string;
}
export namespace RuntimeEntityInterpretation {
namespace Constants {
/** The precision or duration of a time range specified by a recognized `@sys-time` or `@sys-date` entity. */
enum Granularity {
DAY = "day",
FORTNIGHT = "fortnight",
HOUR = "hour",
INSTANT = "instant",
MINUTE = "minute",
MONTH = "month",
QUARTER = "quarter",
SECOND = "second",
WEEK = "week",
WEEKEND = "weekend",
YEAR = "year"
}
}
}
/**
* An object describing the role played by a system entity that is specifies the beginning or end of a range
* recognized in the user input. This property is included only if the new system entities are enabled for the
* workspace.
*/
export interface RuntimeEntityRole {
/** The relationship of the entity to the range. */
type?: RuntimeEntityRole.Constants.Type | string;
}
export namespace RuntimeEntityRole {
namespace Constants {
/** The relationship of the entity to the range. */
enum Type {
DATE_FROM = "date_from",
DATE_TO = "date_to",
NUMBER_FROM = "number_from",
NUMBER_TO = "number_to",
TIME_FROM = "time_from",
TIME_TO = "time_to"
}
}
}
/**
* An intent identified in the user input.
*/
export interface RuntimeIntent {
/** The name of the recognized intent. */
intent: string;
/** A decimal percentage that represents confidence in the intent. If you are specifying an intent as part of a
* request, but you do not have a calculated confidence value, specify `1`.
*/
confidence?: number;
}
/**
* RuntimeResponseGeneric.
*/
export interface RuntimeResponseGeneric {
}
/**
* An object describing an error that occurred during processing of an asynchronous operation.
*/
export interface StatusError {
/** The text of the error message. */
message?: string;
}
/**
* Synonym.
*/
export interface Synonym {
/** The text of the synonym. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
synonym: string;
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
}
/**
* SynonymCollection.
*/
export interface SynonymCollection {
/** An array of synonyms. */
synonyms: Synonym[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* Value.
*/
export interface Value {
/** The text of the entity value. This string must conform to the following restrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
value: string;
/** Any metadata related to the entity value. */
metadata?: JsonObject;
/** Specifies the type of entity value. */
type: Value.Constants.Type | string;
/** An array of synonyms for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A synonym must conform to the following resrictions:
* - It cannot contain carriage return, newline, or tab characters.
* - It cannot consist of only whitespace characters.
*/
synonyms?: string[];
/** An array of patterns for the entity value. A value can specify either synonyms or patterns (depending on the
* value type), but not both. A pattern is a regular expression; for more information about how to specify a
* pattern, see the
* [documentation](https://cloud.ibm.com/docs/assistant?topic=assistant-entities#entities-create-dictionary-based).
*/
patterns?: string[];
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
}
export namespace Value {
namespace Constants {
/** Specifies the type of entity value. */
enum Type {
SYNONYMS = "synonyms",
PATTERNS = "patterns"
}
}
}
/**
* ValueCollection.
*/
export interface ValueCollection {
/** An array of entity values. */
values: Value[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* A webhook that can be used by dialog nodes to make programmatic calls to an external function.
*
* **Note:** Currently, only a single webhook named `main_webhook` is supported.
*/
export interface Webhook {
/** The URL for the external service or application to which you want to send HTTP POST requests. */
url: string;
/** The name of the webhook. Currently, `main_webhook` is the only supported value. */
name: string;
/** An optional array of HTTP headers to pass with the HTTP request. */
headers?: WebhookHeader[];
}
/**
* A key/value pair defining an HTTP header and a value.
*/
export interface WebhookHeader {
/** The name of an HTTP header (for example, `Authorization`). */
name: string;
/** The value of an HTTP header. */
value: string;
}
/**
* Workspace.
*/
export interface Workspace {
/** The name of the workspace. This string cannot contain carriage return, newline, or tab characters. */
name: string;
/** The description of the workspace. This string cannot contain carriage return, newline, or tab characters. */
description?: string;
/** The language of the workspace. */
language: string;
/** The workspace ID of the workspace. */
workspace_id?: string;
/** An array of objects describing the dialog nodes in the workspace. */
dialog_nodes?: DialogNode[];
/** An array of objects defining input examples that have been marked as irrelevant input. */
counterexamples?: Counterexample[];
/** The timestamp for creation of the object. */
created?: string;
/** The timestamp for the most recent update to the object. */
updated?: string;
/** Any metadata related to the workspace. */
metadata?: JsonObject;
/** Whether training data from the workspace (including artifacts such as intents and entities) can be used by
* IBM for general service improvements. `true` indicates that workspace training data is not to be used.
*/
learning_opt_out: boolean;
/** Global settings for the workspace. */
system_settings?: WorkspaceSystemSettings;
/** The current status of the workspace:
* - **Available**: The workspace is available and ready to process messages.
* - **Failed**: An asynchronous operation has failed. See the **status_errors** property for more information
* about the cause of the failure.
* - **Non Existent**: The workspace does not exist.
* - **Processing**: An asynchronous operation has not yet completed.
* - **Training**: The workspace is training based on new data such as intents or examples.
*/
status?: Workspace.Constants.Status | string;
/** An array of messages about errors that caused an asynchronous operation to fail. */
status_errors?: StatusError[];
webhooks?: Webhook[];
/** An array of intents. */
intents?: Intent[];
/** An array of objects describing the entities for the workspace. */
entities?: Entity[];
/** An object containing properties that indicate how many intents, entities, and dialog nodes are defined in
* the workspace. This property is included only in responses from the **Export workspace asynchronously** method,
* and only when the **verbose** query parameter is set to `true`.
*/
counts?: WorkspaceCounts;
}
export namespace Workspace {
namespace Constants {
/** The current status of the workspace: - **Available**: The workspace is available and ready to process messages. - **Failed**: An asynchronous operation has failed. See the **status_errors** property for more information about the cause of the failure. - **Non Existent**: The workspace does not exist. - **Processing**: An asynchronous operation has not yet completed. - **Training**: The workspace is training based on new data such as intents or examples. */
enum Status {
AVAILABLE = "Available",
FAILED = "Failed",
NON_EXISTENT = "Non Existent",
PROCESSING = "Processing",
TRAINING = "Training",
UNAVAILABLE = "Unavailable"
}
}
}
/**
* WorkspaceCollection.
*/
export interface WorkspaceCollection {
/** An array of objects describing the workspaces associated with the service instance. */
workspaces: Workspace[];
/** The pagination data for the returned objects. For more information about using pagination, see
* [Pagination](#pagination).
*/
pagination: Pagination;
}
/**
* An object containing properties that indicate how many intents, entities, and dialog nodes are defined in the
* workspace. This property is included only in responses from the **Export workspace asynchronously** method, and
* only when the **verbose** query parameter is set to `true`.
*/
export interface WorkspaceCounts {
/** The number of intents defined in the workspace. */
intent?: number;
/** The number of entities defined in the workspace. */
entity?: number;
/** The number of nodes defined in the workspace. */
node?: number;
}
/**
* Global settings for the workspace.
*
* This type supports additional properties of type any. For internal use only.
*/
export interface WorkspaceSystemSettings {
/** Workspace settings related to the Watson Assistant user interface. */
tooling?: WorkspaceSystemSettingsTooling;
/** Workspace settings related to the disambiguation feature. */
disambiguation?: WorkspaceSystemSettingsDisambiguation;
/** For internal use only. */
human_agent_assist?: JsonObject;
/** Whether spelling correction is enabled for the workspace. */
spelling_suggestions?: boolean;
/** Whether autocorrection is enabled for the workspace. If spelling correction is enabled and this property is
* `false`, any suggested corrections are returned in the **suggested_text** property of the message response. If
* this property is `true`, any corrections are automatically applied to the user input, and the original text is
* returned in the **original_text** property of the message response.
*/
spelling_auto_correct?: boolean;
/** Workspace settings related to the behavior of system entities. */
system_entities?: WorkspaceSystemSettingsSystemEntities;
/** Workspace settings related to detection of irrelevant input. */
off_topic?: WorkspaceSystemSettingsOffTopic;
/** Workspace settings related to the version of the training algorithms currently used by the skill. */
nlp?: WorkspaceSystemSettingsNlp;
/**
* WorkspaceSystemSettings accepts additional properties of type any. For internal use only.
*/
[propName: string]: any;
}
/**
* Workspace settings related to the disambiguation feature.
*/
export interface WorkspaceSystemSettingsDisambiguation {
/** The text of the introductory prompt that accompanies disambiguation options presented to the user. */
prompt?: string;
/** The user-facing label for the option users can select if none of the suggested options is correct. If no
* value is specified for this property, this option does not appear.
*/
none_of_the_above_prompt?: string;
/** Whether the disambiguation feature is enabled for the workspace. */
enabled?: boolean;
/** The sensitivity of the disambiguation feature to intent detection uncertainty. Higher sensitivity means that
* the disambiguation feature is triggered more often and includes more choices.
*/
sensitivity?: WorkspaceSystemSettingsDisambiguation.Constants.Sensitivity | string;
/** Whether the order in which disambiguation suggestions are presented should be randomized (but still
* influenced by relative confidence).
*/
randomize?: boolean;
/** The maximum number of disambigation suggestions that can be included in a `suggestion` response. */
max_suggestions?: number;
/** For internal use only. */
suggestion_text_policy?: string;
}
export namespace WorkspaceSystemSettingsDisambiguation {
namespace Constants {
/** The sensitivity of the disambiguation feature to intent detection uncertainty. Higher sensitivity means that the disambiguation feature is triggered more often and includes more choices. */
enum Sensitivity {
AUTO = "auto",
HIGH = "high",
MEDIUM_HIGH = "medium_high",
MEDIUM = "medium",
MEDIUM_LOW = "medium_low",
LOW = "low"
}
}
}
/**
* Workspace settings related to the version of the training algorithms currently used by the skill.
*/
export interface WorkspaceSystemSettingsNlp {
/** The policy the skill follows for selecting the algorithm version to use. For more information, see the
* [documentation](/docs/watson-assistant?topic=watson-assistant-algorithm-version).
*
* On IBM Cloud, you can specify `latest`, `previous`, or `beta`.
*
* On IBM Cloud Pak for Data, you can specify either `beta` or the date of the version you want to use, in
* `YYYY-MM-DD` format.
*/
model?: string;
}
/**
* Workspace settings related to detection of irrelevant input.
*/
export interface WorkspaceSystemSettingsOffTopic {
/** Whether enhanced irrelevance detection is enabled for the workspace. */
enabled?: boolean;
}
/**
* Workspace settings related to the behavior of system entities.
*/
export interface WorkspaceSystemSettingsSystemEntities {
/** Whether the new system entities are enabled for the workspace. */
enabled?: boolean;
}
/**
* Workspace settings related to the Watson Assistant user interface.
*/
export interface WorkspaceSystemSettingsTooling {
/** Whether the dialog JSON editor displays text responses within the `output.generic` object. */
store_generic_responses?: boolean;
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeAudio.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeAudio extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the audio clip. */
source: string;
/** An optional title to show before the response. */
title?: string;
/** An optional description to show with the response. */
description?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
/** For internal use only. */
channel_options?: JsonObject;
/** Descriptive text that can be used for screen readers or other situations where the audio player cannot be
* seen.
*/
alt_text?: string;
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeChannelTransfer.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeChannelTransfer extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*
* **Note:** The `channel_transfer` response type is not supported on IBM Cloud Pak for Data.
*/
response_type: string;
/** The message to display to the user when initiating a channel transfer. */
message_to_user: string;
/** Information used by an integration to transfer the conversation to a different channel. */
transfer_info: ChannelTransferInfo;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeConnectToAgent.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeConnectToAgent extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** An optional message to be sent to the human agent who will be taking over the conversation. */
message_to_human_agent?: string;
/** An optional message to be displayed to the user to indicate that the conversation will be transferred to the
* next available agent.
*/
agent_available?: AgentAvailabilityMessage;
/** An optional message to be displayed to the user to indicate that no online agent is available to take over
* the conversation.
*/
agent_unavailable?: AgentAvailabilityMessage;
/** Routing or other contextual information to be used by target service desk systems. */
transfer_info?: DialogNodeOutputConnectToAgentTransferInfo;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeIframe.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeIframe extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the embeddable content. */
source: string;
/** An optional title to show before the response. */
title?: string;
/** An optional description to show with the response. */
description?: string;
/** The URL of an image that shows a preview of the embedded content. */
image_url?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeImage.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeImage extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the image. */
source: string;
/** An optional title to show before the response. */
title?: string;
/** An optional description to show with the response. */
description?: string;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
/** Descriptive text that can be used for screen readers or other situations where the image cannot be seen. */
alt_text?: string;
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeOption.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeOption extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** An optional title to show before the response. */
title: string;
/** An optional description to show with the response. */
description?: string;
/** The preferred type of control to display, if supported by the channel. */
preference?: DialogNodeOutputGenericDialogNodeOutputResponseTypeOption.Constants.Preference | string;
/** An array of objects describing the options from which the user can choose. You can include up to 20 options. */
options: DialogNodeOutputOptionsElement[];
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
export namespace DialogNodeOutputGenericDialogNodeOutputResponseTypeOption {
namespace Constants {
/** The preferred type of control to display, if supported by the channel. */
enum Preference {
DROPDOWN = "dropdown",
BUTTON = "button"
}
}
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypePause.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypePause extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** How long to pause, in milliseconds. The valid values are from 0 to 10000. */
time: number;
/** Whether to send a "user is typing" event during the pause. Ignored if the channel does not support this
* event.
*/
typing?: boolean;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*
* **Note:** The **search_skill** response type is used only by the v2 runtime API.
*/
response_type: string;
/** The text of the search query. This can be either a natural-language query or a query that uses the Discovery
* query language syntax, depending on the value of the **query_type** property. For more information, see the
* [Discovery service
* documentation](https://cloud.ibm.com/docs/discovery?topic=discovery-query-operators#query-operators).
*/
query: string;
/** The type of the search query. */
query_type: DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill.Constants.QueryType | string;
/** An optional filter that narrows the set of documents to be searched. For more information, see the
* [Discovery service documentation]([Discovery service
* documentation](https://cloud.ibm.com/docs/discovery?topic=discovery-query-parameters#filter).
*/
filter?: string;
/** The version of the Discovery service API to use for the query. */
discovery_version?: string;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
export namespace DialogNodeOutputGenericDialogNodeOutputResponseTypeSearchSkill {
namespace Constants {
/** The type of the search query. */
enum QueryType {
NATURAL_LANGUAGE = "natural_language",
DISCOVERY_QUERY_LANGUAGE = "discovery_query_language"
}
}
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeText.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeText extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** A list of one or more objects defining text responses. */
values: DialogNodeOutputTextValuesElement[];
/** How a response is selected from the list, if more than one response is specified. */
selection_policy?: DialogNodeOutputGenericDialogNodeOutputResponseTypeText.Constants.SelectionPolicy | string;
/** The delimiter to use as a separator between responses when `selection_policy`=`multiline`. */
delimiter?: string;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
export namespace DialogNodeOutputGenericDialogNodeOutputResponseTypeText {
namespace Constants {
/** How a response is selected from the list, if more than one response is specified. */
enum SelectionPolicy {
SEQUENTIAL = "sequential",
RANDOM = "random",
MULTILINE = "multiline"
}
}
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeUserDefined.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeUserDefined extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** An object containing any properties for the user-defined response type. The total size of this object cannot
* exceed 5000 bytes.
*/
user_defined: JsonObject;
/** An array of objects specifying channels for which the response is intended. */
channels?: ResponseGenericChannel[];
}
/**
* DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo.
*/
export interface DialogNodeOutputGenericDialogNodeOutputResponseTypeVideo extends DialogNodeOutputGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the video. */
source: string;
/** An optional title to show before the response. */
title?: string;
/** An optional description to show with the response. */
description?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
/** For internal use only. */
channel_options?: JsonObject;
/** Descriptive text that can be used for screen readers or other situations where the video cannot be seen. */
alt_text?: string;
}
/**
* RuntimeResponseGenericRuntimeResponseTypeAudio.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeAudio extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the audio clip. */
source: string;
/** The title or introductory text to show before the response. */
title?: string;
/** The description to show with the response. */
description?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
/** For internal use only. */
channel_options?: JsonObject;
/** Descriptive text that can be used for screen readers or other situations where the audio player cannot be
* seen.
*/
alt_text?: string;
}
/**
* RuntimeResponseGenericRuntimeResponseTypeChannelTransfer.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeChannelTransfer extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*
* **Note:** The `channel_transfer` response type is not supported on IBM Cloud Pak for Data.
*/
response_type: string;
/** The message to display to the user when initiating a channel transfer. */
message_to_user: string;
/** Information used by an integration to transfer the conversation to a different channel. */
transfer_info: ChannelTransferInfo;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended only for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeConnectToAgent.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeConnectToAgent extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** A message to be sent to the human agent who will be taking over the conversation. */
message_to_human_agent?: string;
/** An optional message to be displayed to the user to indicate that the conversation will be transferred to the
* next available agent.
*/
agent_available?: AgentAvailabilityMessage;
/** An optional message to be displayed to the user to indicate that no online agent is available to take over
* the conversation.
*/
agent_unavailable?: AgentAvailabilityMessage;
/** Routing or other contextual information to be used by target service desk systems. */
transfer_info?: DialogNodeOutputConnectToAgentTransferInfo;
/** A label identifying the topic of the conversation, derived from the **title** property of the relevant node
* or the **topic** property of the dialog node response.
*/
topic?: string;
/** The unique ID of the dialog node that the **topic** property is taken from. The **topic** property is
* populated using the value of the dialog node's **title** property.
*/
dialog_node?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeIframe.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeIframe extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the embeddable content. */
source: string;
/** The title or introductory text to show before the response. */
title?: string;
/** The description to show with the response. */
description?: string;
/** The URL of an image that shows a preview of the embedded content. */
image_url?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeImage.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeImage extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the image. */
source: string;
/** The title or introductory text to show before the response. */
title?: string;
/** The description to show with the response. */
description?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
/** Descriptive text that can be used for screen readers or other situations where the image cannot be seen. */
alt_text?: string;
}
/**
* RuntimeResponseGenericRuntimeResponseTypeOption.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeOption extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The title or introductory text to show before the response. */
title: string;
/** The description to show with the response. */
description?: string;
/** The preferred type of control to display. */
preference?: RuntimeResponseGenericRuntimeResponseTypeOption.Constants.Preference | string;
/** An array of objects describing the options from which the user can choose. */
options: DialogNodeOutputOptionsElement[];
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
export namespace RuntimeResponseGenericRuntimeResponseTypeOption {
namespace Constants {
/** The preferred type of control to display. */
enum Preference {
DROPDOWN = "dropdown",
BUTTON = "button"
}
}
}
/**
* RuntimeResponseGenericRuntimeResponseTypePause.
*/
export interface RuntimeResponseGenericRuntimeResponseTypePause extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** How long to pause, in milliseconds. */
time: number;
/** Whether to send a "user is typing" event during the pause. */
typing?: boolean;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeSuggestion.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeSuggestion extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The title or introductory text to show before the response. */
title: string;
/** An array of objects describing the possible matching dialog nodes from which the user can choose. */
suggestions: DialogSuggestion[];
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeText.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeText extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The text of the response. */
text: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeUserDefined.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeUserDefined extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** An object containing any properties for the user-defined response type. */
user_defined: JsonObject;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
}
/**
* RuntimeResponseGenericRuntimeResponseTypeVideo.
*/
export interface RuntimeResponseGenericRuntimeResponseTypeVideo extends RuntimeResponseGeneric {
/** The type of response returned by the dialog node. The specified response type must be supported by the
* client application or channel.
*/
response_type: string;
/** The `https:` URL of the video. */
source: string;
/** The title or introductory text to show before the response. */
title?: string;
/** The description to show with the response. */
description?: string;
/** An array of objects specifying channels for which the response is intended. If **channels** is present, the
* response is intended for a built-in integration and should not be handled by an API client.
*/
channels?: ResponseGenericChannel[];
/** For internal use only. */
channel_options?: JsonObject;
/** Descriptive text that can be used for screen readers or other situations where the video cannot be seen. */
alt_text?: string;
}
export {};
}
export = AssistantV1;