purecloud-flow-scripting-api-sdk-javascript 0.59.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/types.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  export class ArchDataType extends ArchBaseCoreObject {
2
2
  // constructor(coreExpressionType: any, baseDataTypeNameToUse: string);
3
+ /**
4
+ * Returns the name of the data type.
5
+ */
6
+ readonly name: string;
3
7
  /**
4
8
  * A string suitable for logging that contains information about this data type.
5
9
  */
@@ -79,6 +83,18 @@ export class ArchDataType extends ArchBaseCoreObject {
79
83
  * Returns a localized displayable name string for the data type.
80
84
  */
81
85
  readonly label: string;
86
+ /**
87
+ * If this data type is a custom JSON type, this will return the namespace
88
+ * for it. If this data type is not a custom JSON type, nothing is returned.
89
+ * Valid custom JSON namespaces that can be returned are {@link ArchEnums#CUSTOM_JSON_NAMESPACES}
90
+ */
91
+ readonly customJsonNamespace: string;
92
+ /**
93
+ * If this data type is a custom JSON type, this will return an Architect data
94
+ * type custom JSON schema for it. If this data type is not a custom JSON type,
95
+ * nothing is returned.
96
+ */
97
+ getCustomJsonSchema(): ArchDataTypeJsonCustomSchema;
82
98
  /**
83
99
  * Returns true indicating that this is an ArchBaseCoreObject instance.
84
100
  */
@@ -315,6 +331,33 @@ export class ArchEnums {
315
331
  * Returns a string array that contains all valid chooser mode strings.
316
332
  */
317
333
  readonly CHOOSER_PRESENTATION_MODES_ALL: string[];
334
+ /**
335
+ * Returns a JSON object with these properties for whose values are valid custom JSON schema types:
336
+ * ```
337
+ * {
338
+ *   input: 'input'
339
+ *   output: 'output'
340
+ * }
341
+ * ```
342
+ */
343
+ readonly CUSTOM_JSON_SCHEMA_TYPES: {"input":"input","output":"output","error":"error"};
344
+ /**
345
+ * Returns a string array that contains all valid custom JSON schema types.
346
+ */
347
+ readonly CUSTOM_JSON_SCHEMA_TYPES_ALL: string[];
348
+ /**
349
+ * Returns a JSON object with these properties for whose values are valid custom JSON type namespaces:
350
+ * ```
351
+ * {
352
+ *   decisionTable: 'decisionTable'
353
+ * }
354
+ * ```
355
+ */
356
+ readonly CUSTOM_JSON_TYPE_NAMESPACES: {"architect":"architect","decisionTable":"decisionTable","userDefined":"userDefined","worktype":"worktype"};
357
+ /**
358
+ * Returns a string array that contains all valid custom JSON type namespaces.
359
+ */
360
+ readonly CUSTOM_JSON_TYPE_NAMESPACES_ALL: string[];
318
361
  /**
319
362
  * Returns a string array that contains all valid DTMF terminating character options
320
363
  */
@@ -545,6 +588,21 @@ export class ArchEnums {
545
588
  * Returns a string array that contains all valid knowledge path mode strings.
546
589
  */
547
590
  readonly KNOWLEDGE_PATH_MODES_ALL: string[];
591
+ /**
592
+ * Returns a JSON object with these properties whose values are valid knowledge answer content type strings:
593
+ * ```
594
+ * {
595
+ *   standard: 'standard',
596
+ *   highlight: 'highlight',
597
+ *   generative: 'generative',
598
+ * }
599
+ * ```
600
+ */
601
+ readonly KNOWLEDGE_ANSWER_CONTENT_TYPES: {"standard":"standard","highlight":"highlight","generative":"generative"};
602
+ /**
603
+ * Returns a string array that contains all valid answer content type strings.
604
+ */
605
+ readonly KNOWLEDGE_ANSWER_CONTENT_TYPES_ALL: string[];
548
606
  /**
549
607
  * Returns a JSON object with these properties whose values are valid knowledge settings mode strings.
550
608
  * ```
@@ -718,7 +776,7 @@ export class ArchEnums {
718
776
  * }
719
777
  * ```
720
778
  */
721
- readonly POST_FLOW_ACTION_TYPES: {"inboundCallFlow":"inboundCallFlow","voiceSurveyFlow":"voiceSurveyFlow"};
779
+ readonly POST_FLOW_ACTION_TYPES: {"inboundCallFlow":"inboundCallFlow","voiceSurveyFlow":"voiceSurveyFlow","inboundShortMessageFlow":"inboundShortMessageFlow"};
722
780
  /**
723
781
  * Returns a string array that contains all valid post flow action type strings.
724
782
  */
@@ -733,7 +791,7 @@ export class ArchEnums {
733
791
  * }
734
792
  * ```
735
793
  */
736
- readonly POST_FLOW_TARGET_TYPES: {"callee":"callee","caller":"caller","any":"any"};
794
+ readonly POST_FLOW_TARGET_TYPES: {"callee":"callee","caller":"caller","any":"any","sender":"sender"};
737
795
  /**
738
796
  * Returns a string array that contains all valid post flow target type strings.
739
797
  */
@@ -774,7 +832,7 @@ export class ArchEnums {
774
832
  * }
775
833
  * ```
776
834
  */
777
- readonly SEND_NOTIFICATION_TYPES: {"email":"email"};
835
+ readonly SEND_NOTIFICATION_TYPES: {"email":"email","chat":"chat"};
778
836
  /**
779
837
  * Returns a string array that contains all valid send notification modes.
780
838
  */
@@ -788,7 +846,7 @@ export class ArchEnums {
788
846
  * }
789
847
  * ```
790
848
  */
791
- readonly EMAIL_STYLES: {"email":"email"};
849
+ readonly EMAIL_STYLES: {"email":"email","chat":"chat"};
792
850
  /**
793
851
  * Returns a string array that contains all valid send notification modes.
794
852
  */
@@ -1016,6 +1074,10 @@ export class ArchOrganizationInfo extends ArchBaseObject {
1016
1074
  * Returns true indicating that this is an ArchOrganizationInfo instance.
1017
1075
  */
1018
1076
  readonly isArchOrganizationInfo: boolean;
1077
+ /**
1078
+ * Returns true indicating that agentic virtual agent is available for this ArchOrganizationInfo instance.
1079
+ */
1080
+ readonly agenticVirtualAgentAvailable: boolean;
1019
1081
  /**
1020
1082
  * Returns true indicating that virtual agent is available for this ArchOrganizationInfo instance.
1021
1083
  */
@@ -1024,10 +1086,24 @@ export class ArchOrganizationInfo extends ArchBaseObject {
1024
1086
  * Returns whether Virtual Agent summarization capabilities are available for the organization.
1025
1087
  */
1026
1088
  readonly virtualAgentSummarizationAvailable: boolean;
1089
+ /**
1090
+ * Returns whether large language model (AI) slots are available for use in bot and digital
1091
+ * bot flows for this organization.
1092
+ */
1093
+ readonly botFlowsLLMPoweredSlot: boolean;
1094
+ /**
1095
+ * Returns whether answer generation from a single or multiple knowledge articles in a bot or digital bot flow
1096
+ * is available for this organization.
1097
+ */
1098
+ readonly botFlowsAnswerGeneration: boolean;
1027
1099
  /**
1028
1100
  * Returns whether the Messaging Rich Media Date Picker is available in digital bot flow.
1029
1101
  */
1030
1102
  readonly botFlowsMessagingDatePicker: boolean;
1103
+ /**
1104
+ * Returns whether enhanced recognition failure handling is available in bot or digital bot flows.
1105
+ */
1106
+ readonly botFlowsEnhancedRecognitionFailureHandling: boolean;
1031
1107
  /**
1032
1108
  * Returns whether virtual agent guide is available in bot or digital bot flows.
1033
1109
  */
@@ -2587,6 +2663,27 @@ export class ArchFactoryActions extends ArchBaseFactory {
2587
2663
  addActionShowKnowledgeArticle(archMultiActionContainer: ArchBaseMultiActionContainer, name?: string, previousArchAction?: ArchBaseAction): ArchActionShowKnowledgeArticle;
2588
2664
  }
2589
2665
 
2666
+ /**
2667
+ * A factory instance that lets you add Architect data types to flows.
2668
+ * Do not attempt to create an instance of this class. Architect Scripting will
2669
+ * create the factory instance as needed.
2670
+ */
2671
+ export class ArchFactoryDataTypes extends ArchBaseFactory {
2672
+ /**
2673
+ * Returns the display type name string 'ArchFactoryDataTypes'.
2674
+ */
2675
+ readonly displayTypeName: string;
2676
+ /**
2677
+ * Returns the custom JSON data type that is associated with the given [custom JSON namespace]{@link ArchEnums#CUSTOM_JSON_TYPE_NAMESPACES} and entity name. If the data type does not exist within the flow,
2678
+ * it will be created.
2679
+ * @param archBaseFlow - the flow where the data type will be created or retrieved.
2680
+ * @param customJsonNamespace - the custom JSON namespace to use for creating the data type. Allowable values are: {@link ArchEnums#CUSTOM_JSON_TYPE_NAMESPACES}
2681
+ * @param entityName - the name of the entity that is being referenced by the custom JSON namespace.
2682
+ * @param customJsonDataTypeSchemaType - the custom JSON schema types to use for creating the data type. Allowable values are: {@link ArchEnums#CUSTOM_JSON_SCHEMA_TYPES}
2683
+ */
2684
+ getOrCreateCustomJsonDataTypeAsync(archBaseFlow: ArchBaseFlow, customJsonNamespace: string, entityName: string, customJsonDataTypeSchemaType: string): void;
2685
+ }
2686
+
2590
2687
  /**
2591
2688
  * A factory instance that lets you create filters. Filters are used for filtering
2592
2689
  * and matching purposes such as when you want to traverse a flow looking for
@@ -4221,6 +4318,11 @@ export class ArchActionAskForBoolean extends ArchBaseActionAsk {
4221
4318
  * Max No Inputs value is exceeded.
4222
4319
  */
4223
4320
  readonly outputMaxNoInputs: ArchActionOutput;
4321
+ /**
4322
+ * The Max No Matches output for this action which will be taken at runtime if the
4323
+ * Max No Matches value is exceeded.
4324
+ */
4325
+ readonly outputMaxNoMatches: ArchActionOutput;
4224
4326
  }
4225
4327
 
4226
4328
  /**
@@ -4393,10 +4495,23 @@ export class ArchActionAskForSlot extends ArchBaseActionAskNoInputNoMatch {
4393
4495
  * Max No Inputs value is exceeded.
4394
4496
  */
4395
4497
  readonly outputMaxNoInputs: ArchActionOutput;
4498
+ /**
4499
+ * The Max No Matches output for this action which will be taken at runtime if the
4500
+ * Max No Matches value is exceeded.
4501
+ */
4502
+ readonly outputMaxNoMatches: ArchActionOutput;
4396
4503
  /**
4397
4504
  * The continuation prompt will be used when an AI LLM Slot is selected with manually managed prompting.
4398
4505
  */
4399
4506
  readonly continuationPrompt: ArchValueCommunication;
4507
+ /**
4508
+ * Continuation reprompts supplies wording the bot will use for an AI LLM Slot that is configured with manually managed prompting.
4509
+ */
4510
+ readonly continuationReprompts: ArchValueCommunicationCollection;
4511
+ /**
4512
+ * If this property is set to true, the bot will use communication values in the {@link continuationReprompts} Communication collection for continuation prompting.
4513
+ */
4514
+ readonly customizeContinuation: ArchValueBoolean;
4400
4515
  /**
4401
4516
  * The question text for the action.
4402
4517
  */
@@ -6250,10 +6365,6 @@ export class ArchActionCallDialogflowBot extends ArchBaseActionDialogflow {
6250
6365
  * For example -> "Flow.MyStringVar"
6251
6366
  */
6252
6367
  addLiveAgentHandoffMetadataNameValuePair(nameLiteral?: string, outputVariable?: string | ArchBaseVariable): ArchBaseNameValuePair;
6253
- /**
6254
- * Returns the Live Agent Handoff Metadata output data configured on the action.
6255
- */
6256
- readonly liveAgentHandoffMetadata: ArchBaseNameValuePairs;
6257
6368
  /**
6258
6369
  * Returns the integration name for the currently selected Dialogflow agent.
6259
6370
  */
@@ -6627,6 +6738,10 @@ export class ArchActionCallDialogflowCxBot extends ArchBaseActionDialogflow {
6627
6738
  * Returns true indicating that this is an ArchActionCallDialogflowCxBot instance.
6628
6739
  */
6629
6740
  readonly isArchActionCallDialogflowCxBot: boolean;
6741
+ /**
6742
+ * Returns the Live Agent Handoff Metadata output data configured on the action.
6743
+ */
6744
+ readonly liveAgentHandoffMetadata: ArchBaseNameValuePairs;
6630
6745
  /**
6631
6746
  * The success output for this action
6632
6747
  */
@@ -6704,6 +6819,10 @@ export class ArchActionCallGuide extends ArchBaseActionWithOutputsSuccessFailure
6704
6819
  * Outputs for the call Guide action
6705
6820
  */
6706
6821
  readonly guideOutputs: ArchNamedValueList;
6822
+ /**
6823
+ * The voice processing prompt communication for the Call Guide action.
6824
+ */
6825
+ readonly voiceProcessingPrompt: ArchValueCommunication;
6707
6826
  /**
6708
6827
  * This sets the guide that will be used by the guide identifier.
6709
6828
  * @param guideId - the identifier of the guide.
@@ -8386,7 +8505,7 @@ export class ArchActionDecryptData extends ArchBaseActionWithOutputsSuccessFailu
8386
8505
  * The contents of this named value list come from the Failure Outputs schema. It will contain two values: errorType and errorMessage.
8387
8506
  * These values will be returned by the server if the action takes the Failure path.
8388
8507
  */
8389
- readonly decryptDataFailureOutputs: ArchNamedValueList;
8508
+ readonly decryptDataOutputsFailure: ArchNamedValueList;
8390
8509
  /**
8391
8510
  * The success output for this action
8392
8511
  */
@@ -8746,6 +8865,11 @@ export class ArchActionDigitalMenu extends ArchBaseActionWithOutputs {
8746
8865
  * Max No Inputs value is exceeded.
8747
8866
  */
8748
8867
  readonly outputMaxNoInputs: ArchActionOutput;
8868
+ /**
8869
+ * The Max No Matches output for this action which will be taken at runtime if the
8870
+ * Max No Matches value is exceeded.
8871
+ */
8872
+ readonly outputMaxNoMatches: ArchActionOutput;
8749
8873
  /**
8750
8874
  * The variable that holds the value of the menu choice chosen by the participant.
8751
8875
  * If no choice is selected by the participant, no updates are
@@ -8850,7 +8974,7 @@ export class ArchActionEncryptData extends ArchBaseActionWithOutputsSuccessFailu
8850
8974
  * The contents of this named value list come from the Failure Outputs schema. It will contain two values: errorType and errorMessage.
8851
8975
  * These values will be returned by the server if the action takes the Failure path.
8852
8976
  */
8853
- readonly encryptDataFailureOutputs: ArchNamedValueList;
8977
+ readonly encryptDataOutputsFailure: ArchNamedValueList;
8854
8978
  /**
8855
8979
  * The success output for this action
8856
8980
  */
@@ -9714,7 +9838,8 @@ export class ArchActionFindUsersById extends ArchBaseActionFindSystemObjectsById
9714
9838
  readonly findResult: ArchValueUserCollection;
9715
9839
  }
9716
9840
 
9717
- export class ArchActionFindUtilizationLabel {
9841
+ export class ArchActionFindUtilizationLabel extends ArchBaseActionFindSystemObjectByName {
9842
+ // constructor(coreFindUtilizationLabelActionViewModel: FindUtilizationLabelActionViewModel);
9718
9843
  /**
9719
9844
  * Returns the display type name string 'ArchActionFindUtilizationLabel'.
9720
9845
  */
@@ -9727,6 +9852,266 @@ export class ArchActionFindUtilizationLabel {
9727
9852
  * The value that will hold the returned utilization label if found.
9728
9853
  */
9729
9854
  readonly findResult: ArchValueUtilizationLabel;
9855
+ /**
9856
+ * The name of the object to look up. Inheriting Find action instances will provide the context
9857
+ * for the name string. For example, in the {@link ArchActionFindUserPrompt} action this would be
9858
+ * the name of the user prompt that you wish to look up at runtime.
9859
+ */
9860
+ readonly findName: ArchValueString;
9861
+ /**
9862
+ * The found output for this action
9863
+ */
9864
+ readonly outputFound: ArchActionOutput;
9865
+ /**
9866
+ * The not found output for this action
9867
+ */
9868
+ readonly outputNotFound: ArchActionOutput;
9869
+ /**
9870
+ * Gets an output by its identifier. If it cannot be found, this method will throw.
9871
+ * Normally you won't need to use this method and will use the helper methods available on inheriting classes
9872
+ * when accessing pre-defined outputs like success, failure, timeout, etc. etc. Attempting to
9873
+ * get an output by id on a menu choice's action such as the {@link ArchMenuTransferToAcd#actionTransferToAcd}
9874
+ * action on an {@link ArchMenuTransferToAcd} menu will return nothing.
9875
+ * @param output - identifies output you want to obtain. If output is an ArchBranch instance,
9876
+ * the {@link ArchBranch#outputId} value will be used. Otherwise valid string
9877
+ * identifier values can be found in {@link ArchEnums#OUTPUT_IDS} or can be a guid.
9878
+ * Remember that requesting the 'success' output on an action with a
9879
+ * [fake success output]{@link ArchBaseActionWithOutputsFakeSuccessFailure#hasFakeSuccessOutput} will return nothing.
9880
+ */
9881
+ getOutputById(output: string | ArchBranch): ArchActionOutput;
9882
+ /**
9883
+ * Gets an output by its identifier. If it cannot be found, this method will throw.
9884
+ * Normally you won't need to use this method and will use the helper methods available on inheriting classes
9885
+ * when accessing pre-defined outputs like success, failure, timeout, etc. etc. Attempting to
9886
+ * get an output by id on a menu choice's action such as the {@link ArchMenuTransferToAcd#actionTransferToAcd}
9887
+ * action on an {@link ArchMenuTransferToAcd} menu will return nothing.
9888
+ * @param output - identifies output you want to obtain by name. If output is an ArchBranch instance,
9889
+ * the {@link ArchBranch#name} value will be used.
9890
+ * Remember that requesting the 'Success' output on an action with a
9891
+ * [fake success output]{@link ArchBaseActionWithOutputsFakeSuccessFailure#hasFakeSuccessOutput} will return nothing.
9892
+ * For non-dynamic outputs, the name should be specified in English.
9893
+ * @param [wantDynamicOutput = false] - because it is possible for some actions to have both a non-dynamic output
9894
+ * and a dynamic output with the same name, this boolean will let you specify
9895
+ * which output you want. An example of this would be the built in Failure
9896
+ * output on a call bot action but that bot also has an intent named Failure
9897
+ * so the action has two outputs with the same name of 'Failure'. Only one
9898
+ * of those would be a dynamic output and that's the output for the Failure
9899
+ * intent, not the built-in Failure action output.
9900
+ */
9901
+ getOutputByName(output: string | ArchBranch, wantDynamicOutput?: boolean): ArchActionOutput;
9902
+ /**
9903
+ * Returns the output at the given index. It's important to note that on actions that have a fake success
9904
+ * output if you request the output at the index for the fake success, you will get nothing returned because
9905
+ * the fake success output isn't something that you should do anything with. Attempting to
9906
+ * access an output by index on a menu choice's action such as {@link ArchMenuTransferToAcd#actionTransferToAcd}
9907
+ * will return nothing.
9908
+ * @param index - the index of the output to retrieve. This value should be a non-negative integer.
9909
+ */
9910
+ getOutputByIndex(index: number): ArchActionOutput;
9911
+ /**
9912
+ * Returns the number of outputs on this action. For actions that have a fake success output like what you
9913
+ * see on the various transfer actions, that will be included in the count to be consistent with the Architect UI.
9914
+ * Attempting to get the output count on a menu choice's action such as such as the {@link ArchMenuTransferToAcd#actionTransferToAcd}
9915
+ * action on an {@link ArchMenuTransferToAcd} menu will return 0.
9916
+ */
9917
+ readonly outputCount: number;
9918
+ /**
9919
+ * Returns an array of action outputs for this action. Remember that it is possible to have an
9920
+ * undefined item in the returned ArchActionOutput array. This is true when the output is "fake".
9921
+ * Accessing the outputs on a menu choice's action such as {@link ArchMenuTransferToAcd#actionTransferToAcd}
9922
+ * will return an empty array.
9923
+ */
9924
+ readonly outputs: ArchActionOutput[];
9925
+ /**
9926
+ * A string suitable for logging that contains information about this action. This will contain the action
9927
+ * tracking id, name and scripting type name.
9928
+ */
9929
+ readonly logStr: string;
9930
+ /**
9931
+ * The Architect action type label
9932
+ */
9933
+ readonly displayTypeNameArchitect: string;
9934
+ /**
9935
+ * Returns whether or not this action is the action property for a [menu choice]{@link ArchBaseMenuChoice}.
9936
+ * For example, the {@link ArchMenuDisconnect#actionDisconnect} property on an {@link ArchMenuDisconnect}
9937
+ * instance.
9938
+ */
9939
+ readonly isMenuChoiceAction: boolean;
9940
+ /**
9941
+ * Returns whether or not this action is reachable at runtime.
9942
+ */
9943
+ readonly isReachable: boolean;
9944
+ /**
9945
+ * Returns whether or not this action is secure which means either the action by its very nature
9946
+ * is secure or it consumes secure data.
9947
+ */
9948
+ readonly isSecure: boolean;
9949
+ /**
9950
+ * Returns whether or not this action is unreachable at runtime.
9951
+ */
9952
+ readonly isUnreachable: boolean;
9953
+ /**
9954
+ * The name of the action
9955
+ */
9956
+ name: string;
9957
+ /**
9958
+ * Returns the parent flow for this action.
9959
+ */
9960
+ readonly parentFlow: ArchBaseFlow;
9961
+ /**
9962
+ * Returns the parent menu choice if this action is the action for a [menu choice]{@link ArchBaseMenuChoice}.
9963
+ * Otherwise, nothing is returned.
9964
+ */
9965
+ readonly parentMenuChoice: ArchBaseMenuChoice;
9966
+ /**
9967
+ * Returns the parent task that contains this action if this action is in a [task]{@link ArchTask} or [looping task]{@link ArchTaskLoop}.
9968
+ * Otherwise, nothing is returned.
9969
+ */
9970
+ readonly parentTask: ArchTask | ArchTaskLoop;
9971
+ /**
9972
+ * Returns the parent state that contains this action if this action is in a [state]{@link ArchState}.
9973
+ * Otherwise, nothing is returned.
9974
+ */
9975
+ readonly parentState: ArchState;
9976
+ /**
9977
+ * The integer tracking identifier for this action. This is the numeric identifier is displayed in the Architect user interface.
9978
+ */
9979
+ readonly trackingId: number;
9980
+ /**
9981
+ * The identifier string for this object.
9982
+ */
9983
+ readonly id: string;
9984
+ /**
9985
+ * Returns whether or not the id property may be blank or undefined for this object. For example, the returned settings from {@link ArchMenu#settingsMenu}
9986
+ * will have a blank identifier along with the settings returned from {@link ArchMenu#settingsSpeechRec}. Note that this is
9987
+ * an extremely rare case.
9988
+ */
9989
+ readonly idMayBeBlank: string;
9990
+ /**
9991
+ * Returns true indicating that this is an ArchBaseCoreObject instance.
9992
+ */
9993
+ readonly isArchBaseCoreObject: boolean;
9994
+ /**
9995
+ * This method iterates over this object and ArchBaseCoreObject instances
9996
+ * within it. For each object it will call the {@link ArchBaseObject#isFilterMatch} method
9997
+ * with a filter and call the supplied callback function if isMatch returns true.
9998
+ * The callback will be passed an {@link ArchTraverseInfo} with details
9999
+ * about the match such as the match object itself along with current contextual
10000
+ * information such as the object hierarchy for the match object relative to
10001
+ * the object on which this traverse call is being made.
10002
+ *
10003
+ * The traverse [filter]{@link ArchFilterObject} is one which you can create
10004
+ * by calling {@link ArchFactoryFilters#createFilterObject} and then add desired clauses
10005
+ * or clause containers to it. If not specified, this function will use a
10006
+ * [default filter]{@link ArchFactoryFilters#createFilterTraverseDefault}.
10007
+ *
10008
+ * Here is an example that does a simple flow traversal using the default
10009
+ * filter and logs information about objects in the callback from the
10010
+ * traverse object that's passed back:
10011
+ *
10012
+ * ```
10013
+ * archInboundCallFlow.traverse(function(traverseInfo) {
10014
+ * archLogging.logNote(' Object : ' + traverseInfo.matchObject.logStr);
10015
+ * archLogging.logNote(' Hierarchy: ' + traverseInfo.context.hierarchyStr);
10016
+ * });
10017
+ * ```
10018
+ * This might be enough for most uses and you can check various aspects
10019
+ * about the object in the callback such as "is this an Architect action?" by
10020
+ * seeing if traverseInfo.matchObject.isArchBaseAction is true. You can specify
10021
+ * a filter for the traversal code to use as well and only have it call your
10022
+ * callback when the object's {@link ArchBaseCoreObject#isFilterMatch} method returns true for
10023
+ * the filter. Here's an example that creates a filter for callbacks on
10024
+ * [any type of transfer action]{@link ArchBaseActionTransfer}, any
10025
+ * [decision action]{@link ArchActionDecision} or objects whose name
10026
+ * property case insensitively matches the word 'foo'. While this could all be done
10027
+ * with one property callback clause the example will use multiple clauses for
10028
+ * the sake of simplicity:
10029
+ * ```
10030
+ * const myTraverseFilter = filterFactory.createFilterObject(archEnums.FILTER_CONTAINER_OPERATORS.or);
10031
+ * myTraverseFilter.addClausePropertyValueEquals('isArchBaseActionTransfer', true);
10032
+ * myTraverseFilter.addClausePropertyValueEquals('isArchActionDecision', true);
10033
+ * myTraverseFilter.addClausePropertyCallback('name', function(propValue, archContainingObject, propName) {
10034
+ * // We fully spelled out the function signature above but archContainingObject and propName are
10035
+ * // not needed in this case. The archContainingObject is the object that contains the
10036
+ * // property and propName is the property name itself. We pass in propName because the same
10037
+ * // function could be used for multiple property callback clauses.
10038
+ * // Remember to return a boolean true, false or undefined from ths callback. :)
10039
+ * return propValue && propValue.toLowerCase() === 'foo';
10040
+ * });
10041
+ * archTask.traverse(function(traverseContext) {
10042
+ * // You will only be called back here for ArchBaseCoreObject instances that
10043
+ * // have the isArchBaseActionTransfer or isArchActionDecision property values equal to true.
10044
+ * }, myTraverseFilter);
10045
+ * ```
10046
+ * If you supply a filter with no clauses, this tells the traverse method to
10047
+ * call the supplied callback function for every {@link ArchBaseCoreObject} it traverses.
10048
+ *
10049
+ * If you want traversal itself to stop after a callback, simply return boolean
10050
+ * false from the callback function you supply to the traverse call.
10051
+ *
10052
+ * The traverse method does not process deprecated property names such as [orgId]{@link ArchSession#orgId},
10053
+ * [orgName]{@link ArchSession#orgName} or [languageSettings]{@link ArchBaseFlow#languageSettings}. Additionally
10054
+ * it does not traverse in to properties that would "jump out" of the current traversal. An example of this
10055
+ * would be if the code was traversing an {@link ArchActionJumpToMenu} action that it would not start traversing
10056
+ * in to the menu that it jumps to. Another example would be a {@link ArchActionChangeState} action where
10057
+ * it would not traverse in to the target state of the action. This also means traversal does not traverse
10058
+ * in to the {@link ArchBaseValue#flowLevelDefault} property.
10059
+ *
10060
+ * And lastly, as Scripting evolves over time with new versions, you can expect to get callbacks for new object
10061
+ * types such as new actions or new properties on objects. As such, it's important not to assume any particular
10062
+ * order in callbacks to keep code most compatible with traversal callbacks. Or if you use inequality checks in filter
10063
+ * clauses remember that new "stuff" may satisfy an inequality check which may or may not be anticipated in your logic.
10064
+ *
10065
+ * Note: This traverse method is a helper method and is very handy for iterating over Architect Scripting
10066
+ * objects and their properties in a generic fashion with filtering capabilities. Obviously you can write
10067
+ * your own custom traversal code if this implementation doesn't cut it for some reason. :)
10068
+ *
10069
+ * This function returns the number of times it called the callback function.
10070
+ * @param callbackFunction - the callback function to call for objects that match the traverse filter.
10071
+ * @param [traverseFilter = {@link ArchFactoryFilters#createFilterTraverseDefault}] - the filter to use when performing the traversal to determine which
10072
+ * {@link ArchBaseCoreObject} instances you wish to be called back for. If no
10073
+ * filter is specified, this function will call {@link ArchFactoryFilters#createFilterTraverseDefault} and
10074
+ * use that traversal default filter. The wantArchBaseValues parameter on that call is set to true.
10075
+ */
10076
+ traverse(callbackFunction: callbackTraverseInfo, traverseFilter?: ArchFilterObject): number;
10077
+ /**
10078
+ * This is a string suitable for logging information about this object where it's just the object's type. This is normally used
10079
+ * when logging errors that occur in constructor parameter checking because the scripting object isn't set up and the normal
10080
+ * logging str contents wouldn't be set up.
10081
+ */
10082
+ readonly logStrTypeOnly: string;
10083
+ /**
10084
+ * Logs an error to the logging service with a log header from this object's [logStr]{@link ArchBaseObject#logStr} property value when {@link ArchLogging#logErrors} is true.
10085
+ * @param errorStr - the error string to log.
10086
+ */
10087
+ logError(errorStr: string): void;
10088
+ /**
10089
+ * Logs an error to the logging service with a log header from this object's [logStr]{@link ArchBaseObject#logStr} property value when {@link ArchLogging#logErrors} is true and then throws
10090
+ * the string in the errorStr parameter.
10091
+ * @param errorStr - the error string to log. This should be a non-blank string.
10092
+ */
10093
+ logErrorAndThrow(errorStr: string): void;
10094
+ /**
10095
+ * Logs a note to the logging service with a log header from this object's [logStr]{@link ArchBaseObject#logStr} property value when {@link ArchLogging#logNotes} is true.
10096
+ * @param noteStr - the note string to log. This should be a non-blank string.
10097
+ */
10098
+ logNote(noteStr: string): void;
10099
+ /**
10100
+ * Logs a note to the logging service with a log header from this object's [logStr]{@link ArchBaseObject#logStr} property value when {@link ArchLogging#logNotesVerbose} is true.
10101
+ * @param noteStr - the note string to log. This should be a non-blank string.
10102
+ */
10103
+ logNoteVerbose(noteStr: string): void;
10104
+ /**
10105
+ * Logs a warning to the logging service with a log header from this object's [logStr]{@link ArchBaseObject#logStr} property value when {@link ArchLogging#logWarnings} is true.
10106
+ * @param warningStr - the warning string to log. This should be a non-blank string.
10107
+ */
10108
+ logWarning(warningStr: string): void;
10109
+ /**
10110
+ * Returns whether or not this Architect Scripting object is a match
10111
+ * for the supplied ArchFilterObject instance.
10112
+ * @param archFilterObject - the object filter to use to determine if it's a match.
10113
+ */
10114
+ isFilterMatch(archFilterObject: ArchFilterObject): boolean;
9730
10115
  }
9731
10116
 
9732
10117
  /**
@@ -12754,7 +13139,7 @@ export class ArchActionSetUUIData extends ArchBaseAction {
12754
13139
  */
12755
13140
  readonly uuiData: ArchValueString;
12756
13141
  /**
12757
- * Specifies the when the UUI data should be set. If the mode is set to transfer, this specifies the outbound UUI data to
13142
+ * Specifies when the UUI data should be set. If the mode is set to transfer, this specifies the outbound UUI data to
12758
13143
  * set if the call is transferred. If the mode is set to disconnect, this specifies the outbound UUI data to set if the call
12759
13144
  * disconnects.
12760
13145
  */
@@ -19023,6 +19408,10 @@ export class ArchDefinitionFlow extends ArchBaseDefinition {
19023
19408
  * Returns whether or not this flow type supports default languages.
19024
19409
  */
19025
19410
  readonly supportsDefaultLanguage: boolean;
19411
+ /**
19412
+ * Returns whether or not this flow type supports intent descriptions.
19413
+ */
19414
+ readonly supportsIntentDescriptions: boolean;
19026
19415
  /**
19027
19416
  * Returns whether or not this flow type supports secure variables.
19028
19417
  */
@@ -27792,7 +28181,7 @@ export class ArchMenuTransferToAcd extends ArchBaseMenuChoice {
27792
28181
  /**
27793
28182
  * Returns true indicating that this is an ArchMenuTransferToAcd instance.
27794
28183
  */
27795
- static isArchMenuTransferToAcd: boolean;
28184
+ readonly isArchMenuTransferToAcd: boolean;
27796
28185
  }
27797
28186
 
27798
28187
  /**
@@ -27814,7 +28203,7 @@ export class ArchMenuTransferToFlow extends ArchBaseMenuChoice {
27814
28203
  /**
27815
28204
  * Returns true indicating that this is an ArchMenuTransferToFlow instance.
27816
28205
  */
27817
- static isArchMenuTransferToFlow: boolean;
28206
+ readonly isArchMenuTransferToFlow: boolean;
27818
28207
  }
27819
28208
 
27820
28209
  /**
@@ -27856,7 +28245,7 @@ export class ArchMenuTransferToGroup extends ArchBaseMenuChoice {
27856
28245
  /**
27857
28246
  * Returns true indicating that this is an ArchMenuTransferToGroup instance.
27858
28247
  */
27859
- static isArchMenuTransferToGroup: boolean;
28248
+ readonly isArchMenuTransferToGroup: boolean;
27860
28249
  }
27861
28250
 
27862
28251
  /**
@@ -27878,7 +28267,7 @@ export class ArchMenuTransferToNumber extends ArchBaseMenuChoice {
27878
28267
  /**
27879
28268
  * Returns true indicating that this is an ArchMenuTransferToNumber instance.
27880
28269
  */
27881
- static isArchMenuTransferToNumber: boolean;
28270
+ readonly isArchMenuTransferToNumber: boolean;
27882
28271
  }
27883
28272
 
27884
28273
  /**
@@ -27900,7 +28289,7 @@ export class ArchMenuTransferToUser extends ArchBaseMenuChoice {
27900
28289
  /**
27901
28290
  * Returns true indicating that this is an ArchMenuTransferToUser instance.
27902
28291
  */
27903
- static isArchMenuTransferToUser: boolean;
28292
+ readonly isArchMenuTransferToUser: boolean;
27904
28293
  }
27905
28294
 
27906
28295
  /**
@@ -28628,6 +29017,12 @@ export class ArchSettingsBotFlow extends ArchBaseCoreObjectWithId {
28628
29017
  * for Virtual Agent functionality to be used at flow runtime.
28629
29018
  */
28630
29019
  virtualAgentEnabled: boolean;
29020
+ /**
29021
+ * Returns true if Agentic Virtual Agent functionality is enabled for this flow, otherwise false.
29022
+ * This property is automatically set to true when the flow contains Call Guide actions and cannot be set back to false.
29023
+ * To downgrade from an agentic flow back to non-agentic (va flow), you must revert to a previous flow version.
29024
+ */
29025
+ readonly agenticVirtualAgentEnabled: boolean;
28631
29026
  }
28632
29027
 
28633
29028
  /**
@@ -28956,6 +29351,12 @@ export class ArchSettingsEventErrorFlowBot extends ArchSettingsEventErrorFlow {
28956
29351
  * The configured reusable task that the flow will jump to when the agent escalation handling is set to 'Jump to Reusable Task'.
28957
29352
  */
28958
29353
  readonly agentEscalationTargetTask: ArchTask;
29354
+ /**
29355
+ * The subsequent recognition failures configured for the flow. The string values in {@link ArchEnums#SUBSEQUENT_RECOGNITION_FAILURES_MODES}
29356
+ * When set to `executeTask`, the bot will continue to execute the recognition failure task for all subsequent recognition failure events.
29357
+ * When set to `exit`, the bot will exit the flow after the first execution of the recognition failure task.
29358
+ */
29359
+ readonly subsequentRecognitionFailuresHandlingType: ArchValueString;
28959
29360
  }
28960
29361
 
28961
29362
  /**
@@ -29391,6 +29792,25 @@ export class ArchSettingsNluKnowledge extends ArchBaseCoreObject {
29391
29792
  * Helper function to set the knowledge path mode to task.
29392
29793
  */
29393
29794
  setKnowledgePathModeTask(): void;
29795
+ /**
29796
+ * The knowledge answer content type determines what behavior will occur when a knowledge article is matched in a Digital Bot Flow.
29797
+ * There are three options; standard, highlight, and generative. Standard will return the entire matched answer. Highlight will
29798
+ * highlight the answer in the matched answer. Generative will create an AI-generated response to the question from the answer.
29799
+ * The string values in {@link ArchEnums#KNOWLEDGE_ANSWER_CONTENT_TYPES}
29800
+ */
29801
+ readonly knowledgeAnswerContentType: ArchValueString;
29802
+ /**
29803
+ * Helper function to set the knowledge answer content type to standard.
29804
+ */
29805
+ setKnowledgeAnswerContentTypeStandard(): void;
29806
+ /**
29807
+ * Helper function to set the knowledge answer content type to highlight.
29808
+ */
29809
+ setKnowledgeAnswerContentTypeHighlight(): void;
29810
+ /**
29811
+ * Helper function to set the knowledge answer content type to generative.
29812
+ */
29813
+ setKnowledgeAnswerContentTypeGenerative(): void;
29394
29814
  /**
29395
29815
  * Controls how knowledge matches are handled at runtime. The custom setting allows you to choose a reusable task that will
29396
29816
  * be executed when a knowledge match occurs. The string values in {@link ArchEnums#KNOWLEDGE_SETTINGS_MODES} list valid values.
@@ -30590,6 +31010,12 @@ export class ArchSettingsVoiceSurveyFlow extends ArchSettingsBotFlow {
30590
31010
  * for Virtual Agent functionality to be used at flow runtime.
30591
31011
  */
30592
31012
  virtualAgentEnabled: boolean;
31013
+ /**
31014
+ * Returns true if Agentic Virtual Agent functionality is enabled for this flow, otherwise false.
31015
+ * This property is automatically set to true when the flow contains Call Guide actions and cannot be set back to false.
31016
+ * To downgrade from an agentic flow back to non-agentic (va flow), you must revert to a previous flow version.
31017
+ */
31018
+ readonly agenticVirtualAgentEnabled: boolean;
30593
31019
  /**
30594
31020
  * The identifier string for this object.
30595
31021
  */
@@ -32418,13 +32844,13 @@ export class ArchNamedValueList extends ArchBaseValueContainer {
32418
32844
  * For example, to retrieve the first named value, pass in 0 assuming there is at least one named
32419
32845
  * value in this instance.
32420
32846
  */
32421
- getNamedValueByIndex(index: number): ArchNamedValue;
32847
+ getNamedValueByIndex<T extends ArchNamedValue | ArchNamedValueList = ArchNamedValue>(index: number): T;
32422
32848
  /**
32423
32849
  * Gets the named value by its name. This is a case sensitive lookup. If the named value cannot be found,
32424
32850
  * nothing is returned.
32425
32851
  * @param valueName - the name of the value.
32426
32852
  */
32427
- getNamedValueByName(valueName: string): ArchNamedValue;
32853
+ getNamedValueByName<T extends ArchNamedValue | ArchNamedValueList = ArchNamedValue>(valueName: string): T;
32428
32854
  /**
32429
32855
  * Returns true indicating that this is an ArchNamedValueList instance.
32430
32856
  */