diff --git a/Composer/cypress/integration/NotificationPage.spec.ts b/Composer/cypress/integration/NotificationPage.spec.ts index ebaa16f6c2..06127e516d 100644 --- a/Composer/cypress/integration/NotificationPage.spec.ts +++ b/Composer/cypress/integration/NotificationPage.spec.ts @@ -49,7 +49,7 @@ context('Notification Page', () => { cy.findAllByText('__TestToDoBotWithLuisSample').should('exist'); }); - it('can show dialog expression error ', () => { + it.skip('can show dialog expression error ', () => { cy.visitPage('Design Flow'); cy.findByTestId('ProjectTree').within(() => { @@ -67,8 +67,7 @@ context('Notification Page', () => { .should('contain.text', 'expression'); cy.get('#root\\.condition') .click() - .type('()') - .wait(1000); + .type('()'); }); cy.findByTestId('LeftNav-CommandBarButtonNotifications').click(); diff --git a/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx b/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx index 9312952bc2..4cfbfb9e8d 100644 --- a/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx +++ b/Composer/packages/client/src/components/ProjectTree/TriggerCreationModal.tsx @@ -17,6 +17,7 @@ import { PlaceHolderSectionName } from '@bfc/indexers/lib/utils/luUtil'; import get from 'lodash/get'; import { DialogInfo } from '@bfc/shared'; import { LuEditor, inlineModePlaceholder } from '@bfc/code-editor'; +import { ComboBox, IComboBoxOption, IComboBox } from 'office-ui-fabric-react/lib/ComboBox'; import { generateNewDialog, @@ -26,10 +27,8 @@ import { eventTypeKey, intentTypeKey, activityTypeKey, - messageTypeKey, getEventTypes, getActivityTypes, - getMessageTypes, regexRecognizerKey, } from '../../utils/dialogUtil'; import { addIntent } from '../../utils/luUtil'; @@ -44,18 +43,14 @@ const validateForm = ( regExIntents: [{ intent: string; pattern: string }] ): TriggerFormDataErrors => { const errors: TriggerFormDataErrors = {}; - const { $kind, specifiedType, intent, triggerPhrases, regexEx } = data; + const { $kind, event: eventName, intent, triggerPhrases, regexEx } = data; - if ($kind === eventTypeKey && !specifiedType) { - errors.specifiedType = formatMessage('Please select a event type'); + if ($kind === eventTypeKey && !eventName) { + errors.event = formatMessage('Please select a event type'); } - if ($kind === activityTypeKey && !specifiedType) { - errors.specifiedType = formatMessage('Please select an activity type'); - } - - if ($kind === messageTypeKey && !specifiedType) { - errors.specifiedType = formatMessage('Please select a message type'); + if ($kind === activityTypeKey && !eventName) { + errors.event = formatMessage('Please select an activity type'); } if (!$kind) { @@ -108,13 +103,14 @@ export const TriggerCreationModal: React.FC = props = const isNone = !get(dialogFile, 'content.recognizer'); const initialFormData: TriggerFormData = { errors: {}, - $kind: isNone ? '' : intentTypeKey, - specifiedType: '', + $kind: '', + event: '', intent: '', triggerPhrases: '', regexEx: '', }; const [formData, setFormData] = useState(initialFormData); + const [selectedType, setSelectedType] = useState(isNone ? '' : intentTypeKey); const onClickSubmitButton = e => { e.preventDefault(); @@ -144,12 +140,37 @@ export const TriggerCreationModal: React.FC = props = onDismiss(); }; + const eventTypes: IComboBoxOption[] = getEventTypes(); + const activityTypes: IDropdownOption[] = getActivityTypes(); + let triggerTypeOptions: IDropdownOption[] = getTriggerTypes(); + const onSelectTriggerType = (e, option) => { + setSelectedType(option.key || ''); setFormData({ ...initialFormData, $kind: option.key }); }; - const onSelectSpecifiedTypeType = (e, option) => { - setFormData({ ...formData, specifiedType: option.key }); + const handleEventChange = ( + event: React.FormEvent, + option?: IComboBoxOption, + index?: number, + value?: string + ) => { + if (value) { + // if the custom event is an actual type, use that instead + if (eventTypes.find(o => o.key === value)) { + setFormData({ ...formData, $kind: value, event: '' }); + } else { + setFormData({ ...formData, $kind: eventTypeKey, event: value }); + } + } else if (option) { + setFormData({ ...formData, $kind: option.key as string, event: '' }); + } + }; + + const onSelectSpecifiedType = (_e: any, option?: IDropdownOption) => { + if (option) { + setFormData({ ...formData, $kind: option.key as string }); + } }; const onNameChange = (e, name) => { @@ -168,19 +189,14 @@ export const TriggerCreationModal: React.FC = props = setFormData({ ...formData, triggerPhrases: body, errors }); }; - const eventTypes: IDropdownOption[] = getEventTypes(); - const activityTypes: IDropdownOption[] = getActivityTypes(); - const messageTypes: IDropdownOption[] = getMessageTypes(); - let triggerTypeOptions: IDropdownOption[] = getTriggerTypes(); if (isNone) { triggerTypeOptions = triggerTypeOptions.filter(t => t.key !== intentTypeKey); } - const showIntentName = formData.$kind === intentTypeKey; - const showRegExDropDown = formData.$kind === intentTypeKey && isRegEx; - const showTriggerPhrase = formData.$kind === intentTypeKey && !isRegEx; - const showEventDropDown = formData.$kind === eventTypeKey; - const showActivityDropDown = formData.$kind === activityTypeKey; - const showMessageDropDown = formData.$kind === messageTypeKey; + const showIntentName = selectedType === intentTypeKey; + const showRegExDropDown = selectedType === intentTypeKey && isRegEx; + const showTriggerPhrase = selectedType === intentTypeKey && !isRegEx; + const showEventDropDown = selectedType === eventTypeKey; + const showActivityDropDown = selectedType === activityTypeKey; return ( = props = onChange={onSelectTriggerType} errorMessage={formData.errors.$kind} data-testid={'triggerTypeDropDown'} - defaultSelectedKey={formData.$kind} + defaultSelectedKey={selectedType} /> {showEventDropDown && ( - e.key === formData.$kind)?.text} /> )} {showActivityDropDown && ( @@ -224,22 +244,11 @@ export const TriggerCreationModal: React.FC = props = label={formatMessage('Which activity type')} options={activityTypes} styles={dropdownStyles} - onChange={onSelectSpecifiedTypeType} - errorMessage={formData.errors.specifiedType} + onChange={onSelectSpecifiedType} + errorMessage={formData.errors.event} data-testid={'activityTypeDropDown'} /> )} - {showMessageDropDown && ( - - )} {showIntentName && ( { const { api: shellApi, data: shellData } = useShell('PropertyEditor'); const { currentDialog, data: formData = {}, focusPath, focusedSteps, schemas } = shellData; @@ -48,7 +58,7 @@ const PropertyEditor: React.FC = () => { const $schema = useMemo(() => { if (schemas?.sdk?.content && localData) { - return resolveBaseSchema(schemas.sdk.content, localData); + return resolveBaseSchema(schemas.sdk.content, localData.$kind); } }, [schemas?.sdk?.content, localData.$kind]); diff --git a/Composer/packages/client/src/utils/dialogUtil.ts b/Composer/packages/client/src/utils/dialogUtil.ts index a56597f9bf..ffb4110ef2 100644 --- a/Composer/packages/client/src/utils/dialogUtil.ts +++ b/Composer/packages/client/src/utils/dialogUtil.ts @@ -7,6 +7,8 @@ import set from 'lodash/set'; import cloneDeep from 'lodash/cloneDeep'; import { Expression } from 'adaptive-expressions'; import { IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; +import { IComboBoxOption } from 'office-ui-fabric-react/lib/ComboBox'; +import formatMessage from 'format-message'; import { getFocusPath } from './navigation'; import { upperCaseName } from './fileUtil'; @@ -18,7 +20,7 @@ interface DialogsMap { export interface TriggerFormData { errors: TriggerFormDataErrors; $kind: string; - specifiedType: string; + event: string; intent: string; triggerPhrases: string; regexEx: string; @@ -27,7 +29,7 @@ export interface TriggerFormData { export interface TriggerFormDataErrors { $kind?: string; intent?: string; - specifiedType?: string; + event?: string; triggerPhrases?: string; regexEx?: string; } @@ -40,9 +42,7 @@ export function getDialog(dialogs: DialogInfo[], dialogId: string) { export const eventTypeKey: string = SDKKinds.OnDialogEvent; export const intentTypeKey: string = SDKKinds.OnIntent; export const activityTypeKey: string = SDKKinds.OnActivity; -export const messageTypeKey: string = SDKKinds.OnMessageEventActivity; export const regexRecognizerKey: string = SDKKinds.RegexRecognizer; - function insert(content, path: string, position: number | undefined, data: any) { const current = get(content, path, []); const insertAt = typeof position === 'undefined' ? current.length : position; @@ -52,13 +52,19 @@ function insert(content, path: string, position: number | undefined, data: any) } function generateNewTrigger(data: TriggerFormData, factory: DialogFactory) { - const optionalAttributes: { intent?: string; event?: string } = {}; - if (data.specifiedType) { - data.$kind = data.specifiedType; + const optionalAttributes: { intent?: string; event?: string; $designer: { [key: string]: string } } = { + $designer: {}, + }; + + if (data.event) { + optionalAttributes.event = data.event; + optionalAttributes.$designer.name = formatMessage('Custom Event'); } + if (data.intent) { optionalAttributes.intent = data.intent; } + const newStep = factory.create(data.$kind as SDKKinds, optionalAttributes); return newStep; } @@ -163,8 +169,8 @@ export function getTriggerTypes(): IDropdownOption[] { return triggerTypes; } -export function getEventTypes(): IDropdownOption[] { - const eventTypes: IDropdownOption[] = [ +export function getEventTypes(): IComboBoxOption[] { + const eventTypes: IComboBoxOption[] = [ ...dialogGroups[DialogGroup.DIALOG_EVENT_TYPES].types.map(t => { let name = t as string; const labelOverrides = ConceptLabels[t]; diff --git a/Composer/packages/extensions/adaptive-form/src/components/fields/ObjectArrayField.tsx b/Composer/packages/extensions/adaptive-form/src/components/fields/ObjectArrayField.tsx index 26b7d7c426..24358a4b14 100644 --- a/Composer/packages/extensions/adaptive-form/src/components/fields/ObjectArrayField.tsx +++ b/Composer/packages/extensions/adaptive-form/src/components/fields/ObjectArrayField.tsx @@ -13,7 +13,7 @@ import { FontSizes, NeutralColors, SharedColors } from '@uifabric/fluent-theme'; import formatMessage from 'format-message'; import map from 'lodash/map'; -import { getArrayItemProps, getOrderedProperties, useArrayItems } from '../../utils'; +import { getArrayItemProps, getOrderedProperties, useArrayItems, resolveRef } from '../../utils'; import { FieldLabel } from '../FieldLabel'; import { objectArrayField } from './styles'; @@ -92,9 +92,10 @@ const ObjectArrayField: React.FC> = props => { return ( allOrderProps.length > 2 || - !!Object.entries(properties).filter( - ([key, { $role }]: any) => allOrderProps.includes(key) && $role === 'expression' - ).length + Object.entries(properties).some(([key, propSchema]) => { + const resolved = resolveRef(propSchema as JSONSchema7, props.definitions); + return allOrderProps.includes(key) && resolved.$role === 'expression'; + }) ); }, [itemSchema, orderedProperties]); diff --git a/Composer/packages/extensions/adaptive-form/src/defaultUiSchema.ts b/Composer/packages/extensions/adaptive-form/src/defaultUiSchema.ts index 7e88da6533..de1c9ce3ca 100644 --- a/Composer/packages/extensions/adaptive-form/src/defaultUiSchema.ts +++ b/Composer/packages/extensions/adaptive-form/src/defaultUiSchema.ts @@ -4,7 +4,7 @@ import { UISchema } from '@bfc/extension'; import { SDKKinds } from '@bfc/shared'; import formatMessage from 'format-message'; -import { RecognizerField, IntentField } from './components/fields'; +import { IntentField, RecognizerField } from './components/fields'; const triggerUiSchema = { order: ['condition', '*'], @@ -23,7 +23,7 @@ const DefaultUISchema: UISchema = { label: () => formatMessage('Language Understanding'), description: () => formatMessage( - 'To understand what the user says, your dialog needs a "IRecognizer"; that includes example words and sentences that users may use.' + 'To understand what the user says, your dialog needs a "Recognizer"; that includes example words and sentences that users may use.' ), }, }, @@ -116,6 +116,10 @@ const DefaultUISchema: UISchema = { hidden: ['actions', 'elseActions'], helpLink: 'https://aka.ms/bfc-controlling-conversation-flow', }, + [SDKKinds.IRecognizer]: { + field: RecognizerField, + helpLink: 'https://aka.ms/BFC-Using-LU', + }, [SDKKinds.LogAction]: { label: () => formatMessage('Log to console'), helpLink: 'https://aka.ms/bfc-debugging-bots', @@ -153,11 +157,6 @@ const DefaultUISchema: UISchema = { helpLink: 'https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-conversations?view=azure-bot-service-4.0#conversation-lifetime', }, - [SDKKinds.OnCustomEvent]: { - ...triggerUiSchema, - label: () => formatMessage('Handle an Event'), - subtitle: () => formatMessage('Custom event'), - }, [SDKKinds.OnDialogEvent]: { ...triggerUiSchema, label: () => formatMessage('Dialog events'), @@ -238,10 +237,6 @@ const DefaultUISchema: UISchema = { label: () => formatMessage('QnAMakerDialog'), helpLink: 'https://aka.ms/bfc-using-QnA', }, - [SDKKinds.IRecognizer]: { - field: RecognizerField, - helpLink: 'https://aka.ms/BFC-Using-LU', - }, [SDKKinds.RegexRecognizer]: { hidden: ['entities'], }, diff --git a/Composer/packages/extensions/adaptive-form/src/utils/__tests__/mergePluginConfigs.test.ts b/Composer/packages/extensions/adaptive-form/src/utils/__tests__/mergePluginConfigs.test.ts index 5616c3f022..137752b7be 100644 --- a/Composer/packages/extensions/adaptive-form/src/utils/__tests__/mergePluginConfigs.test.ts +++ b/Composer/packages/extensions/adaptive-form/src/utils/__tests__/mergePluginConfigs.test.ts @@ -249,17 +249,6 @@ describe('mergePluginConfigs', () => { ], "subtitle": [Function], }, - "Microsoft.OnCustomEvent": Object { - "hidden": Array [ - "actions", - ], - "label": [Function], - "order": Array [ - "condition", - "*", - ], - "subtitle": [Function], - }, "Microsoft.OnDialogEvent": Object { "hidden": Array [ "actions", diff --git a/Composer/packages/extensions/adaptive-form/src/utils/__tests__/uiOptionsHelpers.test.ts b/Composer/packages/extensions/adaptive-form/src/utils/__tests__/uiOptionsHelpers.test.ts index eac00bef12..28fcc9ac48 100644 --- a/Composer/packages/extensions/adaptive-form/src/utils/__tests__/uiOptionsHelpers.test.ts +++ b/Composer/packages/extensions/adaptive-form/src/utils/__tests__/uiOptionsHelpers.test.ts @@ -45,7 +45,7 @@ describe('getUiLabel', () => { it('falls back to prop label, schema title, or name', () => { expect(getUiLabel(props)).toEqual('prop label'); - expect(getUiLabel({ ...props, label: undefined })).toEqual('Schema Title'); + expect(getUiLabel({ ...props, label: undefined })).toEqual('schema title'); expect(getUiLabel({ ...props, label: undefined, schema: { title: undefined } })).toEqual('Prop Name'); }); }); diff --git a/Composer/packages/extensions/adaptive-form/src/utils/index.ts b/Composer/packages/extensions/adaptive-form/src/utils/index.ts index 5bbc33ae84..653571e872 100644 --- a/Composer/packages/extensions/adaptive-form/src/utils/index.ts +++ b/Composer/packages/extensions/adaptive-form/src/utils/index.ts @@ -6,7 +6,6 @@ export * from './getOrderedProperties'; export * from './getUIOptions'; export * from './getValueType'; export * from './mergePluginConfigs'; -export * from './resolveBaseSchema'; export * from './resolveFieldWidget'; export * from './resolvePropSchema'; export * from './resolveRef'; diff --git a/Composer/packages/extensions/adaptive-form/src/utils/resolveBaseSchema.ts b/Composer/packages/extensions/adaptive-form/src/utils/resolveBaseSchema.ts deleted file mode 100644 index 4807047c10..0000000000 --- a/Composer/packages/extensions/adaptive-form/src/utils/resolveBaseSchema.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -import { JSONSchema7 } from 'json-schema'; -import { MicrosoftAdaptiveDialog } from '@bfc/shared'; - -import { resolveRef } from './resolveRef'; - -export function resolveBaseSchema(schema: JSONSchema7, data: MicrosoftAdaptiveDialog): JSONSchema7 | undefined { - const defSchema = schema.definitions?.[data.$kind]; - if (defSchema && typeof defSchema === 'object') { - return resolveRef(defSchema, schema.definitions); - } -} diff --git a/Composer/packages/extensions/adaptive-form/src/utils/uiOptionsHelpers.ts b/Composer/packages/extensions/adaptive-form/src/utils/uiOptionsHelpers.ts index 0b22d6b6f8..80ab0f0975 100644 --- a/Composer/packages/extensions/adaptive-form/src/utils/uiOptionsHelpers.ts +++ b/Composer/packages/extensions/adaptive-form/src/utils/uiOptionsHelpers.ts @@ -19,7 +19,7 @@ export function getUiLabel(props: FieldProps): string | false | undefined { return false; } - return label || startCase(schema?.title || name); + return label || schema?.title || startCase(name); } export function getUiDescription(props: FieldProps): string | undefined { diff --git a/Composer/packages/lib/shared/src/labelMap.ts b/Composer/packages/lib/shared/src/labelMap.ts index 6fdc54566f..63ea371a52 100644 --- a/Composer/packages/lib/shared/src/labelMap.ts +++ b/Composer/packages/lib/shared/src/labelMap.ts @@ -145,10 +145,6 @@ export const ConceptLabels: { [key in ConceptLabelKey]?: LabelOverride } = { description: 'Handle the events fired when a user begins a new conversation with the bot. Learn more', }, - [SDKKinds.OnCustomEvent]: { - title: formatMessage('Custom event'), - subtitle: formatMessage('Custom event'), - }, [SDKKinds.OnDialogEvent]: { title: formatMessage('Dialog events'), subtitle: formatMessage('Dialog events'), @@ -177,10 +173,6 @@ export const ConceptLabels: { [key in ConceptLabelKey]?: LabelOverride } = { title: formatMessage('Conversation invoked'), subtitle: formatMessage('Invoke activity'), }, - [SDKKinds.OnMessageEventActivity]: { - title: formatMessage('Message events'), - subtitle: formatMessage('Message activity'), - }, [SDKKinds.OnMessageActivity]: { title: formatMessage('Message received'), subtitle: formatMessage('Message recieved activity'), diff --git a/Composer/packages/lib/shared/src/types/schema.ts b/Composer/packages/lib/shared/src/types/schema.ts index df93d1da8b..dc353841bb 100644 --- a/Composer/packages/lib/shared/src/types/schema.ts +++ b/Composer/packages/lib/shared/src/types/schema.ts @@ -6,37 +6,33 @@ import { JSONSchema6 } from 'json-schema'; // All of the known SDK types. Update this list when we take a schema update. // To get this list copy the output of the following commands in a node repl from the project root: -// const schema = JSON.parse(fs.readFileSync('./runtime/dotnet/azurewebapp/Schemas/sdk.schema', 'utf-8')); -// const types = schema.oneOf.map(t => t.title); -// let uType = 'export enum SDKKinds {\n'; -// uType += types.map(t => ` ${t.replace('Microsoft.', '')} = '${t}',`).join('\n'); -// uType += '\n}'; -// console.log(uType); - /** * All SDK Types defined by the schema. * All references of the type should be accessed through this enum. - * */ - + */ export enum SDKKinds { ActivityTemplate = 'Microsoft.ActivityTemplate', AdaptiveDialog = 'Microsoft.AdaptiveDialog', AgeEntityRecognizer = 'Microsoft.AgeEntityRecognizer', + Ask = 'Microsoft.Ask', AttachmentInput = 'Microsoft.AttachmentInput', BeginDialog = 'Microsoft.BeginDialog', BreakLoop = 'Microsoft.BreakLoop', CancelAllDialogs = 'Microsoft.CancelAllDialogs', + CancelDialog = 'Microsoft.CancelDialog', ChoiceInput = 'Microsoft.ChoiceInput', ConditionalSelector = 'Microsoft.ConditionalSelector', ConfirmInput = 'Microsoft.ConfirmInput', ConfirmationEntityRecognizer = 'Microsoft.ConfirmationEntityRecognizer', ContinueLoop = 'Microsoft.ContinueLoop', + CrossTrainedRecognizerSet = 'Microsoft.CrossTrainedRecognizerSet', CurrencyEntityRecognizer = 'Microsoft.CurrencyEntityRecognizer', DateTimeEntityRecognizer = 'Microsoft.DateTimeEntityRecognizer', DateTimeInput = 'Microsoft.DateTimeInput', DebugBreak = 'Microsoft.DebugBreak', - DeleteProperty = 'Microsoft.DeleteProperty', + DeleteActivity = 'Microsoft.DeleteActivity', DeleteProperties = 'Microsoft.DeleteProperties', + DeleteProperty = 'Microsoft.DeleteProperty', DimensionEntityRecognizer = 'Microsoft.DimensionEntityRecognizer', EditActions = 'Microsoft.EditActions', EditArray = 'Microsoft.EditArray', @@ -47,11 +43,24 @@ export enum SDKKinds { FirstSelector = 'Microsoft.FirstSelector', Foreach = 'Microsoft.Foreach', ForeachPage = 'Microsoft.ForeachPage', + GetActivityMembers = 'Microsoft.GetActivityMembers', + GetConversationMembers = 'Microsoft.GetConversationMembers', + GotoAction = 'Microsoft.GotoAction', GuidEntityRecognizer = 'Microsoft.GuidEntityRecognizer', HashtagEntityRecognizer = 'Microsoft.HashtagEntityRecognizer', HttpRequest = 'Microsoft.HttpRequest', + IActivityTemplate = 'Microsoft.IActivityTemplate', + IDialog = 'Microsoft.IDialog', + IEntityRecognizer = 'Microsoft.IEntityRecognizer', + ILanguageGenerator = 'Microsoft.ILanguageGenerator', + IRecognizer = 'Microsoft.IRecognizer', + ITextTemplate = 'Microsoft.ITextTemplate', + ITrigger = 'Microsoft.ITrigger', + ITriggerSelector = 'Microsoft.ITriggerSelector', IfCondition = 'Microsoft.IfCondition', + InputDialog = 'Microsoft.InputDialog', IpEntityRecognizer = 'Microsoft.IpEntityRecognizer', + LanguagePolicy = 'Microsoft.LanguagePolicy', LogAction = 'Microsoft.LogAction', LuisRecognizer = 'Microsoft.LuisRecognizer', MentionEntityRecognizer = 'Microsoft.MentionEntityRecognizer', @@ -62,23 +71,27 @@ export enum SDKKinds { NumberRangeEntityRecognizer = 'Microsoft.NumberRangeEntityRecognizer', OAuthInput = 'Microsoft.OAuthInput', OnActivity = 'Microsoft.OnActivity', + OnAssignEntity = 'Microsoft.OnAssignEntity', OnBeginDialog = 'Microsoft.OnBeginDialog', OnCancelDialog = 'Microsoft.OnCancelDialog', + OnChooseEntity = 'Microsoft.OnChooseEntity', + OnChooseIntent = 'Microsoft.OnChooseIntent', + OnChooseProperty = 'Microsoft.OnChooseProperty', OnCondition = 'Microsoft.OnCondition', OnConversationUpdateActivity = 'Microsoft.OnConversationUpdateActivity', - OnCustomEvent = 'Microsoft.OnCustomEvent', OnDialogEvent = 'Microsoft.OnDialogEvent', + OnEndOfActions = 'Microsoft.OnEndOfActions', OnEndOfConversationActivity = 'Microsoft.OnEndOfConversationActivity', OnError = 'Microsoft.OnError', OnEventActivity = 'Microsoft.OnEventActivity', OnHandoffActivity = 'Microsoft.OnHandoffActivity', OnIntent = 'Microsoft.OnIntent', OnInvokeActivity = 'Microsoft.OnInvokeActivity', - OnMessageEventActivity = 'Microsoft.OnMessageEventActivity', OnMessageActivity = 'Microsoft.OnMessageActivity', OnMessageDeleteActivity = 'Microsoft.OnMessageDeleteActivity', OnMessageReactionActivity = 'Microsoft.OnMessageReactionActivity', OnMessageUpdateActivity = 'Microsoft.OnMessageUpdateActivity', + OnQnAMatch = 'Microsoft.OnQnAMatch', OnRepromptDialog = 'Microsoft.OnRepromptDialog', OnTypingActivity = 'Microsoft.OnTypingActivity', OnUnknownIntent = 'Microsoft.OnUnknownIntent', @@ -86,32 +99,29 @@ export enum SDKKinds { PercentageEntityRecognizer = 'Microsoft.PercentageEntityRecognizer', PhoneNumberEntityRecognizer = 'Microsoft.PhoneNumberEntityRecognizer', QnAMakerDialog = 'Microsoft.QnAMakerDialog', + QnAMakerRecognizer = 'Microsoft.QnAMakerRecognizer', RandomSelector = 'Microsoft.RandomSelector', - RegExEntityRecognizer = 'Microsoft.RegExEntityRecognizer', + RecognizerSet = 'Microsoft.RecognizerSet', + RegexEntityRecognizer = 'Microsoft.RegexEntityRecognizer', RegexRecognizer = 'Microsoft.RegexRecognizer', RepeatDialog = 'Microsoft.RepeatDialog', ReplaceDialog = 'Microsoft.ReplaceDialog', + ResourceMultiLanguageGenerator = 'Microsoft.ResourceMultiLanguageGenerator', SendActivity = 'Microsoft.SendActivity', - SetProperty = 'Microsoft.SetProperty', SetProperties = 'Microsoft.SetProperties', + SetProperty = 'Microsoft.SetProperty', + SignOutUser = 'Microsoft.SignOutUser', SkillDialog = 'Microsoft.SkillDialog', StaticActivityTemplate = 'Microsoft.StaticActivityTemplate', SwitchCondition = 'Microsoft.SwitchCondition', TemperatureEntityRecognizer = 'Microsoft.TemperatureEntityRecognizer', + TemplateEngineLanguageGenerator = 'Microsoft.TemplateEngineLanguageGenerator', TextInput = 'Microsoft.TextInput', TextTemplate = 'Microsoft.TextTemplate', TraceActivity = 'Microsoft.TraceActivity', TrueSelector = 'Microsoft.TrueSelector', + UpdateActivity = 'Microsoft.UpdateActivity', UrlEntityRecognizer = 'Microsoft.UrlEntityRecognizer', - - /** Kinds */ - - IActivityTemplate = 'Microsoft.IActivityTemplate', - IRecognizer = 'Microsoft.IRecognizer', - ILanguageGenerator = 'Microsoft.ILanguageGenerator', - ITriggerSelector = 'Microsoft.ITriggerSelector', - IDialog = 'Microsoft.IDialog', - LanguagePolicy = 'Microsoft.LanguagePolicy', } export enum SDKRoles { diff --git a/Composer/packages/lib/shared/src/viewUtils.ts b/Composer/packages/lib/shared/src/viewUtils.ts index 97224f1a6e..7260083a3d 100644 --- a/Composer/packages/lib/shared/src/viewUtils.ts +++ b/Composer/packages/lib/shared/src/viewUtils.ts @@ -102,14 +102,7 @@ export const dialogGroups: DialogGroupsMap = { }, [DialogGroup.EVENTS]: { label: 'Events', - types: [ - SDKKinds.OnIntent, - SDKKinds.OnUnknownIntent, - SDKKinds.OnDialogEvent, - SDKKinds.OnActivity, - SDKKinds.OnMessageEventActivity, - SDKKinds.OnCustomEvent, - ], + types: [SDKKinds.OnIntent, SDKKinds.OnUnknownIntent, SDKKinds.OnDialogEvent, SDKKinds.OnActivity], }, [DialogGroup.DIALOG_EVENT_TYPES]: { label: 'OnDialogEvents Types', @@ -152,7 +145,7 @@ export const dialogGroups: DialogGroupsMap = { }, [DialogGroup.OTHER]: { label: 'Other', - types: [SDKKinds.AdaptiveDialog, SDKKinds.LanguagePolicy, SDKKinds.QnAMakerDialog], + types: [SDKKinds.AdaptiveDialog], }, }; diff --git a/Composer/packages/server/schemas/sdk.schema b/Composer/packages/server/schemas/sdk.schema index 16f82e6041..0253ebfbc7 100644 --- a/Composer/packages/server/schemas/sdk.schema +++ b/Composer/packages/server/schemas/sdk.schema @@ -1,16054 +1,8850 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/schemas/component/component.schema", - "$id": "sdk.schema", - "type": "object", - "title": "Component kinds", - "description": "These are all of the kinds that can be created by the loader.", - "oneOf": [ - { - "title": "Microsoft.ActivityTemplate", - "description": "", - "$ref": "#/definitions/Microsoft.ActivityTemplate" - }, - { - "title": "Microsoft.AdaptiveDialog", - "description": "Flexible, data driven dialog that can adapt to the conversation.", - "$ref": "#/definitions/Microsoft.AdaptiveDialog" - }, - { - "title": "Microsoft.AgeEntityRecognizer", - "description": "Recognizer which recognizes age.", - "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" - }, - { - "title": "Microsoft.Ask", - "description": "This is an action which sends an activity to the user when a response is expected", - "$ref": "#/definitions/Microsoft.Ask" - }, - { - "title": "Microsoft.AttachmentInput", - "description": "Collect information - Ask for a file or image.", - "$ref": "#/definitions/Microsoft.AttachmentInput" - }, - { - "title": "Microsoft.BeginDialog", - "description": "Begin another dialog.", - "$ref": "#/definitions/Microsoft.BeginDialog" - }, - { - "title": "Microsoft.BreakLoop", - "description": "Stop executing this loop", - "$ref": "#/definitions/Microsoft.BreakLoop" - }, - { - "title": "Microsoft.CancelAllDialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelAllDialogs" - }, - { - "title": "Microsoft.CancelDialog", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelDialog" - }, - { - "title": "Microsoft.ChoiceInput", - "description": "Collect information - Pick from a list of choices", - "$ref": "#/definitions/Microsoft.ChoiceInput" - }, - { - "title": "Microsoft.ConditionalSelector", - "description": "Use a rule selector based on a condition", - "$ref": "#/definitions/Microsoft.ConditionalSelector" - }, - { - "title": "Microsoft.ConfirmInput", - "description": "Collect information - Ask for confirmation (yes or no).", - "$ref": "#/definitions/Microsoft.ConfirmInput" - }, - { - "title": "Microsoft.ConfirmationEntityRecognizer", - "description": "Recognizer which recognizes confirmation choices (yes/no).", - "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" - }, - { - "title": "Microsoft.ContinueLoop", - "description": "Stop executing this template and continue with the next iteration of the loop.", - "$ref": "#/definitions/Microsoft.ContinueLoop" - }, - { - "title": "Microsoft.CrossTrainedRecognizerSet", - "description": "Recognizer for selecting between cross trained recognizers.", - "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" - }, - { - "title": "Microsoft.CurrencyEntityRecognizer", - "description": "Recognizer which recognizes currency.", - "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" - }, - { - "title": "Microsoft.DateTimeEntityRecognizer", - "description": "Recognizer which recognizes dates and time fragments.", - "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" - }, - { - "title": "Microsoft.DateTimeInput", - "description": "Collect information - Ask for date and/ or time", - "$ref": "#/definitions/Microsoft.DateTimeInput" - }, - { - "title": "Microsoft.DebugBreak", - "description": "If debugger is attached, stop the execution at this point in the conversation.", - "$ref": "#/definitions/Microsoft.DebugBreak" - }, - { - "title": "Microsoft.DeleteActivity", - "description": "Delete an activity that was previously sent.", - "$ref": "#/definitions/Microsoft.DeleteActivity" - }, - { - "title": "Microsoft.DeleteProperties", - "description": "Delete multiple properties and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperties" - }, - { - "title": "Microsoft.DeleteProperty", - "description": "Delete a property and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperty" - }, - { - "title": "Microsoft.DimensionEntityRecognizer", - "description": "Recognizer which recognizes dimension.", - "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" - }, - { - "title": "Microsoft.EditActions", - "description": "Edit the current list of actions.", - "$ref": "#/definitions/Microsoft.EditActions" - }, - { - "title": "Microsoft.EditArray", - "description": "Modify an array in memory", - "$ref": "#/definitions/Microsoft.EditArray" - }, - { - "title": "Microsoft.EmailEntityRecognizer", - "description": "Recognizer which recognizes email.", - "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" - }, - { - "title": "Microsoft.EmitEvent", - "description": "Emit an event. Capture this event with a trigger.", - "$ref": "#/definitions/Microsoft.EmitEvent" - }, - { - "title": "Microsoft.EndDialog", - "description": "End this dialog.", - "$ref": "#/definitions/Microsoft.EndDialog" - }, - { - "title": "Microsoft.EndTurn", - "description": "End the current turn without ending the dialog.", - "$ref": "#/definitions/Microsoft.EndTurn" - }, - { - "title": "Microsoft.FirstSelector", - "description": "Selector for first true rule", - "$ref": "#/definitions/Microsoft.FirstSelector" - }, - { - "title": "Microsoft.Foreach", - "description": "Execute actions on each item in an a collection.", - "$ref": "#/definitions/Microsoft.Foreach" - }, - { - "title": "Microsoft.ForeachPage", - "description": "Execute actions on each page (collection of items) in an array.", - "$ref": "#/definitions/Microsoft.ForeachPage" - }, - { - "title": "Microsoft.GetActivityMembers", - "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetActivityMembers" - }, - { - "title": "Microsoft.GetConversationMembers", - "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetConversationMembers" - }, - { - "title": "Microsoft.GotoAction", - "description": "Go to an an action by id.", - "$ref": "#/definitions/Microsoft.GotoAction" - }, - { - "title": "Microsoft.GuidEntityRecognizer", - "description": "Recognizer which recognizes guids.", - "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" - }, - { - "title": "Microsoft.HashtagEntityRecognizer", - "description": "Recognizer which recognizes Hashtags.", - "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" - }, - { - "title": "Microsoft.HttpRequest", - "description": "Make a HTTP request.", - "$ref": "#/definitions/Microsoft.HttpRequest" - }, - { - "title": "Microsoft.IfCondition", - "description": "Two-way branch the conversation flow based on a condition.", - "$ref": "#/definitions/Microsoft.IfCondition" - }, - { - "title": "Microsoft.IpEntityRecognizer", - "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", - "$ref": "#/definitions/Microsoft.IpEntityRecognizer" - }, - { - "title": "Microsoft.LanguagePolicy", - "description": "This represents a policy map for locales lookups to use for language", - "$ref": "#/definitions/Microsoft.LanguagePolicy" - }, - { - "title": "Microsoft.LogAction", - "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", - "$ref": "#/definitions/Microsoft.LogAction" - }, - { - "title": "Microsoft.LuisRecognizer", - "description": "LUIS recognizer.", - "$ref": "#/definitions/Microsoft.LuisRecognizer" - }, - { - "title": "Microsoft.MentionEntityRecognizer", - "description": "Recognizer which recognizes @Mentions", - "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" - }, - { - "title": "Microsoft.MostSpecificSelector", - "description": "Select most specific true events with optional additional selector", - "$ref": "#/definitions/Microsoft.MostSpecificSelector" - }, - { - "title": "Microsoft.MultiLanguageRecognizer", - "description": "Configure one recognizer per language and the specify the language fallback policy.", - "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" - }, - { - "title": "Microsoft.NumberEntityRecognizer", - "description": "Recognizer which recognizes numbers.", - "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" - }, - { - "title": "Microsoft.NumberInput", - "description": "Collect information - Ask for a number.", - "$ref": "#/definitions/Microsoft.NumberInput" - }, - { - "title": "Microsoft.NumberRangeEntityRecognizer", - "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", - "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" - }, - { - "title": "Microsoft.OAuthInput", - "description": "Collect login information.", - "$ref": "#/definitions/Microsoft.OAuthInput" - }, - { - "title": "Microsoft.OnActivity", - "description": "Actions to perform on receipt of a generic activity.", - "$ref": "#/definitions/Microsoft.OnActivity" - }, - { - "title": "Microsoft.OnAssignEntity", - "description": "Actions to take when an entity should be assigned to a property.", - "$ref": "#/definitions/Microsoft.OnAssignEntity" - }, - { - "title": "Microsoft.OnBeginDialog", - "description": "Actions to perform when this dialog begins.", - "$ref": "#/definitions/Microsoft.OnBeginDialog" - }, - { - "title": "Microsoft.OnCancelDialog", - "description": "Actions to perform on cancel dialog event.", - "$ref": "#/definitions/Microsoft.OnCancelDialog" - }, - { - "title": "Microsoft.OnChooseEntity", - "description": "Actions to be performed when an entity value needs to be resolved.", - "$ref": "#/definitions/Microsoft.OnChooseEntity" - }, - { - "title": "Microsoft.OnChooseIntent", - "description": "Actions to perform on when an intent is ambigious.", - "$ref": "#/definitions/Microsoft.OnChooseIntent" - }, - { - "title": "Microsoft.OnChooseProperty", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "$ref": "#/definitions/Microsoft.OnChooseProperty" - }, - { - "title": "Microsoft.OnCondition", - "description": "Actions to perform when specified condition is true.", - "$ref": "#/definitions/Microsoft.OnCondition" - }, - { - "title": "Microsoft.OnConversationUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", - "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" - }, - { - "title": "Microsoft.OnCustomEvent", - "description": "Actions to perform when a custom event is detected. Use 'Emit a custom event' action to raise a custom event.", - "$ref": "#/definitions/Microsoft.OnCustomEvent" - }, - { - "title": "Microsoft.OnDialogEvent", - "description": "Actions to perform when a specific dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnDialogEvent" - }, - { - "title": "Microsoft.OnEndOfActions", - "description": "Actions to take when there are no more actions in the current dialog.", - "$ref": "#/definitions/Microsoft.OnEndOfActions" - }, - { - "title": "Microsoft.OnEndOfConversationActivity", - "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", - "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" - }, - { - "title": "Microsoft.OnError", - "description": "Action to perform when an 'Error' dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnError" - }, - { - "title": "Microsoft.OnEventActivity", - "description": "Actions to perform on receipt of an activity with type 'Event'.", - "$ref": "#/definitions/Microsoft.OnEventActivity" - }, - { - "title": "Microsoft.OnHandoffActivity", - "description": "Actions to perform on receipt of an activity with type 'HandOff'.", - "$ref": "#/definitions/Microsoft.OnHandoffActivity" - }, - { - "title": "Microsoft.OnIntent", - "description": "Actions to perform when specified intent is recognized.", - "$ref": "#/definitions/Microsoft.OnIntent" - }, - { - "title": "Microsoft.OnInvokeActivity", - "description": "Actions to perform on receipt of an activity with type 'Invoke'.", - "$ref": "#/definitions/Microsoft.OnInvokeActivity" - }, - { - "title": "Microsoft.OnMessageActivity", - "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", - "$ref": "#/definitions/Microsoft.OnMessageActivity" - }, - { - "title": "Microsoft.OnMessageDeleteActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", - "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" - }, - { - "title": "Microsoft.OnMessageReactionActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", - "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" - }, - { - "title": "Microsoft.OnMessageUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", - "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" - }, - { - "title": "Microsoft.OnQnAMatch", - "description": "Actions to perform on when an match from QnAMaker is found.", - "$ref": "#/definitions/Microsoft.OnQnAMatch" - }, - { - "title": "Microsoft.OnRepromptDialog", - "description": "Actions to perform when 'RepromptDialog' event occurs.", - "$ref": "#/definitions/Microsoft.OnRepromptDialog" - }, - { - "title": "Microsoft.OnTypingActivity", - "description": "Actions to perform on receipt of an activity with type 'Typing'.", - "$ref": "#/definitions/Microsoft.OnTypingActivity" - }, - { - "title": "Microsoft.OnUnknownIntent", - "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", - "$ref": "#/definitions/Microsoft.OnUnknownIntent" - }, - { - "title": "Microsoft.OrdinalEntityRecognizer", - "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", - "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" - }, - { - "title": "Microsoft.PercentageEntityRecognizer", - "description": "Recognizer which recognizes percentages.", - "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" - }, - { - "title": "Microsoft.PhoneNumberEntityRecognizer", - "description": "Recognizer which recognizes phone numbers.", - "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" - }, - { - "title": "Microsoft.RandomSelector", - "description": "Select most specific true rule", - "$ref": "#/definitions/Microsoft.RandomSelector" - }, - { - "title": "Microsoft.RecognizerSet", - "description": "Creates the union of the intents and entities of the recognizers in the set.", - "$ref": "#/definitions/Microsoft.RecognizerSet" - }, - { - "title": "Microsoft.RegexEntityRecognizer", - "description": "Recognizer which recognizes patterns of input based on regex.", - "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" - }, - { - "title": "Microsoft.RegexRecognizer", - "description": "Use regular expressions to recognize intents and entities from user input.", - "$ref": "#/definitions/Microsoft.RegexRecognizer" - }, - { - "title": "Microsoft.RepeatDialog", - "description": "Repeat current dialog.", - "$ref": "#/definitions/Microsoft.RepeatDialog" - }, - { - "title": "Microsoft.ReplaceDialog", - "description": "Replace current dialog with another dialog.", - "$ref": "#/definitions/Microsoft.ReplaceDialog" - }, - { - "title": "Microsoft.ResourceMultiLanguageGenerator", - "description": "MultiLanguage Generator which is bound to resource by resource Id.", - "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" - }, - { - "title": "Microsoft.SendActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.SendActivity" - }, - { - "title": "Microsoft.SetProperties", - "description": "Set one or more property values.", - "$ref": "#/definitions/Microsoft.SetProperties" - }, - { - "title": "Microsoft.SetProperty", - "description": "Set property to a value.", - "$ref": "#/definitions/Microsoft.SetProperty" - }, - { - "title": "Microsoft.SignOutUser", - "description": "Sign a user out that was logged in previously using OAuthInput.", - "$ref": "#/definitions/Microsoft.SignOutUser" - }, - { - "title": "Microsoft.SkillDialog", - "description": "Begin a remote skill dialog.", - "$ref": "#/definitions/Microsoft.SkillDialog" - }, - { - "title": "Microsoft.StaticActivityTemplate", - "description": "This allows you to define a static Activity object", - "$ref": "#/definitions/Microsoft.StaticActivityTemplate" - }, - { - "title": "Microsoft.SwitchCondition", - "description": "Execute different actions based on the value of a property.", - "$ref": "#/definitions/Microsoft.SwitchCondition" - }, - { - "title": "Microsoft.TemperatureEntityRecognizer", - "description": "Recognizer which recognizes temperatures.", - "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" - }, - { - "title": "Microsoft.TemplateEngineLanguageGenerator", - "description": "Template Generator which allows only inline evaluation of templates.", - "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" - }, - { - "title": "Microsoft.TextInput", - "description": "Collection information - Ask for a word or sentence.", - "$ref": "#/definitions/Microsoft.TextInput" - }, - { - "title": "Microsoft.TextTemplate", - "description": "Use LG Templates to create text", - "$ref": "#/definitions/Microsoft.TextTemplate" - }, - { - "title": "Microsoft.TraceActivity", - "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", - "$ref": "#/definitions/Microsoft.TraceActivity" - }, - { - "title": "Microsoft.TrueSelector", - "description": "Selector for all true events", - "$ref": "#/definitions/Microsoft.TrueSelector" - }, - { - "title": "Microsoft.UpdateActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.UpdateActivity" - }, - { - "title": "Microsoft.UrlEntityRecognizer", - "description": "Recognizer which recognizes urls.", - "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" - } - ], - "definitions": { - "Microsoft.ActivityTemplate": { - "$role": "implements(Microsoft.IActivityTemplate)", - "title": "Microsoft ActivityTemplate", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ActivityTemplate" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "template": { - "title": "Template", - "Description": "Language Generator template to use to create the activity", - "type": "string" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "template", - "$kind" - ] - } - ] - }, - "Microsoft.AdaptiveDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Adaptive Dialog", - "description": "Flexible, data driven dialog that can adapt to the conversation.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.AdaptiveDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional dialog ID." - }, - "autoEndDialog": { - "type": "boolean", - "title": "Auto end dialog", - "description": "If set to true the dialog will automatically end when there are no further actions. If set to false, remember to manually end the dialog using EndDialog action.", - "default": true - }, - "defaultResultProperty": { - "type": "string", - "title": "Default result property", - "description": "Value that will be passed back to the parent dialog.", - "default": "dialog.result" - }, - "recognizer": { - "$kind": "Microsoft.IRecognizer", - "title": "Recognizer", - "description": "Input recognizer that interprets user input into intent and entities.", - "$ref": "#/definitions/Microsoft.IRecognizer" - }, - "generator": { - "$kind": "Microsoft.ILanguageGenerator", - "title": "Language Generator", - "description": "Language generator that generates bot responses.", - "$ref": "#/definitions/Microsoft.ILanguageGenerator" - }, - "selector": { - "$kind": "Microsoft.ITriggerSelector", - "title": "Selector", - "description": "Policy to determine which trigger is executed. Defaults to a 'best match' selector (optional).", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - }, - "triggers": { - "type": "array", - "description": "List of triggers defined for this dialog.", - "title": "Triggers", - "items": { - "$kind": "Microsoft.ITrigger", - "$ref": "#/definitions/Microsoft.ITrigger" - } - }, - "schema": { - "anyOf": [ - { - "title": "The schema to be filled in.", - "type": "object", - "additionalProperties": true - }, - { - "type": "string", - "title": "Reference to JSON schema", - "description": "Reference to JSON schema .dialog file." - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.AgeEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Age Entity Recognizer", - "description": "Recognizer which recognizes age.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.AgeEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.Ask": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send Activity to Ask a question", - "description": "This is an action which sends an activity to the user when a response is expected", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.Ask" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "Activity to send.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "expectedProperties": { - "title": "Expected Properties", - "description": "Properties expected from the user.", - "examples": [ - [ - "age", - "name" - ] - ], - "$role": "expression", - "oneOf": [ - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "items": { - "type": "string", - "title": "Name", - "description": "Name of the property" - } - }, - "defaultOperation": { - "title": "Default Operation", - "description": "Sets the default operation that will be used when no operation is recognized in the response to this Ask.", - "examples": [ - "add" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.AttachmentInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Attachment input dialog", - "description": "Collect information - Ask for a file or image.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.AttachmentInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "$role": "expression", - "title": "Default value", - "description": "'Property' will be set to the object or the result of this expression when max turn count is exceeded.", - "oneOf": [ - { - "title": "Object", - "description": "An attachment within an activity", - "type": "object", - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - }, - "required": [ - "contentType" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "value": { - "$role": "expression", - "title": "Value", - "description": "'Property' will be set to the object or the result of this expression unless it evaluates to null.", - "oneOf": [ - { - "title": "Object", - "description": "An attachment within an activity", - "type": "object", - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - }, - "required": [ - "contentType" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "outputFormat": { - "$role": "expression", - "title": "Output format", - "description": "Attachment output format.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "all", - "first" - ], - "default": "first" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.BeginDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Begin a dialog", - "description": "Begin another dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.BeginDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "dialog": { - "oneOf": [ - { - "$kind": "Microsoft.IDialog", - "pattern": "^(?!(=)).*", - "title": "Dialog", - "$ref": "#/definitions/Microsoft.IDialog" - }, - { - "examples": [ - "=settings.dialogId" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "title": "Dialog name", - "description": "Name of the dialog to call." - }, - "options": { - "title": "Options", - "description": "One or more options that are passed to the dialog that is called.", - "examples": [ - { - "arg1": "=expression" - } - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "additionalProperties": { - "type": "string", - "title": "Options" - } - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the dialog that is called can process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "resultProperty": { - "title": "Property", - "description": "Property to store any value returned by the dialog that is called.", - "examples": [ - "dialog.userName" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.BreakLoop": { - "$role": "implements(Microsoft.IDialog)", - "title": "Break Loop", - "description": "Stop executing this loop", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.BreakLoop" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.CancelAllDialogs": { - "$role": "implements(Microsoft.IDialog)", - "title": "Cancel all dialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CancelAllDialogs" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the caller dialog is told it should process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventName": { - "title": "Event name", - "description": "Name of the event to emit.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventValue": { - "title": "Event value", - "description": "Value to emit with the event (optional).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "additionalProperties": true - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.CancelDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Cancel all dialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CancelDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the caller dialog is told it should process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventName": { - "title": "Event name", - "description": "Name of the event to emit.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventValue": { - "title": "Event value", - "description": "Value to emit with the event (optional).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "additionalProperties": true - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ChoiceInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Choice input dialog", - "description": "Collect information - Pick from a list of choices", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ChoiceInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "$role": "expression", - "title": "Output format", - "description": "Sets the desired choice output format (either value or index into choices).", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "value", - "index" - ], - "default": "value" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "choices": { - "$role": "expression", - "title": "Array of choices", - "oneOf": [ - { - "type": "array", - "title": "Strings", - "items": [ - { - "type": "string", - "title": "string" - } - ] - }, - { - "type": "array", - "title": "Objects", - "items": [ - { - "type": "object", - "title": "Choice", - "properties": { - "value": { - "type": "string", - "title": "Value", - "description": "Value to return when this choice is selected." - }, - "action": { - "title": "Action", - "description": "Card action for the choice.", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - }, - "synonyms": { - "type": "array", - "title": "Synonyms", - "description": "List of synonyms to recognize in addition to the value (optional).", - "items": { - "type": "string", - "title": "Synonym" - } - } - } - } - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "defaultLocale": { - "title": "Default locale", - "description": "The default locale to use to parse confirmation choices if there is not one passed by the caller.", - "default": "en-us", - "examples": [ - "en-us" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "style": { - "$role": "expression", - "title": "List style", - "description": "Sets the ListStyle to control how choices are rendered.", - "oneOf": [ - { - "type": "string", - "title": "List style", - "enum": [ - "none", - "auto", - "inline", - "list", - "suggestedAction", - "heroCard" - ], - "default": "auto" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "choiceOptions": { - "title": "Choice options", - "description": "Sets the choice options used for controlling how choices are combined.", - "oneOf": [ - { - "type": "object", - "title": "Object", - "properties": { - "inlineSeparator": { - "type": "string", - "title": "Inline separator", - "description": "Character used to separate individual choices when there are more than 2 choices", - "default": ", " - }, - "inlineOr": { - "type": "string", - "title": "Inline or", - "description": "Separator inserted between the choices when there are only 2 choices", - "default": " or " - }, - "inlineOrMore": { - "type": "string", - "title": "Inline or more", - "description": "Separator inserted between the last 2 choices when their are more than 2 choices.", - "default": ", or " - }, - "includeNumbers": { - "type": "boolean", - "title": "Include numbers", - "description": "If true, 'inline' and 'list' list style will be prefixed with the index of the choice.", - "default": true - } - } - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "recognizerOptions": { - "title": "Recognizer options", - "description": "Sets how to recognize choices in the response", - "oneOf": [ - { - "type": "object", - "title": "Recognizer options", - "properties": { - "noValue": { - "type": "boolean", - "title": "No value", - "description": "If true, the choices value field will NOT be search over", - "default": false - }, - "noAction": { - "type": "boolean", - "title": "No action", - "description": "If true, the choices action.title field will NOT be searched over", - "default": false - }, - "recognizeNumbers": { - "type": "boolean", - "title": "Recognize numbers", - "description": "If true, the number recognizer will be used to recognize an index response (1,2,3...) to the prompt.", - "default": true - }, - "recognizeOrdinals": { - "type": "boolean", - "title": "Recognize ordinals", - "description": "If true, the ordinal recognizer will be used to recognize ordinal response (first/second/...) to the prompt.", - "default": true - } - } - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ConditionalSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "Conditional Trigger Selector", - "description": "Use a rule selector based on a condition", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ConditionalSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Expression to evaluate", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "ifTrue": { - "$kind": "Microsoft.ITriggerSelector", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - }, - "ifFalse": { - "$kind": "Microsoft.ITriggerSelector", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "condition", - "ifTrue", - "ifFalse", - "$kind" - ] - } - ] - }, - "Microsoft.ConfirmInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Confirm input dialog", - "description": "Collect information - Ask for confirmation (yes or no).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ConfirmInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Optional expression to use to format the output.", - "examples": [ - "=concat('confirmation:', this.value)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultLocale": { - "title": "Default locale", - "description": "The Default locale or an expression which provides the default locale to use as default if not found in the activity.", - "default": "en-us", - "examples": [ - "en-us" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "style": { - "$role": "expression", - "title": "List style", - "description": "Sets the ListStyle to control how choices are rendered.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "none", - "auto", - "inline", - "list", - "suggestedAction", - "heroCard" - ], - "default": "auto" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "choiceOptions": { - "title": "Choice Options", - "description": "Choice Options or expression which provides Choice Options to control display choices to the user.", - "oneOf": [ - { - "type": "object", - "title": "Object", - "properties": { - "inlineSeparator": { - "type": "string", - "title": "Inline separator", - "description": "Text to separate individual choices when there are more than 2 choices", - "default": ", " - }, - "inlineOr": { - "type": "string", - "title": "Inline or", - "description": "Text to be inserted between the choices when their are only 2 choices", - "default": " or " - }, - "inlineOrMore": { - "type": "string", - "title": "Inline or more", - "description": "Text to be inserted between the last 2 choices when their are more than 2 choices.", - "default": ", or " - }, - "includeNumbers": { - "type": "boolean", - "title": "Include numbers", - "description": "If true, inline and list style choices will be prefixed with the index of the choice.", - "default": true - } - } - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "'Property' will be set to the value of this expression unless it evaluates to null.", - "examples": [ - true, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "confirmChoices": { - "$role": "expression", - "title": "Array of choice objects", - "oneOf": [ - { - "type": "array", - "title": "Strings", - "items": [ - { - "type": "string", - "title": "string" - } - ] - }, - { - "type": "array", - "title": "Objects", - "items": [ - { - "type": "object", - "title": "Choice", - "properties": { - "value": { - "type": "string", - "title": "Value", - "description": "Value to return when this choice is selected." - }, - "action": { - "title": "Action", - "description": "Card action for the choice.", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - }, - "synonyms": { - "type": "array", - "title": "Synonyms", - "description": "List of synonyms to recognize in addition to the value (optional).", - "items": { - "type": "string", - "title": "Synonym" - } - } - } - } - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ConfirmationEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Confirmation Entity Recognizer", - "description": "Recognizer which recognizes confirmation choices (yes/no).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ConfirmationEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ContinueLoop": { - "$role": "implements(Microsoft.IDialog)", - "title": "Continue Loop", - "description": "Stop executing this template and continue with the next iteration of the loop.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ContinueLoop" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.CrossTrainedRecognizerSet": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Cross-trained Recognizer Set", - "description": "Recognizer for selecting between cross trained recognizers.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CrossTrainedRecognizerSet" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet." - }, - "recognizers": { - "type": "array", - "title": "Recognizers", - "description": "List of Recognizers defined for this set.", - "items": { - "$kind": "Microsoft.IRecognizer", - "$ref": "#/definitions/Microsoft.IRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "recognizers", - "$kind" - ] - } - ] - }, - "Microsoft.CurrencyEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Currency Entity Recognizer", - "description": "Recognizer which recognizes currency.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CurrencyEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DateTimeEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "DateTime Entity Recognizer", - "description": "Recognizer which recognizes dates and time fragments.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DateTimeEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DateTimeInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Date/time input dialog", - "description": "Collect information - Ask for date and/ or time", - "type": "object", - "defaultLocale": { - "title": "Default locale", - "description": "Default locale.", - "default": "en-us", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DateTimeInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "format": "date-time", - "title": "Default Date", - "description": "'Property' will be set to the value or the result of the expression when max turn count is exceeded.", - "examples": [ - "=user.birthday" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "format": "date-time", - "title": "Value", - "description": "'Property' will be set to the value or the result of the expression unless it evaluates to null.", - "examples": [ - "=user.birthday" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Expression to use for formatting the output.", - "examples": [ - "=this.value[0].Value" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DebugBreak": { - "$role": "implements(Microsoft.IDialog)", - "title": "Debugger break", - "description": "If debugger is attached, stop the execution at this point in the conversation.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DebugBreak" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DeleteActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Delete Activity", - "description": "Delete an activity that was previously sent.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DeleteActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "activityId": { - "title": "ActivityId", - "description": "expression to an activityId to delete", - "examples": [ - "=$lastActivity" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "activityId", - "$kind" - ] - } - ] - }, - "Microsoft.DeleteProperties": { - "$role": "implements(Microsoft.IDialog)", - "title": "Delete Properties", - "description": "Delete multiple properties and any value it holds.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DeleteProperties" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "properties": { - "type": "array", - "title": "Properties", - "description": "Properties to delete.", - "items": { - "title": "Property", - "description": "Property to delete.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "properties", - "$kind" - ] - } - ] - }, - "Microsoft.DeleteProperty": { - "$role": "implements(Microsoft.IDialog)", - "title": "Delete Property", - "description": "Delete a property and any value it holds.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DeleteProperty" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "title": "Property", - "description": "Property to delete.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "property", - "$kind" - ] - } - ] - }, - "Microsoft.DimensionEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Dimension Entity Recognizer", - "description": "Recognizer which recognizes dimension.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DimensionEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.EditActions": { - "$role": "implements(Microsoft.IDialog)", - "title": "Edit actions.", - "description": "Edit the current list of actions.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EditActions" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "changeType": { - "title": "Type of change", - "description": "Type of change to apply to the current actions.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "insertActions", - "insertActionsBeforeTags", - "appendActions", - "endSequence", - "replaceSequence" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to apply.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "changeType", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.EditArray": { - "$role": "implements(Microsoft.IDialog)", - "title": "Edit array", - "description": "Modify an array in memory", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EditArray" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "changeType": { - "title": "Type of change", - "description": "Type of change to the array in memory.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "push", - "pop", - "take", - "remove", - "clear" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "itemsProperty": { - "title": "Items property", - "description": "Property that holds the array to update.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "resultProperty": { - "title": "Result Property", - "description": "Property to store the result of this action.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "New value or expression.", - "examples": [ - "milk", - "=dialog.favColor", - "=dialog.favColor == 'red'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "itemsProperty", - "$kind" - ] - } - ] - }, - "Microsoft.EmailEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Email Entity Recognizer", - "description": "Recognizer which recognizes email.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EmailEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.EmitEvent": { - "$role": "implements(Microsoft.IDialog)", - "title": "Emit a custom event", - "description": "Emit an event. Capture this event with a trigger.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EmitEvent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventName": { - "$role": "expression", - "title": "Event name", - "description": "Name of the event to emit.", - "oneOf": [ - { - "type": "string", - "title": "Built-in event", - "enum": [ - "beginDialog", - "resumeDialog", - "repromptDialog", - "cancelDialog", - "endDialog", - "activityReceived", - "recognizedIntent", - "unknownIntent", - "actionsStarted", - "actionsSaved", - "actionsEnded", - "actionsResumed" - ] - }, - { - "title": "Custom event", - "pattern": "^(?!(beginDialog$|resumeDialog$|repromptDialog$|cancelDialog$|endDialog$|activityReceived$|recognizedIntent$|unknownIntent$|actionsStarted$|actionsSaved$|actionsEnded$|actionsResumed))(\\S){1}.*" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "eventValue": { - "title": "Event value", - "description": "Value to emit with the event (optional).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "bubbleEvent": { - "title": "Bubble event", - "description": "If true this event is passed on to parent dialogs.", - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "eventName", - "$kind" - ] - } - ] - }, - "Microsoft.EndDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "End dialog", - "description": "End this dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EndDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "Result value returned to the parent dialog.", - "examples": [ - "=dialog.userName", - "='tomato'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.EndTurn": { - "$role": "implements(Microsoft.IDialog)", - "title": "End turn", - "description": "End the current turn without ending the dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EndTurn" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.FirstSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "First Trigger Selector", - "description": "Selector for first true rule", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.FirstSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.Foreach": { - "$role": "implements(Microsoft.IDialog)", - "title": "For each item", - "description": "Execute actions on each item in an a collection.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.Foreach" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "itemsProperty": { - "title": "Items property", - "description": "Property that holds the array.", - "examples": [ - "user.todoList" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "index": { - "title": "Index property", - "description": "Property that holds the index of the item.", - "default": "dialog.foreach.index", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value property", - "description": "Property that holds the value of the item.", - "default": "dialog.foreach.value", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute for each item. Use '$foreach.value' to access the value of each item. Use '$foreach.index' to access the index of each item.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "itemsProperty", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.ForeachPage": { - "$role": "implements(Microsoft.IDialog)", - "title": "For each page", - "description": "Execute actions on each page (collection of items) in an array.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ForeachPage" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "itemsProperty": { - "title": "Items property", - "description": "Property that holds the array.", - "examples": [ - "user.todoList" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute for each page. Use '$foreach.page' to access each page.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "pageIndex": { - "title": "Index property", - "description": "Property that holds the index of the page.", - "default": "dialog.foreach.pageindex", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "page": { - "title": "Page property", - "description": "Property that holds the value of the page.", - "default": "dialog.foreach.page", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "pageSize": { - "title": "Page size", - "description": "Number of items in each page.", - "default": 10, - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "itemsProperty", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.GetActivityMembers": { - "$role": "implements(Microsoft.IDialog)", - "title": "Get Activity Members", - "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GetActivityMembers" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "property": { - "title": "Property", - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityId": { - "title": "ActivityId", - "description": "Activity ID or expression to an activityId to use to get the members. If none is defined then the current activity id will be used.", - "examples": [ - "$lastActivity" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.GetConversationMembers": { - "$role": "implements(Microsoft.IDialog)", - "title": "Get Converation Members", - "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GetConversationMembers" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "property": { - "title": "Property", - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.GotoAction": { - "$role": "implements(Microsoft.IDialog)", - "title": "Go to Action", - "description": "Go to an an action by id.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GotoAction" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actionId": { - "title": "Action Id", - "description": "Action Id to execute next", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actionId", - "$kind" - ] - } - ] - }, - "Microsoft.GuidEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Guid Entity Recognizer", - "description": "Recognizer which recognizes guids.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GuidEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.HashtagEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Hashtag Entity Recognizer", - "description": "Recognizer which recognizes Hashtags.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.HashtagEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.HttpRequest": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "HTTP request", - "description": "Make a HTTP request.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.HttpRequest" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "method": { - "type": "string", - "title": "HTTP method", - "description": "HTTP method to use.", - "enum": [ - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "examples": [ - "GET", - "POST" - ] - }, - "url": { - "title": "Url", - "description": "URL to call (supports data binding).", - "examples": [ - "https://contoso.com" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "body": { - "title": "Body", - "description": "Body to include in the HTTP call (supports data binding).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "additionalProperties": true - }, - "resultProperty": { - "title": "Result property", - "description": "Property to store the result of this action. The result includes 4 properties from the http response: statusCode, reasonPhrase, content and headers. If the content is json it will be a deserialized object.", - "examples": [ - "dialog.contosodata" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "contentType": { - "title": "Content type", - "description": "Content media type for the body.", - "examples": [ - "application/json", - "text/plain" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "headers": { - "type": "object", - "title": "Headers", - "description": "One or more headers to include in the request (supports data binding).", - "additionalProperties": { - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "responseType": { - "title": "Response type", - "description": "Defines the type of HTTP response. Automatically calls the 'Send a response' action if set to 'Activity' or 'Activities'.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "none", - "json", - "activity", - "activities" - ], - "default": "json" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "$role": "expression" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "url", - "method", - "$kind" - ] - } - ] - }, - "Microsoft.IActivityTemplate": { - "title": "Microsoft ActivityTemplates", - "description": "Components which are ActivityTemplate, which is string template, an activity, or a implementation of ActivityTemplate", - "$role": "interface", - "oneOf": [ - { - "required": [ - "type" - ], - "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", - "title": "Activity", - "type": "object", - "properties": { - "type": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - }, - "id": { - "description": "Contains an ID that uniquely identifies the activity on the channel.", - "type": "string", - "title": "id" - }, - "timestamp": { - "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", - "type": "string", - "format": "date-time", - "title": "timestamp" - }, - "localTimestamp": { - "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", - "type": "string", - "format": "date-time", - "title": "localTimestamp" - }, - "localTimezone": { - "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", - "type": "string", - "title": "localTimezone" - }, - "serviceUrl": { - "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", - "type": "string", - "title": "serviceUrl" - }, - "channelId": { - "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", - "type": "string", - "title": "channelId" - }, - "from": { - "description": "Identifies the sender of the message.", - "title": "from", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Identifies the conversation to which the activity belongs.", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "recipient": { - "description": "Identifies the recipient of the message.", - "title": "recipient", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "textFormat": { - "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", - "type": "string", - "title": "textFormat" - }, - "attachmentLayout": { - "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", - "type": "string", - "title": "attachmentLayout" - }, - "membersAdded": { - "description": "The collection of members added to the conversation.", - "type": "array", - "title": "membersAdded", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "membersRemoved": { - "description": "The collection of members removed from the conversation.", - "type": "array", - "title": "membersRemoved", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "reactionsAdded": { - "description": "The collection of reactions added to the conversation.", - "type": "array", - "title": "reactionsAdded", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "reactionsRemoved": { - "description": "The collection of reactions removed from the conversation.", - "type": "array", - "title": "reactionsRemoved", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "topicName": { - "description": "The updated topic name of the conversation.", - "type": "string", - "title": "topicName" - }, - "historyDisclosed": { - "description": "Indicates whether the prior history of the channel is disclosed.", - "type": "boolean", - "title": "historyDisclosed" - }, - "locale": { - "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", - "type": "string", - "title": "locale" - }, - "text": { - "description": "The text content of the message.", - "type": "string", - "title": "text" - }, - "speak": { - "description": "The text to speak.", - "type": "string", - "title": "speak" - }, - "inputHint": { - "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", - "type": "string", - "title": "inputHint" - }, - "summary": { - "description": "The text to display if the channel cannot render cards.", - "type": "string", - "title": "summary" - }, - "suggestedActions": { - "description": "The suggested actions for the activity.", - "title": "suggestedActions", - "type": "object", - "required": [ - "actions", - "to" - ], - "properties": { - "to": { - "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", - "type": "array", - "title": "to", - "items": { - "type": "string", - "title": "string" - } - }, - "actions": { - "description": "Actions that can be shown to the user", - "type": "array", - "title": "actions", - "items": { - "description": "A clickable action", - "title": "CardAction", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - } - } - } - }, - "attachments": { - "description": "Attachments", - "type": "array", - "title": "attachments", - "items": { - "description": "An attachment within an activity", - "title": "Attachment", - "type": "object", - "required": [ - "contentType" - ], - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - } - } - }, - "entities": { - "description": "Represents the entities that were mentioned in the message.", - "type": "array", - "title": "entities", - "items": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - }, - "title": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - }, - "channelData": { - "description": "Contains channel-specific content.", - "title": "channelData" - }, - "action": { - "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", - "type": "string", - "title": "action" - }, - "replyToId": { - "description": "Contains the ID of the message to which this message is a reply.", - "type": "string", - "title": "replyToId" - }, - "label": { - "description": "A descriptive label for the activity.", - "type": "string", - "title": "label" - }, - "valueType": { - "description": "The type of the activity's value object.", - "type": "string", - "title": "valueType" - }, - "value": { - "description": "A value that is associated with the activity.", - "title": "value" - }, - "name": { - "description": "The name of the operation associated with an invoke or event activity.", - "type": "string", - "title": "name" - }, - "relatesTo": { - "description": "A reference to another conversation or activity.", - "title": "relatesTo", - "type": "object", - "required": [ - "bot", - "channelId", - "conversation", - "serviceUrl" - ], - "properties": { - "activityId": { - "description": "(Optional) ID of the activity to refer to", - "type": "string", - "title": "activityId" - }, - "user": { - "description": "(Optional) User participating in this conversation", - "title": "user", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "bot": { - "description": "Bot participating in this conversation", - "title": "bot", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Conversation reference", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "channelId": { - "description": "Channel ID", - "type": "string", - "title": "channelId" - }, - "serviceUrl": { - "description": "Service endpoint where operations concerning the referenced conversation may be performed", - "type": "string", - "title": "serviceUrl" - } - } - }, - "code": { - "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", - "type": "string", - "title": "code" - }, - "expiration": { - "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", - "type": "string", - "format": "date-time", - "title": "expiration" - }, - "importance": { - "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", - "type": "string", - "title": "importance" - }, - "deliveryMode": { - "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", - "type": "string", - "title": "deliveryMode" - }, - "listenFor": { - "description": "List of phrases and references that speech and language priming systems should listen for", - "type": "array", - "title": "listenFor", - "items": { - "type": "string", - "title": "string" - } - }, - "textHighlights": { - "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", - "type": "array", - "title": "textHighlights", - "items": { - "description": "Refers to a substring of content within another field", - "title": "TextHighlight", - "type": "object", - "required": [ - "occurrence", - "text" - ], - "properties": { - "text": { - "description": "Defines the snippet of text to highlight", - "type": "string", - "title": "text" - }, - "occurrence": { - "description": "Occurrence of the text field within the referenced text, if multiple exist.", - "type": "number", - "title": "occurrence" - } - } - } - }, - "semanticAction": { - "description": "An optional programmatic action accompanying this request", - "title": "semanticAction", - "type": "object", - "required": [ - "entities", - "id" - ], - "properties": { - "id": { - "description": "ID of this action", - "type": "string", - "title": "id" - }, - "entities": { - "description": "Entities associated with this action", - "type": "object", - "title": "entities", - "additionalProperties": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - }, - "title": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - } - } - }, - "title": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - } - } - }, - { - "title": "Microsoft.ActivityTemplate", - "description": "", - "$ref": "#/definitions/Microsoft.ActivityTemplate" - }, - { - "title": "Microsoft.StaticActivityTemplate", - "description": "This allows you to define a static Activity object", - "$ref": "#/definitions/Microsoft.StaticActivityTemplate" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.IDialog": { - "title": "Microsoft Dialogs", - "description": "Components which derive from Dialog", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.AdaptiveDialog", - "description": "Flexible, data driven dialog that can adapt to the conversation.", - "$ref": "#/definitions/Microsoft.AdaptiveDialog" - }, - { - "title": "Microsoft.Ask", - "description": "This is an action which sends an activity to the user when a response is expected", - "$ref": "#/definitions/Microsoft.Ask" - }, - { - "title": "Microsoft.AttachmentInput", - "description": "Collect information - Ask for a file or image.", - "$ref": "#/definitions/Microsoft.AttachmentInput" - }, - { - "title": "Microsoft.BeginDialog", - "description": "Begin another dialog.", - "$ref": "#/definitions/Microsoft.BeginDialog" - }, - { - "title": "Microsoft.BreakLoop", - "description": "Stop executing this loop", - "$ref": "#/definitions/Microsoft.BreakLoop" - }, - { - "title": "Microsoft.CancelAllDialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelAllDialogs" - }, - { - "title": "Microsoft.CancelDialog", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelDialog" - }, - { - "title": "Microsoft.ChoiceInput", - "description": "Collect information - Pick from a list of choices", - "$ref": "#/definitions/Microsoft.ChoiceInput" - }, - { - "title": "Microsoft.ConfirmInput", - "description": "Collect information - Ask for confirmation (yes or no).", - "$ref": "#/definitions/Microsoft.ConfirmInput" - }, - { - "title": "Microsoft.ContinueLoop", - "description": "Stop executing this template and continue with the next iteration of the loop.", - "$ref": "#/definitions/Microsoft.ContinueLoop" - }, - { - "title": "Microsoft.DateTimeInput", - "description": "Collect information - Ask for date and/ or time", - "$ref": "#/definitions/Microsoft.DateTimeInput" - }, - { - "title": "Microsoft.DebugBreak", - "description": "If debugger is attached, stop the execution at this point in the conversation.", - "$ref": "#/definitions/Microsoft.DebugBreak" - }, - { - "title": "Microsoft.DeleteActivity", - "description": "Delete an activity that was previously sent.", - "$ref": "#/definitions/Microsoft.DeleteActivity" - }, - { - "title": "Microsoft.DeleteProperties", - "description": "Delete multiple properties and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperties" - }, - { - "title": "Microsoft.DeleteProperty", - "description": "Delete a property and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperty" - }, - { - "title": "Microsoft.EditActions", - "description": "Edit the current list of actions.", - "$ref": "#/definitions/Microsoft.EditActions" - }, - { - "title": "Microsoft.EditArray", - "description": "Modify an array in memory", - "$ref": "#/definitions/Microsoft.EditArray" - }, - { - "title": "Microsoft.EmitEvent", - "description": "Emit an event. Capture this event with a trigger.", - "$ref": "#/definitions/Microsoft.EmitEvent" - }, - { - "title": "Microsoft.EndDialog", - "description": "End this dialog.", - "$ref": "#/definitions/Microsoft.EndDialog" - }, - { - "title": "Microsoft.EndTurn", - "description": "End the current turn without ending the dialog.", - "$ref": "#/definitions/Microsoft.EndTurn" - }, - { - "title": "Microsoft.Foreach", - "description": "Execute actions on each item in an a collection.", - "$ref": "#/definitions/Microsoft.Foreach" - }, - { - "title": "Microsoft.ForeachPage", - "description": "Execute actions on each page (collection of items) in an array.", - "$ref": "#/definitions/Microsoft.ForeachPage" - }, - { - "title": "Microsoft.GetActivityMembers", - "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetActivityMembers" - }, - { - "title": "Microsoft.GetConversationMembers", - "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetConversationMembers" - }, - { - "title": "Microsoft.GotoAction", - "description": "Go to an an action by id.", - "$ref": "#/definitions/Microsoft.GotoAction" - }, - { - "title": "Microsoft.HttpRequest", - "description": "Make a HTTP request.", - "$ref": "#/definitions/Microsoft.HttpRequest" - }, - { - "title": "Microsoft.IfCondition", - "description": "Two-way branch the conversation flow based on a condition.", - "$ref": "#/definitions/Microsoft.IfCondition" - }, - { - "title": "Microsoft.LogAction", - "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", - "$ref": "#/definitions/Microsoft.LogAction" - }, - { - "title": "Microsoft.NumberInput", - "description": "Collect information - Ask for a number.", - "$ref": "#/definitions/Microsoft.NumberInput" - }, - { - "title": "Microsoft.OAuthInput", - "description": "Collect login information.", - "$ref": "#/definitions/Microsoft.OAuthInput" - }, - { - "title": "Microsoft.RepeatDialog", - "description": "Repeat current dialog.", - "$ref": "#/definitions/Microsoft.RepeatDialog" - }, - { - "title": "Microsoft.ReplaceDialog", - "description": "Replace current dialog with another dialog.", - "$ref": "#/definitions/Microsoft.ReplaceDialog" - }, - { - "title": "Microsoft.SendActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.SendActivity" - }, - { - "title": "Microsoft.SetProperties", - "description": "Set one or more property values.", - "$ref": "#/definitions/Microsoft.SetProperties" - }, - { - "title": "Microsoft.SetProperty", - "description": "Set property to a value.", - "$ref": "#/definitions/Microsoft.SetProperty" - }, - { - "title": "Microsoft.SignOutUser", - "description": "Sign a user out that was logged in previously using OAuthInput.", - "$ref": "#/definitions/Microsoft.SignOutUser" - }, - { - "title": "Microsoft.SkillDialog", - "description": "Begin a remote skill dialog.", - "$ref": "#/definitions/Microsoft.SkillDialog" - }, - { - "title": "Microsoft.SwitchCondition", - "description": "Execute different actions based on the value of a property.", - "$ref": "#/definitions/Microsoft.SwitchCondition" - }, - { - "title": "Microsoft.TextInput", - "description": "Collection information - Ask for a word or sentence.", - "$ref": "#/definitions/Microsoft.TextInput" - }, - { - "title": "Microsoft.TraceActivity", - "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", - "$ref": "#/definitions/Microsoft.TraceActivity" - }, - { - "title": "Microsoft.UpdateActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.UpdateActivity" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.IEntityRecognizer": { - "$role": "interface", - "title": "Entity Recognizers", - "description": "Components which derive from EntityRecognizer.", - "type": "object", - "oneOf": [ - { - "title": "Microsoft.AgeEntityRecognizer", - "description": "Recognizer which recognizes age.", - "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" - }, - { - "title": "Microsoft.ConfirmationEntityRecognizer", - "description": "Recognizer which recognizes confirmation choices (yes/no).", - "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" - }, - { - "title": "Microsoft.CurrencyEntityRecognizer", - "description": "Recognizer which recognizes currency.", - "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" - }, - { - "title": "Microsoft.DateTimeEntityRecognizer", - "description": "Recognizer which recognizes dates and time fragments.", - "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" - }, - { - "title": "Microsoft.DimensionEntityRecognizer", - "description": "Recognizer which recognizes dimension.", - "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" - }, - { - "title": "Microsoft.EmailEntityRecognizer", - "description": "Recognizer which recognizes email.", - "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" - }, - { - "title": "Microsoft.GuidEntityRecognizer", - "description": "Recognizer which recognizes guids.", - "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" - }, - { - "title": "Microsoft.HashtagEntityRecognizer", - "description": "Recognizer which recognizes Hashtags.", - "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" - }, - { - "title": "Microsoft.IpEntityRecognizer", - "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", - "$ref": "#/definitions/Microsoft.IpEntityRecognizer" - }, - { - "title": "Microsoft.MentionEntityRecognizer", - "description": "Recognizer which recognizes @Mentions", - "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" - }, - { - "title": "Microsoft.NumberEntityRecognizer", - "description": "Recognizer which recognizes numbers.", - "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" - }, - { - "title": "Microsoft.NumberRangeEntityRecognizer", - "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", - "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" - }, - { - "title": "Microsoft.OrdinalEntityRecognizer", - "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", - "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" - }, - { - "title": "Microsoft.PercentageEntityRecognizer", - "description": "Recognizer which recognizes percentages.", - "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" - }, - { - "title": "Microsoft.PhoneNumberEntityRecognizer", - "description": "Recognizer which recognizes phone numbers.", - "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" - }, - { - "title": "Microsoft.RegexEntityRecognizer", - "description": "Recognizer which recognizes patterns of input based on regex.", - "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" - }, - { - "title": "Microsoft.TemperatureEntityRecognizer", - "description": "Recognizer which recognizes temperatures.", - "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" - }, - { - "title": "Microsoft.UrlEntityRecognizer", - "description": "Recognizer which recognizes urls.", - "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" - }, - { - "type": "string", - "title": "Reference to Microsoft.IEntityRecognizer", - "description": "Reference to Microsoft.IEntityRecognizer .dialog file." - } - ] - }, - "Microsoft.ILanguageGenerator": { - "title": "Microsoft LanguageGenerator", - "description": "Components which dervie from the LanguageGenerator class", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.ResourceMultiLanguageGenerator", - "description": "MultiLanguage Generator which is bound to resource by resource Id.", - "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" - }, - { - "title": "Microsoft.TemplateEngineLanguageGenerator", - "description": "Template Generator which allows only inline evaluation of templates.", - "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.IRecognizer": { - "title": "Microsoft Recognizer", - "description": "Components which derive from Recognizer class", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.CrossTrainedRecognizerSet", - "description": "Recognizer for selecting between cross trained recognizers.", - "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" - }, - { - "title": "Microsoft.LuisRecognizer", - "description": "LUIS recognizer.", - "$ref": "#/definitions/Microsoft.LuisRecognizer" - }, - { - "title": "Microsoft.MultiLanguageRecognizer", - "description": "Configure one recognizer per language and the specify the language fallback policy.", - "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" - }, - { - "title": "Microsoft.RecognizerSet", - "description": "Creates the union of the intents and entities of the recognizers in the set.", - "$ref": "#/definitions/Microsoft.RecognizerSet" - }, - { - "title": "Microsoft.RegexRecognizer", - "description": "Use regular expressions to recognize intents and entities from user input.", - "$ref": "#/definitions/Microsoft.RegexRecognizer" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.ITextTemplate": { - "title": "Microsoft TextTemplate", - "description": "Components which derive from TextTemplate class", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.TextTemplate", - "description": "Use LG Templates to create text", - "$ref": "#/definitions/Microsoft.TextTemplate" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.ITrigger": { - "$role": "interface", - "title": "Microsoft Triggers", - "description": "Components which derive from OnCondition class.", - "oneOf": [ - { - "title": "Microsoft.OnActivity", - "description": "Actions to perform on receipt of a generic activity.", - "$ref": "#/definitions/Microsoft.OnActivity" - }, - { - "title": "Microsoft.OnAssignEntity", - "description": "Actions to take when an entity should be assigned to a property.", - "$ref": "#/definitions/Microsoft.OnAssignEntity" - }, - { - "title": "Microsoft.OnBeginDialog", - "description": "Actions to perform when this dialog begins.", - "$ref": "#/definitions/Microsoft.OnBeginDialog" - }, - { - "title": "Microsoft.OnCancelDialog", - "description": "Actions to perform on cancel dialog event.", - "$ref": "#/definitions/Microsoft.OnCancelDialog" - }, - { - "title": "Microsoft.OnChooseEntity", - "description": "Actions to be performed when an entity value needs to be resolved.", - "$ref": "#/definitions/Microsoft.OnChooseEntity" - }, - { - "title": "Microsoft.OnChooseIntent", - "description": "Actions to perform on when an intent is ambigious.", - "$ref": "#/definitions/Microsoft.OnChooseIntent" - }, - { - "title": "Microsoft.OnChooseProperty", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "$ref": "#/definitions/Microsoft.OnChooseProperty" - }, - { - "title": "Microsoft.OnCondition", - "description": "Actions to perform when specified condition is true.", - "$ref": "#/definitions/Microsoft.OnCondition" - }, - { - "title": "Microsoft.OnConversationUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", - "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" - }, - { - "title": "Microsoft.OnCustomEvent", - "description": "Actions to perform when a custom event is detected. Use 'Emit a custom event' action to raise a custom event.", - "$ref": "#/definitions/Microsoft.OnCustomEvent" - }, - { - "title": "Microsoft.OnDialogEvent", - "description": "Actions to perform when a specific dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnDialogEvent" - }, - { - "title": "Microsoft.OnEndOfActions", - "description": "Actions to take when there are no more actions in the current dialog.", - "$ref": "#/definitions/Microsoft.OnEndOfActions" - }, - { - "title": "Microsoft.OnEndOfConversationActivity", - "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", - "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" - }, - { - "title": "Microsoft.OnError", - "description": "Action to perform when an 'Error' dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnError" - }, - { - "title": "Microsoft.OnEventActivity", - "description": "Actions to perform on receipt of an activity with type 'Event'.", - "$ref": "#/definitions/Microsoft.OnEventActivity" - }, - { - "title": "Microsoft.OnHandoffActivity", - "description": "Actions to perform on receipt of an activity with type 'HandOff'.", - "$ref": "#/definitions/Microsoft.OnHandoffActivity" - }, - { - "title": "Microsoft.OnIntent", - "description": "Actions to perform when specified intent is recognized.", - "$ref": "#/definitions/Microsoft.OnIntent" - }, - { - "title": "Microsoft.OnInvokeActivity", - "description": "Actions to perform on receipt of an activity with type 'Invoke'.", - "$ref": "#/definitions/Microsoft.OnInvokeActivity" - }, - { - "title": "Microsoft.OnMessageActivity", - "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", - "$ref": "#/definitions/Microsoft.OnMessageActivity" - }, - { - "title": "Microsoft.OnMessageDeleteActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", - "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" - }, - { - "title": "Microsoft.OnMessageReactionActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", - "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" - }, - { - "title": "Microsoft.OnMessageUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", - "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" - }, - { - "title": "Microsoft.OnQnAMatch", - "description": "Actions to perform on when an match from QnAMaker is found.", - "$ref": "#/definitions/Microsoft.OnQnAMatch" - }, - { - "title": "Microsoft.OnRepromptDialog", - "description": "Actions to perform when 'RepromptDialog' event occurs.", - "$ref": "#/definitions/Microsoft.OnRepromptDialog" - }, - { - "title": "Microsoft.OnTypingActivity", - "description": "Actions to perform on receipt of an activity with type 'Typing'.", - "$ref": "#/definitions/Microsoft.OnTypingActivity" - }, - { - "title": "Microsoft.OnUnknownIntent", - "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", - "$ref": "#/definitions/Microsoft.OnUnknownIntent" - }, - { - "type": "string", - "title": "Reference to Microsoft.ITrigger", - "description": "Reference to Microsoft.ITrigger .dialog file." - } - ] - }, - "Microsoft.ITriggerSelector": { - "$role": "interface", - "title": "Selectors", - "description": "Components which derive from TriggerSelector class.", - "oneOf": [ - { - "title": "Microsoft.ConditionalSelector", - "description": "Use a rule selector based on a condition", - "$ref": "#/definitions/Microsoft.ConditionalSelector" - }, - { - "title": "Microsoft.FirstSelector", - "description": "Selector for first true rule", - "$ref": "#/definitions/Microsoft.FirstSelector" - }, - { - "title": "Microsoft.MostSpecificSelector", - "description": "Select most specific true events with optional additional selector", - "$ref": "#/definitions/Microsoft.MostSpecificSelector" - }, - { - "title": "Microsoft.RandomSelector", - "description": "Select most specific true rule", - "$ref": "#/definitions/Microsoft.RandomSelector" - }, - { - "title": "Microsoft.TrueSelector", - "description": "Selector for all true events", - "$ref": "#/definitions/Microsoft.TrueSelector" - }, - { - "type": "string", - "title": "Reference to Microsoft.ITriggerSelector", - "description": "Reference to Microsoft.ITriggerSelector .dialog file." - } - ] - }, - "Microsoft.IfCondition": { - "$role": "implements(Microsoft.IDialog)", - "title": "If condition", - "description": "Two-way branch the conversation flow based on a condition.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.IfCondition" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "condition": { - "title": "Condition", - "description": "Expression to evaluate.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute if condition is true.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "elseActions": { - "type": "array", - "title": "Else", - "description": "Actions to execute if condition is false.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "condition", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.IpEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Ip Entity Recognizer", - "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.IpEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.LanguagePolicy": { - "title": "Language Policy", - "description": "This represents a policy map for locales lookups to use for language", - "type": "object", - "additionalProperties": false, - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.LanguagePolicy" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.LogAction": { - "$role": "implements(Microsoft.IDialog)", - "title": "Log to console", - "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.LogAction" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "text": { - "title": "Text", - "description": "Information to log.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "label": { - "title": "Label", - "description": "Label for the trace activity (used to identify it in a list of trace activities.)", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "traceActivity": { - "title": "Send Trace Activity", - "description": "If true, automatically sends a TraceActivity (view in Bot Framework Emulator).", - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "text", - "$kind" - ] - } - ] - }, - "Microsoft.LuisRecognizer": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "LUIS Recognizer", - "description": "LUIS recognizer.", - "type": "object", - "additionalProperties": false, - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.LuisRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "applicationId": { - "title": "LUIS Application ID", - "description": "Application ID for your model from the LUIS service.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "endpoint": { - "title": "LUIS Endpoint", - "description": "Endpoint to use for LUIS service like https://westus.api.cognitive.microsoft.com.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "endpointKey": { - "title": "LUIS prediction key", - "description": "LUIS prediction key used to call endpoint.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "externalEntityRecognizer": { - "$kind": "Microsoft.IRecognizer", - "title": "External Entity Recognizer", - "description": "Entities recognized by this recognizer will be passed to LUIS as external entities.", - "$ref": "#/definitions/Microsoft.IRecognizer" - }, - "dynamicLists": { - "title": "Dynamic lists", - "description": "Runtime defined entity lists.", - "$role": "expression", - "oneOf": [ - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "items": { - "title": "Entity list", - "description": "Lists of canonical values and synonyms for an entity.", - "type": "object", - "properties": { - "entity": { - "title": "Entity", - "description": "Entity to extend with a dynamic list.", - "type": "string" - }, - "list": { - "title": "Dynamic list", - "description": "List of canonical forms and synonyms.", - "type": "array", - "items": { - "type": "object", - "properties": { - "canonicalForm": { - "title": "Canonical form", - "description": "Resolution if any synonym matches.", - "type": "string" - }, - "synonyms": { - "title": "Synonyms", - "description": "List of synonyms for a canonical form.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } - }, - "predictionOptions": { - "type": "object", - "properties": { - "includeAllIntents": { - "type": "boolean", - "title": "Include all intents", - "description": "True for all intents, false for only top intent." - }, - "includeInstanceData": { - "type": "boolean", - "title": "Include $instance", - "description": "True to include $instance metadata in the LUIS response." - }, - "log": { - "type": "boolean", - "title": "Log utterances", - "description": "True to log utterances on LUIS service." - }, - "preferExternalEntities": { - "type": "boolean", - "title": "Prefer External Entities", - "description": "True to prefer external entities to those generated by LUIS models." - }, - "slot": { - "type": "string", - "title": "Slot", - "description": "Slot to use for talking to LUIS service like production or staging." - }, - "version": { - "type": "string", - "title": "Version", - "description": "LUIS application version to use." - } - } - } - }, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "applicationId", - "endpoint", - "endpointKey", - "$kind" - ] - } - ] - }, - "Microsoft.MentionEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Mentions Entity Recognizer", - "description": "Recognizer which recognizes @Mentions", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.MentionEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.MostSpecificSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "Most Specific Trigger Selector", - "description": "Select most specific true events with optional additional selector", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.MostSpecificSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "selector": { - "$kind": "Microsoft.ITriggerSelector", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.MultiLanguageRecognizer": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Multi-language recognizer", - "description": "Configure one recognizer per language and the specify the language fallback policy.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.MultiLanguageRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "languagePolicy": { - "$kind": "Microsoft.LanguagePolicy", - "type": "object", - "title": "Language policy", - "description": "Defines fall back languages to try per user input language.", - "$ref": "#/definitions/Microsoft.LanguagePolicy" - }, - "recognizers": { - "type": "object", - "title": "Recognizers", - "description": "Map of language -> Recognizer", - "additionalProperties": { - "$kind": "Microsoft.IRecognizer", - "$ref": "#/definitions/Microsoft.IRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "recognizers", - "$kind" - ] - } - ] - }, - "Microsoft.NumberEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Number Entity Recognizer", - "description": "Recognizer which recognizes numbers.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.NumberEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.NumberInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Number input dialog", - "description": "Collect information - Ask for a number.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.NumberInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", - "examples": [ - 13, - "=user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "number", - "title": "Number", - "default": 0, - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=dialog.quantity" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "'Property' will be set to the value of this expression unless it evaluates to null.", - "examples": [ - 13, - "=user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "number", - "title": "Number", - "default": 0, - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=dialog.quantity" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Expression to format the number output.", - "examples": [ - "=this.value", - "=int(this.text)" - ], - "type": "string", - "pattern": "^.*\\S.*" - }, - "defaultLocale": { - "title": "Default locale", - "description": "Default locale to use if there is no locale available..", - "default": "en-us", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.NumberRangeEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "NumberRange Entity Recognizer", - "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.NumberRangeEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.OAuthInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "OAuthInput Dialog", - "description": "Collect login information.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OAuthInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "connectionName": { - "title": "Connection name", - "description": "The connection name configured in Azure Web App Bot OAuth settings.", - "examples": [ - "msgraphOAuthConnection" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "text": { - "title": "Text", - "description": "Text shown in the OAuth signin card.", - "examples": [ - "Please sign in. ", - "=concat(x,y,z)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "title": { - "title": "Title", - "description": "Title shown in the OAuth signin card.", - "examples": [ - "Login" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "timeout": { - "title": "Timeout", - "description": "Time out setting for the OAuth signin card.", - "default": 900000, - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "title": "Token property", - "description": "Property to store the OAuth token result.", - "examples": [ - "dialog.token" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send if user response is invalid.", - "examples": [ - "Sorry, the login info you provided is not valid." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Login failed." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3 - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "Expression to examine on each turn of the conversation as possible value to the property.", - "examples": [ - "@token" - ], - "type": "string", - "pattern": "^.*\\S.*" - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "connectionName", - "$kind" - ] - } - ] - }, - "Microsoft.OnActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On activity", - "description": "Actions to perform on receipt of a generic activity.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "type": { - "type": "string", - "title": "Activity type", - "description": "The Activity.Type to match" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "type", - "$kind" - ] - } - ] - }, - "Microsoft.OnAssignEntity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On entity assignment", - "description": "Actions to take when an entity should be assigned to a property.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnAssignEntity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "type": "string", - "title": "Property", - "description": "Property that will be set after entity is selected." - }, - "entity": { - "type": "string", - "title": "Entity", - "description": "Entity being put into property" - }, - "operation": { - "type": "string", - "title": "Operation to use for assigning entity" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnBeginDialog": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On begin dialog", - "description": "Actions to perform when this dialog begins.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnBeginDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnCancelDialog": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On cancel dialog", - "description": "Actions to perform on cancel dialog event.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnCancelDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnChooseEntity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On choose entity", - "description": "Actions to be performed when an entity value needs to be resolved.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnChooseEntity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "type": "string", - "title": "Property to be set", - "description": "Property that will be set after entity is selected." - }, - "entity": { - "type": "string", - "title": "Ambiguous entity", - "description": "Ambiguous entity" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnChooseIntent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On ambigious intent", - "description": "Actions to perform on when an intent is ambigious.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnChooseIntent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "intents": { - "type": "array", - "title": "Intents", - "description": "Intents that must be in the ChooseIntent result for this condition to trigger.", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnChooseProperty": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On choose property", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnChooseProperty" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "entity": { - "type": "string", - "title": "Entity being assigned", - "description": "Entity being assigned to property choice" - }, - "properties": { - "type": "array", - "title": "Possible properties", - "description": "Properties to be chosen between", - "items": { - "type": "string", - "title": "Property name" - } - }, - "entities": { - "type": "array", - "title": "Possible properties", - "description": "Entities being assigned", - "items": { - "type": "string", - "title": "Entity name" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnCondition": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On condition", - "description": "Actions to perform when specified condition is true.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnCondition" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnConversationUpdateActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On ConversationUpdate activity", - "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnConversationUpdateActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnCustomEvent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On custom event", - "description": "Actions to perform when a custom event is detected. Use 'Emit a custom event' action to raise a custom event.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnCustomEvent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "event": { - "type": "string", - "title": "Custom event name", - "description": "Name of the custom event." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "event", - "$kind" - ] - } - ] - }, - "Microsoft.OnDialogEvent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On dialog event", - "description": "Actions to perform when a specific dialog event occurs.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnDialogEvent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "event": { - "type": "string", - "title": "Dialog event name", - "description": "Name of dialog event." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "event", - "$kind" - ] - } - ] - }, - "Microsoft.OnEndOfActions": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On end of actions", - "description": "Actions to take when there are no more actions in the current dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnEndOfActions" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnEndOfConversationActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On EndOfConversation activity", - "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnEndOfConversationActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnError": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Error", - "description": "Action to perform when an 'Error' dialog event occurs.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnError" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnEventActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Event activity", - "description": "Actions to perform on receipt of an activity with type 'Event'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnEventActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnHandoffActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Handoff activity", - "description": "Actions to perform on receipt of an activity with type 'HandOff'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnHandoffActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnIntent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On intent recognition", - "description": "Actions to perform when specified intent is recognized.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnIntent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "intent": { - "type": "string", - "title": "Intent", - "description": "Name of intent." - }, - "entities": { - "type": "array", - "title": "Entities", - "description": "Required entities.", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnInvokeActivity": { - "l \"$schema\"": "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/schemas/component/component.schema", - "$role": "implements(Microsoft.ITrigger)", - "title": "On Invoke activity", - "description": "Actions to perform on receipt of an activity with type 'Invoke'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnInvokeActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Message activity", - "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageDeleteActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On MessageDelete activity", - "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageDeleteActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageReactionActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On MessageReaction activity", - "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageReactionActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageUpdateActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On MessageUpdate activity", - "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageUpdateActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnQnAMatch": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On QnAMaker Match", - "description": "Actions to perform on when an match from QnAMaker is found.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnQnAMatch" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnRepromptDialog": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On RepromptDialog", - "description": "Actions to perform when 'RepromptDialog' event occurs.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnRepromptDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnTypingActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Typing activity", - "description": "Actions to perform on receipt of an activity with type 'Typing'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnTypingActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnUnknownIntent": { - "title": "On unknown intent", - "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", - "type": "object", - "$role": "implements(Microsoft.ITrigger)", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnUnknownIntent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OrdinalEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Ordinal Entity Recognizer", - "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OrdinalEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.PercentageEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Percentage Entity Recognizer", - "description": "Recognizer which recognizes percentages.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.PercentageEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.PhoneNumberEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Phone Number Entity Recognizer", - "description": "Recognizer which recognizes phone numbers.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.PhoneNumberEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.RandomSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "Random rule selector", - "description": "Select most specific true rule", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RandomSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "seed": { - "type": "integer" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.RecognizerSet": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Recognizer Set", - "description": "Creates the union of the intents and entities of the recognizers in the set.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RecognizerSet" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "recognizers": { - "type": "array", - "title": "Recognizers", - "description": "List of Recognizers defined for this set.", - "items": { - "$kind": "Microsoft.IRecognizer", - "$ref": "#/definitions/Microsoft.IRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "recognizers", - "$kind" - ] - } - ] - }, - "Microsoft.RegexEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Regex Entity Recognizer", - "description": "Recognizer which recognizes patterns of input based on regex.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RegexEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "name": { - "type": "string", - "title": "Name", - "description": "Name of the entity" - }, - "pattern": { - "type": "string", - "title": "Pattern", - "description": "Pattern expressed as regular expression." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "name", - "pattern", - "$kind" - ] - } - ] - }, - "Microsoft.RegexRecognizer": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Regex recognizer", - "description": "Use regular expressions to recognize intents and entities from user input.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RegexRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "intents": { - "type": "array", - "title": "RegEx patterns to intents", - "description": "Collection of patterns to match for an intent.", - "items": { - "type": "object", - "properties": { - "intent": { - "type": "string", - "title": "Intent", - "description": "The intent name." - }, - "pattern": { - "type": "string", - "title": "Pattern", - "description": "The regular expression pattern." - } - } - } - }, - "entities": { - "type": "array", - "title": "Entity recognizers", - "description": "Collection of entity recognizers to use.", - "items": { - "$kind": "Microsoft.IEntityRecognizer", - "$ref": "#/definitions/Microsoft.IEntityRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.RepeatDialog": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "Repeat dialog", - "description": "Repeat current dialog.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RepeatDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "options": { - "title": "Options", - "description": "One or more options that are passed to the dialog that is called.", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "additionalProperties": { - "type": "string", - "title": "Options" - } - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the dialog that is called can process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ReplaceDialog": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "Replace dialog", - "description": "Replace current dialog with another dialog.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ReplaceDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "dialog": { - "oneOf": [ - { - "$kind": "Microsoft.IDialog", - "pattern": "^(?!(=)).*", - "title": "Dialog", - "$ref": "#/definitions/Microsoft.IDialog" - }, - { - "examples": [ - "=settings.dialogId" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "title": "Dialog name", - "description": "Name of the dialog to call." - }, - "options": { - "title": "Options", - "description": "One or more options that are passed to the dialog that is called.", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "additionalProperties": { - "type": "string", - "title": "Options" - } - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the dialog that is called can process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ResourceMultiLanguageGenerator": { - "$role": "implements(Microsoft.ILanguageGenerator)", - "title": "Resource Multi-Language Generator", - "description": "MultiLanguage Generator which is bound to resource by resource Id.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ResourceMultiLanguageGenerator" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional generator ID." - }, - "resourceId": { - "type": "string", - "title": "Resource Id", - "description": "Resource which is the root language generator. Other generaters with the same name and language suffix will be loaded into this generator and used based on the Language Policy.", - "default": "dialog.result" - }, - "languagePolicy": { - "type": "object", - "title": "Language Policy", - "description": "Set alternate language policy for this generator. If not set, the global language policy will be used." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.SendActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send an activity", - "description": "Respond with an activity.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SendActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "Activity to send.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.SetProperties": { - "$role": "implements(Microsoft.IDialog)", - "title": "Set property", - "description": "Set one or more property values.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SetProperties" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "assignments": { - "type": "array", - "title": "Assignments", - "description": "Property value assignments to set.", - "items": { - "type": "object", - "properties": { - "property": { - "title": "Property", - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "New value or expression.", - "examples": [ - "='milk'", - "=dialog.favColor", - "=dialog.favColor == 'red'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - } - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "assignments", - "$kind" - ] - } - ] - }, - "Microsoft.SetProperty": { - "$role": "implements(Microsoft.IDialog)", - "title": "Set property", - "description": "Set property to a value.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SetProperty" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "New value or expression.", - "examples": [ - "='milk'", - "=dialog.favColor", - "=dialog.favColor == 'red'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "property", - "value", - "$kind" - ] - } - ] - }, - "Microsoft.SignOutUser": { - "$role": "implements(Microsoft.IDialog)", - "title": "Sign Out User", - "description": "Sign a user out that was logged in previously using OAuthInput.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SignOutUser" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "userId": { - "title": "ActivityId", - "description": "expression to an activityId to get the members. If none is defined then the current activity id will be used.", - "examples": [ - "=$lastActivity" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "connectionName": { - "title": "Connection Name", - "description": "Connection name that was used with OAuthInput to log a user in.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.SkillDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Begin a skill dialog", - "description": "Begin a remote skill dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SkillDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the skill dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the skill will be started using the activity in the current turn context instead of the activity in the Activity property.", - "default": true, - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "resultProperty": { - "title": "Property", - "description": "Property to store any value returned by the dialog that is called.", - "examples": [ - "dialog.userName" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "botId": { - "title": "Skill host bot ID", - "description": "The Microsoft App ID that will be calling the skill.", - "default": "=settings.MicrosoftAppId", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "skillHostEndpoint": { - "title": "Skill host", - "description": "The callback Url for the skill host.", - "default": "=settings.skillHostEndpoint", - "examples": [ - "https://mybot.contoso.com/api/skills/" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "skillAppId": { - "title": "Skill App ID", - "description": "The Microsoft App ID for the skill.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "skillEndpoint": { - "title": "Skill endpoint ", - "description": "The /api/messages endpoint for the skill.", - "examples": [ - "https://myskill.contoso.com/api/messages/" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "The activity to send to the skill.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.StaticActivityTemplate": { - "$role": "implements(Microsoft.IActivityTemplate)", - "title": "Microsoft Static Activity Template", - "description": "This allows you to define a static Activity object", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.StaticActivityTemplate" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "activity": { - "title": "Activity", - "Description": "A static Activity to used", - "required": [ - "type" - ], - "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", - "type": "object", - "properties": { - "type": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - }, - "id": { - "description": "Contains an ID that uniquely identifies the activity on the channel.", - "type": "string", - "title": "id" - }, - "timestamp": { - "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", - "type": "string", - "format": "date-time", - "title": "timestamp" - }, - "localTimestamp": { - "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", - "type": "string", - "format": "date-time", - "title": "localTimestamp" - }, - "localTimezone": { - "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", - "type": "string", - "title": "localTimezone" - }, - "serviceUrl": { - "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", - "type": "string", - "title": "serviceUrl" - }, - "channelId": { - "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", - "type": "string", - "title": "channelId" - }, - "from": { - "description": "Identifies the sender of the message.", - "title": "from", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Identifies the conversation to which the activity belongs.", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "recipient": { - "description": "Identifies the recipient of the message.", - "title": "recipient", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "textFormat": { - "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", - "type": "string", - "title": "textFormat" - }, - "attachmentLayout": { - "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", - "type": "string", - "title": "attachmentLayout" - }, - "membersAdded": { - "description": "The collection of members added to the conversation.", - "type": "array", - "title": "membersAdded", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "membersRemoved": { - "description": "The collection of members removed from the conversation.", - "type": "array", - "title": "membersRemoved", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "reactionsAdded": { - "description": "The collection of reactions added to the conversation.", - "type": "array", - "title": "reactionsAdded", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "reactionsRemoved": { - "description": "The collection of reactions removed from the conversation.", - "type": "array", - "title": "reactionsRemoved", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "topicName": { - "description": "The updated topic name of the conversation.", - "type": "string", - "title": "topicName" - }, - "historyDisclosed": { - "description": "Indicates whether the prior history of the channel is disclosed.", - "type": "boolean", - "title": "historyDisclosed" - }, - "locale": { - "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", - "type": "string", - "title": "locale" - }, - "text": { - "description": "The text content of the message.", - "type": "string", - "title": "text" - }, - "speak": { - "description": "The text to speak.", - "type": "string", - "title": "speak" - }, - "inputHint": { - "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", - "type": "string", - "title": "inputHint" - }, - "summary": { - "description": "The text to display if the channel cannot render cards.", - "type": "string", - "title": "summary" - }, - "suggestedActions": { - "description": "The suggested actions for the activity.", - "title": "suggestedActions", - "type": "object", - "required": [ - "actions", - "to" - ], - "properties": { - "to": { - "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", - "type": "array", - "title": "to", - "items": { - "type": "string" - } - }, - "actions": { - "description": "Actions that can be shown to the user", - "type": "array", - "title": "actions", - "items": { - "description": "A clickable action", - "title": "CardAction", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - } - } - } - }, - "attachments": { - "description": "Attachments", - "type": "array", - "title": "attachments", - "items": { - "description": "An attachment within an activity", - "title": "Attachment", - "type": "object", - "required": [ - "contentType" - ], - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - } - } - }, - "entities": { - "description": "Represents the entities that were mentioned in the message.", - "type": "array", - "title": "entities", - "items": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - }, - "channelData": { - "description": "Contains channel-specific content.", - "title": "channelData" - }, - "action": { - "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", - "type": "string", - "title": "action" - }, - "replyToId": { - "description": "Contains the ID of the message to which this message is a reply.", - "type": "string", - "title": "replyToId" - }, - "label": { - "description": "A descriptive label for the activity.", - "type": "string", - "title": "label" - }, - "valueType": { - "description": "The type of the activity's value object.", - "type": "string", - "title": "valueType" - }, - "value": { - "description": "A value that is associated with the activity.", - "title": "value" - }, - "name": { - "description": "The name of the operation associated with an invoke or event activity.", - "type": "string", - "title": "name" - }, - "relatesTo": { - "description": "A reference to another conversation or activity.", - "title": "relatesTo", - "type": "object", - "required": [ - "bot", - "channelId", - "conversation", - "serviceUrl" - ], - "properties": { - "activityId": { - "description": "(Optional) ID of the activity to refer to", - "type": "string", - "title": "activityId" - }, - "user": { - "description": "(Optional) User participating in this conversation", - "title": "user", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "bot": { - "description": "Bot participating in this conversation", - "title": "bot", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Conversation reference", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "channelId": { - "description": "Channel ID", - "type": "string", - "title": "channelId" - }, - "serviceUrl": { - "description": "Service endpoint where operations concerning the referenced conversation may be performed", - "type": "string", - "title": "serviceUrl" - } - } - }, - "code": { - "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", - "type": "string", - "title": "code" - }, - "expiration": { - "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", - "type": "string", - "format": "date-time", - "title": "expiration" - }, - "importance": { - "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", - "type": "string", - "title": "importance" - }, - "deliveryMode": { - "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", - "type": "string", - "title": "deliveryMode" - }, - "listenFor": { - "description": "List of phrases and references that speech and language priming systems should listen for", - "type": "array", - "title": "listenFor", - "items": { - "type": "string" - } - }, - "textHighlights": { - "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", - "type": "array", - "title": "textHighlights", - "items": { - "description": "Refers to a substring of content within another field", - "title": "TextHighlight", - "type": "object", - "required": [ - "occurrence", - "text" - ], - "properties": { - "text": { - "description": "Defines the snippet of text to highlight", - "type": "string", - "title": "text" - }, - "occurrence": { - "description": "Occurrence of the text field within the referenced text, if multiple exist.", - "type": "number", - "title": "occurrence" - } - } - } - }, - "semanticAction": { - "description": "An optional programmatic action accompanying this request", - "title": "semanticAction", - "type": "object", - "required": [ - "entities", - "id" - ], - "properties": { - "id": { - "description": "ID of this action", - "type": "string", - "title": "id" - }, - "entities": { - "description": "Entities associated with this action", - "type": "object", - "title": "entities", - "additionalProperties": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - } - } - } - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "activity", - "$kind" - ] - } - ] - }, - "Microsoft.SwitchCondition": { - "$role": "implements(Microsoft.IDialog)", - "title": "Switch condition", - "description": "Execute different actions based on the value of a property.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SwitchCondition" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "condition": { - "title": "Condition", - "description": "Property to evaluate.", - "examples": [ - "user.favColor" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "cases": { - "type": "array", - "title": "Cases", - "desc": "Actions for each possible condition.", - "items": { - "type": "object", - "required": [ - "value", - "actions" - ], - "properties": { - "value": { - "type": [ - "number", - "integer", - "boolean", - "string" - ], - "title": "Value", - "description": "The value to compare the condition with.", - "examples": [ - "red", - "true", - "13" - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - } - } - }, - "default": { - "type": "array", - "title": "Default", - "description": "Actions to execute if none of the cases meet the condition.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "condition", - "$kind" - ] - } - ] - }, - "Microsoft.TemperatureEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Temperature Recognizer", - "description": "Recognizer which recognizes temperatures.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TemperatureEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TemplateEngineLanguageGenerator": { - "$role": "implements(Microsoft.ILanguageGenerator)", - "title": "Template Multi-Language Generator", - "description": "Template Generator which allows only inline evaluation of templates.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TemplateEngineLanguageGenerator" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional generator ID." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TextInput": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "Text input dialog", - "description": "Collection information - Ask for a word or sentence.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TextInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", - "examples": [ - "hello world", - "Hello ${user.name}", - "=concat(user.firstname, user.lastName)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "'Property' will be set to the value of this expression unless it evaluates to null.", - "examples": [ - "hello world", - "Hello ${user.name}", - "=concat(user.firstname, user.lastName)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Expression to format the output.", - "examples": [ - "=toUpper(this.value)", - "${toUpper(this.value)}" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TextTemplate": { - "$role": "implements(Microsoft.ITextTemplate)", - "title": "Microsoft TextTemplate", - "description": "Use LG Templates to create text", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TextTemplate" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "template": { - "title": "Template", - "Description": "Language Generator template to evaluate to create the text", - "type": "string" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "template", - "$kind" - ] - } - ] - }, - "Microsoft.TraceActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send a TraceActivity", - "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TraceActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "name": { - "title": "Name", - "description": "Name of the trace activity", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "label": { - "title": "Label", - "description": "Label for the trace activity (used to identify it in a list of trace activities.)", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "valueType": { - "title": "Value type", - "description": "Type of value", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "Property that holds the value to send as trace activity.", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TrueSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "True Trigger Selector", - "description": "Selector for all true events", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TrueSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.UpdateActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send an activity", - "description": "Respond with an activity.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.UpdateActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityId": { - "title": "Activity Id", - "dDescription": "An string expression with the activity id to update.", - "examples": [ - "=dialog.lastActivityId" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "Activity to send.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.UrlEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Confirmation Url Recognizer", - "description": "Recognizer which recognizes urls.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.UrlEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - } - } + "$schema": "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/schemas/component/component.schema", + "type": "object", + "title": "Component kinds", + "description": "These are all of the kinds that can be created by the loader.", + "oneOf": [ + { + "$ref": "#/definitions/Microsoft.ActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog" + }, + { + "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.Ask" + }, + { + "$ref": "#/definitions/Microsoft.AttachmentInput" + }, + { + "$ref": "#/definitions/Microsoft.BeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.BreakLoop" + }, + { + "$ref": "#/definitions/Microsoft.CancelAllDialogs" + }, + { + "$ref": "#/definitions/Microsoft.CancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.ChoiceInput" + }, + { + "$ref": "#/definitions/Microsoft.ConditionalSelector" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmInput" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.ContinueLoop" + }, + { + "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeInput" + }, + { + "$ref": "#/definitions/Microsoft.DebugBreak" + }, + { + "$ref": "#/definitions/Microsoft.DeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperties" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperty" + }, + { + "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.EditActions" + }, + { + "$ref": "#/definitions/Microsoft.EditArray" + }, + { + "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.EmitEvent" + }, + { + "$ref": "#/definitions/Microsoft.EndDialog" + }, + { + "$ref": "#/definitions/Microsoft.EndTurn" + }, + { + "$ref": "#/definitions/Microsoft.FirstSelector" + }, + { + "$ref": "#/definitions/Microsoft.Foreach" + }, + { + "$ref": "#/definitions/Microsoft.ForeachPage" + }, + { + "$ref": "#/definitions/Microsoft.GetActivityMembers" + }, + { + "$ref": "#/definitions/Microsoft.GetConversationMembers" + }, + { + "$ref": "#/definitions/Microsoft.GotoAction" + }, + { + "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.HttpRequest" + }, + { + "$ref": "#/definitions/Microsoft.IfCondition" + }, + { + "$ref": "#/definitions/Microsoft.IpEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.LogAction" + }, + { + "$ref": "#/definitions/Microsoft.LuisRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.MostSpecificSelector" + }, + { + "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberInput" + }, + { + "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.OAuthInput" + }, + { + "$ref": "#/definitions/Microsoft.OnActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnAssignEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnBeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnCancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseProperty" + }, + { + "$ref": "#/definitions/Microsoft.OnCondition" + }, + { + "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnDialogEvent" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfActions" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnError" + }, + { + "$ref": "#/definitions/Microsoft.OnEventActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnHandoffActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnInvokeActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnQnAMatch" + }, + { + "$ref": "#/definitions/Microsoft.OnRepromptDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnTypingActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnUnknownIntent" + }, + { + "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerDialog" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RandomSelector" + }, + { + "$ref": "#/definitions/Microsoft.RecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RegexRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RepeatDialog" + }, + { + "$ref": "#/definitions/Microsoft.ReplaceDialog" + }, + { + "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" + }, + { + "$ref": "#/definitions/Microsoft.SendActivity" + }, + { + "$ref": "#/definitions/Microsoft.SetProperties" + }, + { + "$ref": "#/definitions/Microsoft.SetProperty" + }, + { + "$ref": "#/definitions/Microsoft.SignOutUser" + }, + { + "$ref": "#/definitions/Microsoft.SkillDialog" + }, + { + "$ref": "#/definitions/Microsoft.StaticActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.SwitchCondition" + }, + { + "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" + }, + { + "$ref": "#/definitions/Microsoft.TextInput" + }, + { + "$ref": "#/definitions/Microsoft.TextTemplate" + }, + { + "$ref": "#/definitions/Microsoft.TraceActivity" + }, + { + "$ref": "#/definitions/Microsoft.TrueSelector" + }, + { + "$ref": "#/definitions/Microsoft.UpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" + } + ], + "definitions": { + "Microsoft.ActivityTemplate": { + "$role": "implements(Microsoft.IActivityTemplate)", + "title": "Microsoft ActivityTemplate", + "type": "object", + "required": [ + "template", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "template": { + "title": "Template", + "description": "Language Generator template to use to create the activity", + "type": "string" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ActivityTemplate" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.AdaptiveDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Adaptive Dialog", + "description": "Flexible, data driven dialog that can adapt to the conversation.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional dialog ID." + }, + "autoEndDialog": { + "type": "boolean", + "title": "Auto end dialog", + "description": "If set to true the dialog will automatically end when there are no further actions. If set to false, remember to manually end the dialog using EndDialog action.", + "default": true + }, + "defaultResultProperty": { + "type": "string", + "title": "Default result property", + "description": "Value that will be passed back to the parent dialog.", + "default": "dialog.result" + }, + "recognizer": { + "$kind": "Microsoft.IRecognizer", + "title": "Recognizer", + "description": "Input recognizer that interprets user input into intent and entities.", + "$ref": "#/definitions/Microsoft.IRecognizer" + }, + "generator": { + "$kind": "Microsoft.ILanguageGenerator", + "title": "Language Generator", + "description": "Language generator that generates bot responses.", + "$ref": "#/definitions/Microsoft.ILanguageGenerator" + }, + "selector": { + "$kind": "Microsoft.ITriggerSelector", + "title": "Selector", + "description": "Policy to determine which trigger is executed. Defaults to a 'best match' selector (optional).", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "triggers": { + "type": "array", + "description": "List of triggers defined for this dialog.", + "title": "Triggers", + "items": { + "$kind": "Microsoft.ITrigger", + "title": "Event triggers", + "description": "Event triggers for handling events.", + "$ref": "#/definitions/Microsoft.ITrigger" + } + }, + "schema": { + "title": "Schema", + "description": "Schema to fill in.", + "anyOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "nonNegativeInteger": { + "type": "integer", + "minimum": 0 + }, + "nonNegativeIntegerDefault0": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "simpleTypes": { + "enum": [ + "array", + "boolean", + "integer", + "null", + "number", + "object", + "string" + ] + }, + "stringArray": { + "type": "array", + "uniqueItems": true, + "default": [], + "items": { + "type": "string" + } + } + }, + "type": [ + "object", + "boolean" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri" + }, + "$ref": { + "type": "string", + "format": "uri-reference" + }, + "$comment": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": true, + "readOnly": { + "type": "boolean", + "default": false + }, + "writeOnly": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": true + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": 0 + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "number" + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "number" + }, + "maxLength": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" + }, + "minLength": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" + }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + } + ], + "default": true + }, + "maxItems": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" + }, + "minItems": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" + }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "contains": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "maxProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" + }, + "minProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" + }, + "required": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/stringArray" + }, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "definitions": { + "type": "object", + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "properties": { + "type": "object", + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "patternProperties": { + "type": "object", + "propertyNames": { + "format": "regex" + }, + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/stringArray" + } + ] + } + }, + "propertyNames": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "const": true, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": true + }, + "type": { + "anyOf": [ + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/simpleTypes" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/simpleTypes" + }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "format": { + "type": "string" + }, + "contentMediaType": { + "type": "string" + }, + "contentEncoding": { + "type": "string" + }, + "if": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "then": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "else": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "allOf": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + }, + "anyOf": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + }, + "oneOf": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + }, + "not": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "default": true + }, + { + "type": "string", + "title": "Reference to JSON schema", + "description": "Reference to JSON schema .dialog file." + } + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.AdaptiveDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.AgeEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Age Entity Recognizer", + "description": "Recognizer which recognizes age.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.AgeEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.Ask": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.SendActivity)" + ], + "title": "Send Activity to Ask a question", + "description": "This is an action which sends an activity to the user when a response is expected", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "expectedProperties": { + "$ref": "#/definitions/arrayExpression", + "title": "Expected Properties", + "description": "Properties expected from the user.", + "type": "array", + "examples": [ + [ + "age", + "name" + ] + ], + "items": { + "type": "string", + "title": "Name", + "description": "Name of the property" + } + }, + "defaultOperation": { + "$ref": "#/definitions/stringExpression", + "title": "Default Operation", + "description": "Sets the default operation that will be used when no operation is recognized in the response to this Ask.", + "examples": [ + "add" + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/stringExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "Activity to send.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.Ask" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.AttachmentInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Attachment input dialog", + "description": "Collect information - Ask for a file or image.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$role": "expression", + "title": "Default value", + "description": "'Property' will be set to the object or the result of this expression when max turn count is exceeded.", + "oneOf": [ + { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/attachments/items", + "title": "Object" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "value": { + "$role": "expression", + "title": "Value", + "description": "'Property' will be set to the object or the result of this expression unless it evaluates to null.", + "oneOf": [ + { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/attachments/items", + "title": "Object" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "outputFormat": { + "$role": "expression", + "title": "Output format", + "description": "Attachment output format.", + "oneOf": [ + { + "type": "string", + "title": "Standard format", + "description": "Standard output formats.", + "enum": [ + "all", + "first" + ], + "default": "first" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.AttachmentInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.BeginDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Begin a dialog", + "description": "Begin another dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "dialog": { + "oneOf": [ + { + "$kind": "Microsoft.IDialog", + "pattern": "^(?!(=)).*", + "title": "Dialog", + "$ref": "#/definitions/Microsoft.IDialog" + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=settings.dialogId" + ] + } + ], + "title": "Dialog name", + "description": "Name of the dialog to call." + }, + "options": { + "$ref": "#/definitions/objectExpression", + "title": "Options", + "description": "One or more options that are passed to the dialog that is called.", + "examples": [ + { + "arg1": "=expression" + } + ], + "additionalProperties": { + "type": "string", + "title": "Options", + "description": "Options for dialog." + } + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the dialog that is called can process the current activity.", + "default": true + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store any value returned by the dialog that is called.", + "examples": [ + "dialog.userName" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.BeginDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.BreakLoop": { + "$role": "implements(Microsoft.IDialog)", + "title": "Break Loop", + "description": "Stop executing this loop", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.BreakLoop" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CancelAllDialogs": { + "$role": "implements(Microsoft.IDialog)", + "title": "Cancel all dialogs", + "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the caller dialog is told it should process the current activity.", + "default": true + }, + "eventName": { + "$ref": "#/definitions/stringExpression", + "title": "Event name", + "description": "Name of the event to emit." + }, + "eventValue": { + "$ref": "#/definitions/valueExpression", + "title": "Event value", + "description": "Value to emit with the event (optional).", + "additionalProperties": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CancelAllDialogs" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CancelDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Cancel all dialogs", + "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the caller dialog is told it should process the current activity.", + "default": true + }, + "eventName": { + "$ref": "#/definitions/stringExpression", + "title": "Event name", + "description": "Name of the event to emit." + }, + "eventValue": { + "$ref": "#/definitions/valueExpression", + "title": "Event value", + "description": "Value to emit with the event (optional).", + "additionalProperties": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CancelDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ChoiceInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Choice input dialog", + "description": "Collect information - Pick from a list of choices", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/stringExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "value": { + "$ref": "#/definitions/stringExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "outputFormat": { + "$role": "expression", + "title": "Output format", + "description": "Sets the desired choice output format (either value or index into choices).", + "oneOf": [ + { + "type": "string", + "title": "Standard", + "description": "Standard output format.", + "enum": [ + "value", + "index" + ], + "default": "value" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "choices": { + "$role": "expression", + "title": "Array of choices", + "description": "Choices to choose from.", + "oneOf": [ + { + "type": "array", + "title": "Simple choices", + "description": "Simple choices to choose from.", + "items": [ + { + "type": "string", + "title": "Simple choice", + "description": "One choice for choice input." + } + ] + }, + { + "type": "array", + "title": "Structured choices", + "description": "Choices that allow full control.", + "items": [ + { + "type": "object", + "title": "Structured choice", + "description": "Structured choice to choose from.", + "properties": { + "value": { + "type": "string", + "title": "Value", + "description": "Value to return when this choice is selected." + }, + "action": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/suggestedActions/properties/actions/items", + "title": "Action", + "description": "Card action for the choice." + }, + "synonyms": { + "type": "array", + "title": "Synonyms", + "description": "List of synonyms to recognize in addition to the value (optional).", + "items": { + "type": "string", + "title": "Synonym", + "description": "Synonym for value." + } + } + } + } + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "The default locale to use to parse confirmation choices if there is not one passed by the caller.", + "default": "en-us", + "examples": [ + "en-us" + ] + }, + "style": { + "$role": "expression", + "title": "List style", + "description": "Sets the ListStyle to control how choices are rendered.", + "oneOf": [ + { + "type": "string", + "title": "List style", + "description": "Standard list style.", + "enum": [ + "none", + "auto", + "inline", + "list", + "suggestedAction", + "heroCard" + ], + "default": "auto" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "choiceOptions": { + "title": "Choice options", + "description": "Sets the choice options used for controlling how choices are combined.", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Choice options object.", + "properties": { + "inlineSeparator": { + "type": "string", + "title": "Inline separator", + "description": "Character used to separate individual choices when there are more than 2 choices", + "default": ", " + }, + "inlineOr": { + "type": "string", + "title": "Inline or", + "description": "Separator inserted between the choices when there are only 2 choices", + "default": " or " + }, + "inlineOrMore": { + "type": "string", + "title": "Inline or more", + "description": "Separator inserted between the last 2 choices when their are more than 2 choices.", + "default": ", or " + }, + "includeNumbers": { + "type": "boolean", + "title": "Include numbers", + "description": "If true, 'inline' and 'list' list style will be prefixed with the index of the choice.", + "default": true + } + } + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "recognizerOptions": { + "title": "Recognizer options", + "description": "Sets how to recognize choices in the response", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Options for recognizer.", + "properties": { + "noValue": { + "type": "boolean", + "title": "No value", + "description": "If true, the choices value field will NOT be search over", + "default": false + }, + "noAction": { + "type": "boolean", + "title": "No action", + "description": "If true, the choices action.title field will NOT be searched over", + "default": false + }, + "recognizeNumbers": { + "type": "boolean", + "title": "Recognize numbers", + "description": "If true, the number recognizer will be used to recognize an index response (1,2,3...) to the prompt.", + "default": true + }, + "recognizeOrdinals": { + "type": "boolean", + "title": "Recognize ordinals", + "description": "If true, the ordinal recognizer will be used to recognize ordinal response (first/second/...) to the prompt.", + "default": true + } + } + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ChoiceInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ConditionalSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "Conditional Trigger Selector", + "description": "Use a rule selector based on a condition", + "type": "object", + "required": [ + "condition", + "ifTrue", + "ifFalse", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression to evaluate" + }, + "ifTrue": { + "$kind": "Microsoft.ITriggerSelector", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "ifFalse": { + "$kind": "Microsoft.ITriggerSelector", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ConditionalSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ConfirmInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Confirm input dialog", + "description": "Collect information - Ask for confirmation (yes or no).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "outputFormat": { + "$ref": "#/definitions/valueExpression", + "title": "Output format", + "description": "Optional expression to use to format the output.", + "examples": [ + "=concat('confirmation:', this.value)" + ] + }, + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "The Default locale or an expression which provides the default locale to use as default if not found in the activity.", + "default": "en-us", + "examples": [ + "en-us" + ] + }, + "style": { + "$role": "expression", + "title": "List style", + "description": "Sets the ListStyle to control how choices are rendered.", + "oneOf": [ + { + "type": "string", + "title": "Standard style", + "description": "Standard style for rendering choices.", + "enum": [ + "none", + "auto", + "inline", + "list", + "suggestedAction", + "heroCard" + ], + "default": "auto" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "choiceOptions": { + "title": "Choice Options", + "description": "Choice Options or expression which provides Choice Options to control display choices to the user.", + "oneOf": [ + { + "type": "object", + "title": "Choice options", + "description": "Choice options.", + "properties": { + "inlineSeparator": { + "type": "string", + "title": "Inline separator", + "description": "Text to separate individual choices when there are more than 2 choices", + "default": ", " + }, + "inlineOr": { + "type": "string", + "title": "Inline or", + "description": "Text to be inserted between the choices when their are only 2 choices", + "default": " or " + }, + "inlineOrMore": { + "type": "string", + "title": "Inline or more", + "description": "Text to be inserted between the last 2 choices when their are more than 2 choices.", + "default": ", or " + }, + "includeNumbers": { + "type": "boolean", + "title": "Include numbers", + "description": "If true, inline and list style choices will be prefixed with the index of the choice.", + "default": true + } + } + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "defaultValue": { + "$ref": "#/definitions/booleanExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "value": { + "$ref": "#/definitions/booleanExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + true, + "=user.isVip" + ] + }, + "confirmChoices": { + "$role": "expression", + "title": "Array of choice objects", + "description": "Array of simple or structured choices.", + "oneOf": [ + { + "type": "array", + "title": "Simple choices", + "description": "Simple choices to confirm from.", + "items": [ + { + "type": "string", + "title": "Simple choice", + "description": "Simple choice to confirm." + } + ] + }, + { + "type": "array", + "title": "Structured choices", + "description": "Structured choices for confirmations.", + "items": [ + { + "type": "object", + "title": "Choice", + "description": "Choice to confirm.", + "properties": { + "value": { + "type": "string", + "title": "Value", + "description": "Value to return when this choice is selected." + }, + "action": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/suggestedActions/properties/actions/items", + "title": "Action", + "description": "Card action for the choice." + }, + "synonyms": { + "type": "array", + "title": "Synonyms", + "description": "List of synonyms to recognize in addition to the value (optional).", + "items": { + "type": "string", + "title": "Synonym", + "description": "Synonym for choice." + } + } + } + } + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ConfirmInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ConfirmationEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Confirmation Entity Recognizer", + "description": "Recognizer which recognizes confirmation choices (yes/no).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ConfirmationEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ContinueLoop": { + "$role": "implements(Microsoft.IDialog)", + "title": "Continue Loop", + "description": "Stop executing this template and continue with the next iteration of the loop.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ContinueLoop" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CrossTrainedRecognizerSet": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Cross-trained Recognizer Set", + "description": "Recognizer for selecting between cross trained recognizers.", + "type": "object", + "required": [ + "recognizers", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet." + }, + "recognizers": { + "type": "array", + "title": "Recognizers", + "description": "List of Recognizers defined for this set.", + "items": { + "$kind": "Microsoft.IRecognizer", + "$ref": "#/definitions/Microsoft.IRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CrossTrainedRecognizerSet" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CurrencyEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Currency Entity Recognizer", + "description": "Recognizer which recognizes currency.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CurrencyEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DateTimeEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "DateTime Entity Recognizer", + "description": "Recognizer which recognizes dates and time fragments.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DateTimeEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DateTimeInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Date/time input dialog", + "description": "Collect information - Ask for date and/ or time", + "type": "object", + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "Default locale.", + "default": "en-us" + }, + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/stringExpression", + "format": "date-time", + "title": "Default Date", + "description": "'Property' will be set to the value or the result of the expression when max turn count is exceeded.", + "examples": [ + "=user.birthday" + ] + }, + "value": { + "$ref": "#/definitions/stringExpression", + "format": "date-time", + "title": "Value", + "description": "'Property' will be set to the value or the result of the expression unless it evaluates to null.", + "examples": [ + "=user.birthday" + ] + }, + "outputFormat": { + "$ref": "#/definitions/stringExpression", + "title": "Output format", + "description": "Expression to use for formatting the output.", + "examples": [ + "=this.value[0].Value" + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DateTimeInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DebugBreak": { + "$role": "implements(Microsoft.IDialog)", + "title": "Debugger break", + "description": "If debugger is attached, stop the execution at this point in the conversation.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DebugBreak" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DeleteActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Delete Activity", + "description": "Delete an activity that was previously sent.", + "type": "object", + "required": [ + "activityId", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "activityId": { + "$ref": "#/definitions/stringExpression", + "title": "ActivityId", + "description": "expression to an activityId to delete", + "examples": [ + "=$lastActivity" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DeleteActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DeleteProperties": { + "$role": "implements(Microsoft.IDialog)", + "title": "Delete Properties", + "description": "Delete multiple properties and any value it holds.", + "type": "object", + "required": [ + "properties", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "properties": { + "type": "array", + "title": "Properties", + "description": "Properties to delete.", + "items": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to delete." + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DeleteProperties" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DeleteProperty": { + "$role": "implements(Microsoft.IDialog)", + "title": "Delete Property", + "description": "Delete a property and any value it holds.", + "type": "object", + "required": [ + "property", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to delete." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DeleteProperty" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DimensionEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Dimension Entity Recognizer", + "description": "Recognizer which recognizes dimension.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DimensionEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EditActions": { + "$role": "implements(Microsoft.IDialog)", + "title": "Edit actions.", + "description": "Edit the current list of actions.", + "type": "object", + "required": [ + "changeType", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "changeType": { + "title": "Type of change", + "description": "Type of change to apply to the current actions.", + "oneOf": [ + { + "type": "string", + "title": "Standard change", + "description": "Standard change types.", + "enum": [ + "insertActions", + "insertActionsBeforeTags", + "appendActions", + "endSequence", + "replaceSequence" + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to apply.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EditActions" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EditArray": { + "$role": "implements(Microsoft.IDialog)", + "title": "Edit array", + "description": "Modify an array in memory", + "type": "object", + "required": [ + "itemsProperty", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "changeType": { + "title": "Type of change", + "description": "Type of change to the array in memory.", + "oneOf": [ + { + "type": "string", + "title": "Enum", + "description": "Standard change type.", + "enum": [ + "push", + "pop", + "take", + "remove", + "clear" + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "itemsProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Items property", + "description": "Property that holds the array to update." + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Result Property", + "description": "Property to store the result of this action." + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "New value or expression.", + "examples": [ + "milk", + "=dialog.favColor", + "=dialog.favColor == 'red'" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EditArray" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EmailEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Email Entity Recognizer", + "description": "Recognizer which recognizes email.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EmailEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EmitEvent": { + "$role": "implements(Microsoft.IDialog)", + "title": "Emit a custom event", + "description": "Emit an event. Capture this event with a trigger.", + "type": "object", + "required": [ + "eventName", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "eventName": { + "$role": "expression", + "title": "Event name", + "description": "Name of the event to emit.", + "oneOf": [ + { + "type": "string", + "title": "Built-in event", + "description": "Standard event type.", + "enum": [ + "beginDialog", + "resumeDialog", + "repromptDialog", + "cancelDialog", + "endDialog", + "activityReceived", + "recognizedIntent", + "unknownIntent", + "actionsStarted", + "actionsSaved", + "actionsEnded", + "actionsResumed" + ] + }, + { + "type": "string", + "title": "Custom event", + "description": "Custom event type", + "pattern": "^(?!(beginDialog$|resumeDialog$|repromptDialog$|cancelDialog$|endDialog$|activityReceived$|recognizedIntent$|unknownIntent$|actionsStarted$|actionsSaved$|actionsEnded$|actionsResumed))(\\S){1}.*" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "eventValue": { + "$ref": "#/definitions/valueExpression", + "title": "Event value", + "description": "Value to emit with the event (optional)." + }, + "bubbleEvent": { + "$ref": "#/definitions/booleanExpression", + "title": "Bubble event", + "description": "If true this event is passed on to parent dialogs." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EmitEvent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EndDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "End dialog", + "description": "End this dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "Result value returned to the parent dialog.", + "examples": [ + "=dialog.userName", + "='tomato'" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EndDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EndTurn": { + "$role": "implements(Microsoft.IDialog)", + "title": "End turn", + "description": "End the current turn without ending the dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EndTurn" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.FirstSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "First Trigger Selector", + "description": "Selector for first true rule", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.FirstSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.Foreach": { + "$role": "implements(Microsoft.IDialog)", + "title": "For each item", + "description": "Execute actions on each item in an a collection.", + "type": "object", + "required": [ + "itemsProperty", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "itemsProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Items property", + "description": "Property that holds the array.", + "examples": [ + "user.todoList" + ] + }, + "index": { + "$ref": "#/definitions/stringExpression", + "title": "Index property", + "description": "Property that holds the index of the item.", + "default": "dialog.foreach.index" + }, + "value": { + "$ref": "#/definitions/stringExpression", + "title": "Value property", + "description": "Property that holds the value of the item.", + "default": "dialog.foreach.value" + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute for each item. Use '$foreach.value' to access the value of each item. Use '$foreach.index' to access the index of each item.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.Foreach" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ForeachPage": { + "$role": "implements(Microsoft.IDialog)", + "title": "For each page", + "description": "Execute actions on each page (collection of items) in an array.", + "type": "object", + "required": [ + "itemsProperty", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "itemsProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Items property", + "description": "Property that holds the array.", + "examples": [ + "user.todoList" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute for each page. Use '$foreach.page' to access each page.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "pageIndex": { + "$ref": "#/definitions/stringExpression", + "title": "Index property", + "description": "Property that holds the index of the page.", + "default": "dialog.foreach.pageindex" + }, + "page": { + "$ref": "#/definitions/stringExpression", + "title": "Page property", + "description": "Property that holds the value of the page.", + "default": "dialog.foreach.page" + }, + "pageSize": { + "$ref": "#/definitions/integerExpression", + "title": "Page size", + "description": "Number of items in each page.", + "default": 10 + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ForeachPage" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GetActivityMembers": { + "$role": "implements(Microsoft.IDialog)", + "title": "Get Activity Members", + "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "activityId": { + "$ref": "#/definitions/stringExpression", + "title": "ActivityId", + "description": "Activity ID or expression to an activityId to use to get the members. If none is defined then the current activity id will be used.", + "examples": [ + "$lastActivity" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GetActivityMembers" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GetConversationMembers": { + "$role": "implements(Microsoft.IDialog)", + "title": "Get Converation Members", + "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GetConversationMembers" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GotoAction": { + "$role": "implements(Microsoft.IDialog)", + "title": "Go to Action", + "description": "Go to an an action by id.", + "type": "object", + "required": [ + "actionId", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "actionId": { + "$ref": "#/definitions/stringExpression", + "title": "Action Id", + "description": "Action Id to execute next" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GotoAction" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GuidEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Guid Entity Recognizer", + "description": "Recognizer which recognizes guids.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GuidEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.HashtagEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Hashtag Entity Recognizer", + "description": "Recognizer which recognizes Hashtags.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.HashtagEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.HttpRequest": { + "$role": "implements(Microsoft.IDialog)", + "type": "object", + "title": "HTTP request", + "description": "Make a HTTP request.", + "required": [ + "url", + "method", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "method": { + "type": "string", + "title": "HTTP method", + "description": "HTTP method to use.", + "enum": [ + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "examples": [ + "GET", + "POST" + ] + }, + "url": { + "$ref": "#/definitions/stringExpression", + "title": "Url", + "description": "URL to call (supports data binding).", + "examples": [ + "https://contoso.com" + ] + }, + "body": { + "$ref": "#/definitions/valueExpression", + "title": "Body", + "description": "Body to include in the HTTP call (supports data binding).", + "additionalProperties": true + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Result property", + "description": "Property to store the result of this action. The result includes 4 properties from the http response: statusCode, reasonPhrase, content and headers. If the content is json it will be a deserialized object.", + "examples": [ + "dialog.contosodata" + ] + }, + "contentType": { + "$ref": "#/definitions/stringExpression", + "title": "Content type", + "description": "Content media type for the body.", + "examples": [ + "application/json", + "text/plain" + ] + }, + "headers": { + "type": "object", + "title": "Headers", + "description": "One or more headers to include in the request (supports data binding).", + "additionalProperties": { + "$ref": "#/definitions/stringExpression" + } + }, + "responseType": { + "$ref": "#/definitions/stringExpression", + "title": "Response type", + "description": "Defines the type of HTTP response. Automatically calls the 'Send a response' action if set to 'Activity' or 'Activities'.", + "oneOf": [ + { + "type": "string", + "title": "Standard response", + "description": "Standard response type.", + "enum": [ + "none", + "json", + "activity", + "activities" + ], + "default": "json" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.HttpRequest" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.IActivityTemplate": { + "title": "Microsoft ActivityTemplates", + "description": "Components which are ActivityTemplate, which is string template, an activity, or a implementation of ActivityTemplate", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "required": [ + "type" + ], + "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", + "title": "Activity", + "type": "object", + "properties": { + "type": { + "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", + "type": "string", + "title": "type" + }, + "id": { + "description": "Contains an ID that uniquely identifies the activity on the channel.", + "type": "string", + "title": "id" + }, + "timestamp": { + "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", + "type": "string", + "format": "date-time", + "title": "timestamp" + }, + "localTimestamp": { + "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", + "type": "string", + "format": "date-time", + "title": "localTimestamp" + }, + "localTimezone": { + "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", + "type": "string", + "title": "localTimezone" + }, + "serviceUrl": { + "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", + "type": "string", + "title": "serviceUrl" + }, + "channelId": { + "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", + "type": "string", + "title": "channelId" + }, + "from": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "description": "Identifies the sender of the message.", + "title": "from" + }, + "conversation": { + "description": "Identifies the conversation to which the activity belongs.", + "title": "conversation", + "type": "object", + "required": [ + "conversationType", + "id", + "isGroup", + "name" + ], + "properties": { + "isGroup": { + "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", + "type": "boolean", + "title": "isGroup" + }, + "conversationType": { + "description": "Indicates the type of the conversation in channels that distinguish between conversation types", + "type": "string", + "title": "conversationType" + }, + "id": { + "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", + "type": "string", + "title": "id" + }, + "name": { + "description": "Display friendly name", + "type": "string", + "title": "name" + }, + "aadObjectId": { + "description": "This account's object ID within Azure Active Directory (AAD)", + "type": "string", + "title": "aadObjectId" + }, + "role": { + "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", + "enum": [ + "bot", + "user" + ], + "type": "string", + "title": "role" + } + } + }, + "recipient": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "description": "Identifies the recipient of the message.", + "title": "recipient" + }, + "textFormat": { + "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", + "type": "string", + "title": "textFormat" + }, + "attachmentLayout": { + "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", + "type": "string", + "title": "attachmentLayout" + }, + "membersAdded": { + "description": "The collection of members added to the conversation.", + "type": "array", + "title": "membersAdded", + "items": { + "description": "Channel account information needed to route a message", + "title": "ChannelAccount", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", + "type": "string", + "title": "id" + }, + "name": { + "description": "Display friendly name", + "type": "string", + "title": "name" + }, + "aadObjectId": { + "description": "This account's object ID within Azure Active Directory (AAD)", + "type": "string", + "title": "aadObjectId" + }, + "role": { + "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", + "type": "string", + "title": "role" + } + } + } + }, + "membersRemoved": { + "description": "The collection of members removed from the conversation.", + "type": "array", + "title": "membersRemoved", + "items": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items" + } + }, + "reactionsAdded": { + "description": "The collection of reactions added to the conversation.", + "type": "array", + "title": "reactionsAdded", + "items": { + "description": "Message reaction object", + "title": "MessageReaction", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Message reaction type. Possible values include: 'like', 'plusOne'", + "type": "string", + "title": "type" + } + } + } + }, + "reactionsRemoved": { + "description": "The collection of reactions removed from the conversation.", + "type": "array", + "title": "reactionsRemoved", + "items": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/reactionsAdded/items" + } + }, + "topicName": { + "description": "The updated topic name of the conversation.", + "type": "string", + "title": "topicName" + }, + "historyDisclosed": { + "description": "Indicates whether the prior history of the channel is disclosed.", + "type": "boolean", + "title": "historyDisclosed" + }, + "locale": { + "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", + "type": "string", + "title": "locale" + }, + "text": { + "description": "The text content of the message.", + "type": "string", + "title": "text" + }, + "speak": { + "description": "The text to speak.", + "type": "string", + "title": "speak" + }, + "inputHint": { + "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", + "type": "string", + "title": "inputHint" + }, + "summary": { + "description": "The text to display if the channel cannot render cards.", + "type": "string", + "title": "summary" + }, + "suggestedActions": { + "description": "The suggested actions for the activity.", + "title": "suggestedActions", + "type": "object", + "required": [ + "actions", + "to" + ], + "properties": { + "to": { + "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", + "type": "array", + "title": "to", + "items": { + "title": "Id", + "description": "Id of recipient.", + "type": "string" + } + }, + "actions": { + "description": "Actions that can be shown to the user", + "type": "array", + "title": "actions", + "items": { + "description": "A clickable action", + "title": "CardAction", + "type": "object", + "required": [ + "title", + "type", + "value" + ], + "properties": { + "type": { + "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", + "type": "string", + "title": "type" + }, + "title": { + "description": "Text description which appears on the button", + "type": "string", + "title": "title" + }, + "image": { + "description": "Image URL which will appear on the button, next to text label", + "type": "string", + "title": "image" + }, + "text": { + "description": "Text for this action", + "type": "string", + "title": "text" + }, + "displayText": { + "description": "(Optional) text to display in the chat feed if the button is clicked", + "type": "string", + "title": "displayText" + }, + "value": { + "description": "Supplementary parameter for action. Content of this property depends on the ActionType", + "title": "value" + }, + "channelData": { + "description": "Channel-specific data associated with this action", + "title": "channelData" + } + } + } + } + } + }, + "attachments": { + "description": "Attachments", + "type": "array", + "title": "attachments", + "items": { + "description": "An attachment within an activity", + "title": "Attachment", + "type": "object", + "required": [ + "contentType" + ], + "properties": { + "contentType": { + "description": "mimetype/Contenttype for the file", + "type": "string", + "title": "contentType" + }, + "contentUrl": { + "description": "Content Url", + "type": "string", + "title": "contentUrl" + }, + "content": { + "type": "object", + "description": "Embedded content", + "title": "content" + }, + "name": { + "description": "(OPTIONAL) The name of the attachment", + "type": "string", + "title": "name" + }, + "thumbnailUrl": { + "description": "(OPTIONAL) Thumbnail associated with attachment", + "type": "string", + "title": "thumbnailUrl" + } + } + } + }, + "entities": { + "description": "Represents the entities that were mentioned in the message.", + "type": "array", + "title": "entities", + "items": { + "description": "Metadata object pertaining to an activity", + "title": "Entity", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of this entity (RFC 3987 IRI)", + "type": "string", + "title": "type" + } + } + } + }, + "channelData": { + "description": "Contains channel-specific content.", + "title": "channelData" + }, + "action": { + "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", + "type": "string", + "title": "action" + }, + "replyToId": { + "description": "Contains the ID of the message to which this message is a reply.", + "type": "string", + "title": "replyToId" + }, + "label": { + "description": "A descriptive label for the activity.", + "type": "string", + "title": "label" + }, + "valueType": { + "description": "The type of the activity's value object.", + "type": "string", + "title": "valueType" + }, + "value": { + "description": "A value that is associated with the activity.", + "title": "value" + }, + "name": { + "description": "The name of the operation associated with an invoke or event activity.", + "type": "string", + "title": "name" + }, + "relatesTo": { + "description": "A reference to another conversation or activity.", + "title": "relatesTo", + "type": "object", + "required": [ + "bot", + "channelId", + "conversation", + "serviceUrl" + ], + "properties": { + "activityId": { + "description": "(Optional) ID of the activity to refer to", + "type": "string", + "title": "activityId" + }, + "user": { + "description": "(Optional) User participating in this conversation", + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "title": "user" + }, + "bot": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "description": "Bot participating in this conversation", + "title": "bot" + }, + "conversation": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/conversation", + "description": "Conversation reference", + "title": "conversation" + }, + "channelId": { + "description": "Channel ID", + "type": "string", + "title": "channelId" + }, + "serviceUrl": { + "description": "Service endpoint where operations concerning the referenced conversation may be performed", + "type": "string", + "title": "serviceUrl" + } + } + }, + "code": { + "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", + "type": "string", + "title": "code" + }, + "expiration": { + "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", + "type": "string", + "format": "date-time", + "title": "expiration" + }, + "importance": { + "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", + "type": "string", + "title": "importance" + }, + "deliveryMode": { + "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", + "type": "string", + "title": "deliveryMode" + }, + "listenFor": { + "description": "List of phrases and references that speech and language priming systems should listen for", + "type": "array", + "title": "listenFor", + "items": { + "type": "string", + "title": "Phrase", + "description": "Phrase to listen for." + } + }, + "textHighlights": { + "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", + "type": "array", + "title": "textHighlights", + "items": { + "description": "Refers to a substring of content within another field", + "title": "TextHighlight", + "type": "object", + "required": [ + "occurrence", + "text" + ], + "properties": { + "text": { + "description": "Defines the snippet of text to highlight", + "type": "string", + "title": "text" + }, + "occurrence": { + "description": "Occurrence of the text field within the referenced text, if multiple exist.", + "type": "number", + "title": "occurrence" + } + } + } + }, + "semanticAction": { + "description": "An optional programmatic action accompanying this request", + "title": "semanticAction", + "type": "object", + "required": [ + "entities", + "id" + ], + "properties": { + "id": { + "description": "ID of this action", + "type": "string", + "title": "id" + }, + "entities": { + "description": "Entities associated with this action", + "type": "object", + "title": "entities", + "additionalProperties": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/entities/items" + } + } + } + } + } + }, + { + "$ref": "#/definitions/Microsoft.ActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.StaticActivityTemplate" + } + ] + }, + "Microsoft.IDialog": { + "title": "Microsoft Dialogs", + "description": "Components which derive from Dialog", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerDialog" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog" + }, + { + "$ref": "#/definitions/Microsoft.BeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.BreakLoop" + }, + { + "$ref": "#/definitions/Microsoft.CancelAllDialogs" + }, + { + "$ref": "#/definitions/Microsoft.CancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.ContinueLoop" + }, + { + "$ref": "#/definitions/Microsoft.DebugBreak" + }, + { + "$ref": "#/definitions/Microsoft.DeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperties" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperty" + }, + { + "$ref": "#/definitions/Microsoft.EditActions" + }, + { + "$ref": "#/definitions/Microsoft.EditArray" + }, + { + "$ref": "#/definitions/Microsoft.EmitEvent" + }, + { + "$ref": "#/definitions/Microsoft.EndDialog" + }, + { + "$ref": "#/definitions/Microsoft.EndTurn" + }, + { + "$ref": "#/definitions/Microsoft.Foreach" + }, + { + "$ref": "#/definitions/Microsoft.ForeachPage" + }, + { + "$ref": "#/definitions/Microsoft.GetActivityMembers" + }, + { + "$ref": "#/definitions/Microsoft.GetConversationMembers" + }, + { + "$ref": "#/definitions/Microsoft.GotoAction" + }, + { + "$ref": "#/definitions/Microsoft.HttpRequest" + }, + { + "$ref": "#/definitions/Microsoft.IfCondition" + }, + { + "$ref": "#/definitions/Microsoft.LogAction" + }, + { + "$ref": "#/definitions/Microsoft.RepeatDialog" + }, + { + "$ref": "#/definitions/Microsoft.ReplaceDialog" + }, + { + "$ref": "#/definitions/Microsoft.SendActivity" + }, + { + "$ref": "#/definitions/Microsoft.SetProperties" + }, + { + "$ref": "#/definitions/Microsoft.SetProperty" + }, + { + "$ref": "#/definitions/Microsoft.SignOutUser" + }, + { + "$ref": "#/definitions/Microsoft.SwitchCondition" + }, + { + "$ref": "#/definitions/Microsoft.TraceActivity" + }, + { + "$ref": "#/definitions/Microsoft.UpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.Ask" + }, + { + "$ref": "#/definitions/Microsoft.AttachmentInput" + }, + { + "$ref": "#/definitions/Microsoft.ChoiceInput" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmInput" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeInput" + }, + { + "$ref": "#/definitions/Microsoft.NumberInput" + }, + { + "$ref": "#/definitions/Microsoft.OAuthInput" + }, + { + "$ref": "#/definitions/Microsoft.SkillDialog" + }, + { + "$ref": "#/definitions/Microsoft.TextInput" + } + ] + }, + "Microsoft.IEntityRecognizer": { + "$role": "interface", + "title": "Entity Recognizers", + "description": "Components which derive from EntityRecognizer.", + "type": "object", + "oneOf": [ + { + "type": "string", + "title": "Reference to Microsoft.IEntityRecognizer", + "description": "Reference to Microsoft.IEntityRecognizer .dialog file." + }, + { + "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.IpEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" + } + ] + }, + "Microsoft.ILanguageGenerator": { + "title": "Microsoft LanguageGenerator", + "description": "Components which dervie from the LanguageGenerator class", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" + }, + { + "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" + } + ] + }, + "Microsoft.IRecognizer": { + "title": "Microsoft Recognizer", + "description": "Components which derive from Recognizer class", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.LuisRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.RegexRecognizer" + } + ] + }, + "Microsoft.ITextTemplate": { + "title": "Microsoft TextTemplate", + "description": "Components which derive from TextTemplate class", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.TextTemplate" + } + ] + }, + "Microsoft.ITrigger": { + "$role": "interface", + "title": "Microsoft Triggers", + "description": "Components which derive from OnCondition class.", + "oneOf": [ + { + "type": "string", + "title": "Reference to Microsoft.ITrigger", + "description": "Reference to Microsoft.ITrigger .dialog file." + }, + { + "$ref": "#/definitions/Microsoft.OnActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnAssignEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnBeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnCancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseProperty" + }, + { + "$ref": "#/definitions/Microsoft.OnCondition" + }, + { + "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnDialogEvent" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfActions" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnError" + }, + { + "$ref": "#/definitions/Microsoft.OnEventActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnHandoffActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnInvokeActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnQnAMatch" + }, + { + "$ref": "#/definitions/Microsoft.OnRepromptDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnTypingActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnUnknownIntent" + } + ] + }, + "Microsoft.ITriggerSelector": { + "$role": "interface", + "title": "Selectors", + "description": "Components which derive from TriggerSelector class.", + "oneOf": [ + { + "type": "string", + "title": "Reference to Microsoft.ITriggerSelector", + "description": "Reference to Microsoft.ITriggerSelector .dialog file." + }, + { + "$ref": "#/definitions/Microsoft.ConditionalSelector" + }, + { + "$ref": "#/definitions/Microsoft.FirstSelector" + }, + { + "$ref": "#/definitions/Microsoft.MostSpecificSelector" + }, + { + "$ref": "#/definitions/Microsoft.RandomSelector" + }, + { + "$ref": "#/definitions/Microsoft.TrueSelector" + } + ] + }, + "Microsoft.IfCondition": { + "$role": "implements(Microsoft.IDialog)", + "title": "If condition", + "description": "Two-way branch the conversation flow based on a condition.", + "type": "object", + "required": [ + "condition", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression to evaluate.", + "examples": [ + "user.age > 3" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute if condition is true.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "elseActions": { + "type": "array", + "title": "Else", + "description": "Actions to execute if condition is false.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.IfCondition" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.InputDialog": { + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.InputDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.IpEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Ip Entity Recognizer", + "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.IpEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.LanguagePolicy": { + "title": "Language Policy", + "description": "This represents a policy map for locales lookups to use for language", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": { + "type": "array", + "title": "Per-locale policy", + "description": "Language policy per locale.", + "items": { + "type": "string", + "title": "Locale", + "description": "Locale like en-us." + } + }, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.LanguagePolicy" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.LogAction": { + "$role": "implements(Microsoft.IDialog)", + "title": "Log to console", + "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", + "type": "object", + "required": [ + "text", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "text": { + "$ref": "#/definitions/stringExpression", + "title": "Text", + "description": "Information to log." + }, + "label": { + "$ref": "#/definitions/stringExpression", + "title": "Label", + "description": "Label for the trace activity (used to identify it in a list of trace activities.)" + }, + "traceActivity": { + "$ref": "#/definitions/booleanExpression", + "title": "Send Trace Activity", + "description": "If true, automatically sends a TraceActivity (view in Bot Framework Emulator)." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.LogAction" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.LuisRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "LUIS Recognizer", + "description": "LUIS recognizer.", + "type": "object", + "required": [ + "applicationId", + "endpoint", + "endpointKey", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "applicationId": { + "$ref": "#/definitions/stringExpression", + "title": "LUIS Application ID", + "description": "Application ID for your model from the LUIS service." + }, + "endpoint": { + "$ref": "#/definitions/stringExpression", + "title": "LUIS Endpoint", + "description": "Endpoint to use for LUIS service like https://westus.api.cognitive.microsoft.com." + }, + "endpointKey": { + "$ref": "#/definitions/stringExpression", + "title": "LUIS prediction key", + "description": "LUIS prediction key used to call endpoint." + }, + "externalEntityRecognizer": { + "$kind": "Microsoft.IRecognizer", + "title": "External Entity Recognizer", + "description": "Entities recognized by this recognizer will be passed to LUIS as external entities.", + "$ref": "#/definitions/Microsoft.IRecognizer" + }, + "dynamicLists": { + "$ref": "#/definitions/arrayExpression", + "title": "Dynamic lists", + "description": "Runtime defined entity lists.", + "items": { + "title": "Entity list", + "description": "Lists of canonical values and synonyms for an entity.", + "type": "object", + "properties": { + "entity": { + "title": "Entity", + "description": "Entity to extend with a dynamic list.", + "type": "string" + }, + "list": { + "title": "Dynamic list", + "description": "List of canonical forms and synonyms.", + "type": "array", + "items": { + "type": "object", + "title": "List entry", + "description": "Canonical form and synonynms.", + "properties": { + "canonicalForm": { + "title": "Canonical form", + "description": "Resolution if any synonym matches.", + "type": "string" + }, + "synonyms": { + "title": "Synonyms", + "description": "List of synonyms for a canonical form.", + "type": "array", + "items": { + "title": "Synonym", + "description": "Synonym for canonical form.", + "type": "string" + } + } + } + } + } + } + } + }, + "predictionOptions": { + "type": "object", + "title": "Prediction options", + "description": "Options to control LUIS prediction behavior.", + "properties": { + "includeAllIntents": { + "type": "boolean", + "title": "Include all intents", + "description": "True for all intents, false for only top intent." + }, + "includeInstanceData": { + "type": "boolean", + "title": "Include $instance", + "description": "True to include $instance metadata in the LUIS response." + }, + "log": { + "type": "boolean", + "title": "Log utterances", + "description": "True to log utterances on LUIS service." + }, + "preferExternalEntities": { + "type": "boolean", + "title": "Prefer External Entities", + "description": "True to prefer external entities to those generated by LUIS models." + }, + "slot": { + "type": "string", + "title": "Slot", + "description": "Slot to use for talking to LUIS service like production or staging." + }, + "version": { + "type": "string", + "title": "Version", + "description": "LUIS application version to use." + } + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.LuisRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.MentionEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Mentions Entity Recognizer", + "description": "Recognizer which recognizes @Mentions", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.MentionEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.MostSpecificSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "Most Specific Trigger Selector", + "description": "Select most specific true events with optional additional selector", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "selector": { + "$kind": "Microsoft.ITriggerSelector", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.MostSpecificSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.MultiLanguageRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Multi-language recognizer", + "description": "Configure one recognizer per language and the specify the language fallback policy.", + "type": "object", + "required": [ + "recognizers", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "languagePolicy": { + "$kind": "Microsoft.LanguagePolicy", + "type": "object", + "title": "Language policy", + "description": "Defines fall back languages to try per user input language.", + "$ref": "#/definitions/Microsoft.LanguagePolicy" + }, + "recognizers": { + "type": "object", + "title": "Recognizers", + "description": "Map of language -> Recognizer", + "additionalProperties": { + "$kind": "Microsoft.IRecognizer", + "$ref": "#/definitions/Microsoft.IRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.MultiLanguageRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.NumberEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Number Entity Recognizer", + "description": "Recognizer which recognizes numbers.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.NumberEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.NumberInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Number input dialog", + "description": "Collect information - Ask for a number.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/numberExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + 13, + "=user.age" + ] + }, + "value": { + "$ref": "#/definitions/numberExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + 13, + "=user.age" + ] + }, + "outputFormat": { + "$ref": "#/definitions/expression", + "title": "Output format", + "description": "Expression to format the number output.", + "examples": [ + "=this.value", + "=int(this.text)" + ] + }, + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "Default locale to use if there is no locale available..", + "default": "en-us" + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.NumberInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.NumberRangeEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "NumberRange Entity Recognizer", + "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.NumberRangeEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OAuthInput": { + "$role": "implements(Microsoft.IDialog)", + "title": "OAuthInput Dialog", + "description": "Collect login information.", + "type": "object", + "required": [ + "connectionName", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "connectionName": { + "$ref": "#/definitions/stringExpression", + "title": "Connection name", + "description": "The connection name configured in Azure Web App Bot OAuth settings.", + "examples": [ + "msgraphOAuthConnection" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "text": { + "$ref": "#/definitions/stringExpression", + "title": "Text", + "description": "Text shown in the OAuth signin card.", + "examples": [ + "Please sign in. ", + "=concat(x,y,z)" + ] + }, + "title": { + "$ref": "#/definitions/stringExpression", + "title": "Title", + "description": "Title shown in the OAuth signin card.", + "examples": [ + "Login" + ] + }, + "timeout": { + "$ref": "#/definitions/integerExpression", + "title": "Timeout", + "description": "Time out setting for the OAuth signin card.", + "default": 900000 + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Token property", + "description": "Property to store the OAuth token result.", + "examples": [ + "dialog.token" + ] + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send if user response is invalid.", + "examples": [ + "Sorry, the login info you provided is not valid." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Login failed." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3 + ] + }, + "defaultValue": { + "$ref": "#/definitions/expression", + "title": "Default value", + "description": "Expression to examine on each turn of the conversation as possible value to the property.", + "examples": [ + "@token" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OAuthInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On activity", + "description": "Actions to perform on receipt of a generic activity.", + "type": "object", + "required": [ + "type", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "type": { + "type": "string", + "title": "Activity type", + "description": "The Activity.Type to match" + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnAssignEntity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On entity assignment", + "description": "Actions to take when an entity should be assigned to a property.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "property": { + "type": "string", + "title": "Property", + "description": "Property that will be set after entity is selected." + }, + "entity": { + "type": "string", + "title": "Entity", + "description": "Entity being put into property" + }, + "operation": { + "type": "string", + "title": "Operation", + "description": "Operation for assigning entity." + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnAssignEntity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnBeginDialog": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On begin dialog", + "description": "Actions to perform when this dialog begins.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnBeginDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnCancelDialog": { + "$role": "implements(Microsoft.ITrigger)", + "title": "On cancel dialog", + "description": "Actions to perform on cancel dialog event.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnCancelDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnChooseEntity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On choose entity", + "description": "Actions to be performed when an entity value needs to be resolved.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "property": { + "type": "string", + "title": "Property to be set", + "description": "Property that will be set after entity is selected." + }, + "entity": { + "type": "string", + "title": "Ambiguous entity", + "description": "Ambiguous entity" + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnChooseEntity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnChooseIntent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On ambigious intent", + "description": "Actions to perform on when an intent is ambigious.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "intents": { + "type": "array", + "title": "Intents", + "description": "Intents that must be in the ChooseIntent result for this condition to trigger.", + "items": { + "title": "Intent", + "description": "Intent name to trigger on.", + "type": "string" + } + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnChooseIntent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnChooseProperty": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On choose property", + "description": "Actions to take when there are multiple possible mappings of entities to properties.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "entity": { + "type": "string", + "title": "Entity being assigned", + "description": "Entity being assigned to property choice" + }, + "properties": { + "type": "array", + "title": "Possible properties", + "description": "Properties to be chosen between.", + "items": { + "type": "string", + "title": "Property name", + "description": "Possible property to choose." + } + }, + "entities": { + "type": "array", + "title": "Entities", + "description": "Ambiguous entity names.", + "items": { + "type": "string", + "title": "Entity name", + "description": "Entity name being chosen between." + } + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnChooseProperty" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnCondition": { + "$role": "implements(Microsoft.ITrigger)", + "title": "On condition", + "description": "Actions to perform when specified condition is true.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnCondition" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnConversationUpdateActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On ConversationUpdate activity", + "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnConversationUpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnDialogEvent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On dialog event", + "description": "Actions to perform when a specific dialog event occurs.", + "type": "object", + "required": [ + "actions", + "event", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "event": { + "type": "string", + "title": "Dialog event name", + "description": "Name of dialog event." + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnDialogEvent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnEndOfActions": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On end of actions", + "description": "Actions to take when there are no more actions in the current dialog.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnEndOfActions" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnEndOfConversationActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On EndOfConversation activity", + "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnEndOfConversationActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnError": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Error", + "description": "Action to perform when an 'Error' dialog event occurs.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnError" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnEventActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Event activity", + "description": "Actions to perform on receipt of an activity with type 'Event'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnEventActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnHandoffActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Handoff activity", + "description": "Actions to perform on receipt of an activity with type 'HandOff'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnHandoffActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnIntent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On intent recognition", + "description": "Actions to perform when specified intent is recognized.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "intent": { + "type": "string", + "title": "Intent", + "description": "Name of intent." + }, + "entities": { + "type": "array", + "title": "Entities", + "description": "Required entities.", + "items": { + "type": "string", + "title": "Entity", + "description": "Entity that must be present." + } + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnIntent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnInvokeActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Invoke activity", + "description": "Actions to perform on receipt of an activity with type 'Invoke'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnInvokeActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Message activity", + "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageDeleteActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On MessageDelete activity", + "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageDeleteActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageReactionActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On MessageReaction activity", + "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageReactionActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageUpdateActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On MessageUpdate activity", + "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageUpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnQnAMatch": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On QnAMaker Match", + "description": "Actions to perform on when an match from QnAMaker is found.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnQnAMatch" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnRepromptDialog": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On RepromptDialog", + "description": "Actions to perform when 'RepromptDialog' event occurs.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnRepromptDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnTypingActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Typing activity", + "description": "Actions to perform on receipt of an activity with type 'Typing'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnTypingActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnUnknownIntent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On unknown intent", + "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnUnknownIntent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OrdinalEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Ordinal Entity Recognizer", + "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OrdinalEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.PercentageEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Percentage Entity Recognizer", + "description": "Recognizer which recognizes percentages.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.PercentageEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.PhoneNumberEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Phone Number Entity Recognizer", + "description": "Recognizer which recognizes phone numbers.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.PhoneNumberEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.QnAMakerDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "QnAMaker Dialog", + "description": "Dialog which uses QnAMAker knowledge base to answer questions.", + "type": "object", + "required": [ + "knowledgeBaseId", + "endpointKey", + "hostname", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "knowledgeBaseId": { + "$ref": "#/definitions/stringExpression", + "title": "KnowledgeBase Id", + "description": "KnowledgeBase Id of your QnA Maker KnowledgeBase.", + "default": "=settings.qna.knowledgebaseid" + }, + "endpointKey": { + "$ref": "#/definitions/stringExpression", + "title": "Endpoint Key", + "description": "Endpoint key for the QnA Maker KB.", + "default": "=settings.qna.endpointkey" + }, + "hostname": { + "$ref": "#/definitions/stringExpression", + "title": "Hostname", + "description": "Hostname for your QnA Maker service.", + "default": "=settings.qna.hostname", + "examples": [ + "https://yourserver.azurewebsites.net/qnamaker" + ] + }, + "noAnswer": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Fallback answer", + "description": "Default answer to return when none found in KB.", + "default": "Sorry, I did not find an answer.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "threshold": { + "$ref": "#/definitions/numberExpression", + "title": "Threshold", + "description": "Threshold score to filter results.", + "default": 0.3 + }, + "activeLearningCardTitle": { + "$ref": "#/definitions/stringExpression", + "title": "Active learning card title", + "description": "Title for active learning suggestions card.", + "default": "Did you mean:" + }, + "cardNoMatchText": { + "$ref": "#/definitions/stringExpression", + "title": "Card no match text", + "description": "Text for no match option.", + "default": "None of the above." + }, + "cardNoMatchResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Card no match response", + "description": "Custom response when no match option was selected.", + "default": "Thanks for the feedback.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "strictFilters": { + "$ref": "#/definitions/arrayExpression", + "title": "Strict Filters", + "description": "Metadata filters to use when calling the QnA Maker KB.", + "items": { + "type": "object", + "title": "Metadata filter", + "description": "Metadata filter.", + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of filter property.", + "maximum": 100 + }, + "value": { + "type": "string", + "title": "Value", + "description": "Value to filter on.", + "maximum": 100 + } + } + } + }, + "top": { + "$ref": "#/definitions/numberExpression", + "title": "Top", + "description": "The number of answers you want to retrieve.", + "default": 3 + }, + "isTest": { + "type": "boolean", + "title": "IsTest", + "description": "True, if pointing to Test environment, else false.", + "default": false + }, + "rankerType": { + "$ref": "#/definitions/stringExpression", + "title": "Ranker Type", + "description": "Type of Ranker.", + "oneOf": [ + { + "title": "Standard ranker", + "description": "Standard ranker types.", + "enum": [ + "default", + "questionOnly", + "autoSuggestQuestion" + ], + "default": "default" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.QnAMakerDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.QnAMakerRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "QnAMaker Recognizer", + "description": "Recognizer for generating QnAMatch intents from a KB.", + "type": "object", + "required": [ + "knowledgeBaseId", + "endpointKey", + "hostname", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet." + }, + "knowledgeBaseId": { + "$ref": "#/definitions/stringExpression", + "title": "KnowledgeBase Id", + "description": "KnowledgeBase Id of your QnA Maker KnowledgeBase.", + "default": "settings.qna.knowledgebaseid" + }, + "endpointKey": { + "$ref": "#/definitions/stringExpression", + "title": "Endpoint Key", + "description": "Endpoint key for the QnA Maker KB.", + "default": "settings.qna.endpointkey" + }, + "hostname": { + "$ref": "#/definitions/stringExpression", + "title": "Hostname", + "description": "Hostname for your QnA Maker service.", + "default": "settings.qna.hostname", + "examples": [ + "https://yourserver.azurewebsites.net/qnamaker" + ] + }, + "threshold": { + "$ref": "#/definitions/numberExpression", + "title": "Threshold", + "description": "Threshold score to filter results.", + "default": 0.3 + }, + "strictFilters": { + "$ref": "#/definitions/arrayExpression", + "title": "Strict Filters", + "description": "Metadata filters to use when calling the QnA Maker KB.", + "items": { + "type": "object", + "title": "Metadata filters", + "description": "Metadata filters to use when querying QnA Maker KB.", + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name to filter on.", + "maximum": 100 + }, + "value": { + "type": "string", + "title": "Value", + "description": "Value to restrict filter.", + "maximum": 100 + } + } + } + }, + "top": { + "$ref": "#/definitions/numberExpression", + "title": "Top", + "description": "The number of answers you want to retrieve.", + "default": 3 + }, + "isTest": { + "$ref": "#/definitions/booleanExpression", + "title": "IsTest", + "description": "True, if pointing to Test environment, else false.", + "examples": [ + true, + "=f(x)" + ] + }, + "rankerType": { + "title": "Ranker Type", + "description": "Type of Ranker.", + "oneOf": [ + { + "type": "string", + "title": "Ranker type", + "description": "Type of Ranker.", + "enum": [ + "default", + "questionOnly", + "autoSuggestQuestion" + ], + "default": "default" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "includeDialogNameInMetadata": { + "$ref": "#/definitions/booleanExpression", + "title": "Include Dialog Name", + "description": "When set to false, the dialog name will not be passed to QnAMaker. (default) is true", + "default": true, + "examples": [ + true, + "=f(x)" + ] + }, + "metadata": { + "$ref": "#/definitions/arrayExpression", + "title": "Metadata filters", + "description": "Metadata filters to use when calling the QnA Maker KB.", + "items": { + "type": "object", + "title": "Metadata filter", + "description": "Metadata filter to use when calling the QnA Maker KB.", + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of value to test." + }, + "value": { + "type": "string", + "title": "Value", + "description": "Value to filter against." + } + } + } + }, + "context": { + "$ref": "#/definitions/objectExpression", + "title": "QnARequestContext", + "description": "Context to use for ranking." + }, + "qnaId": { + "$ref": "#/definitions/integerExpression", + "title": "QnAId", + "description": "A number or expression which is the QnAId to paass to QnAMaker API." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.QnAMakerRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RandomSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "Random rule selector", + "description": "Select most specific true rule.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "seed": { + "type": "integer", + "title": "Random seed", + "description": "Random seed to start random number generation." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RandomSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RecognizerSet": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Recognizer Set", + "description": "Creates the union of the intents and entities of the recognizers in the set.", + "type": "object", + "required": [ + "recognizers", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "recognizers": { + "type": "array", + "title": "Recognizers", + "description": "List of Recognizers defined for this set.", + "items": { + "$kind": "Microsoft.IRecognizer", + "$ref": "#/definitions/Microsoft.IRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RecognizerSet" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RegexEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Regex Entity Recognizer", + "description": "Recognizer which recognizes patterns of input based on regex.", + "type": "object", + "required": [ + "name", + "pattern", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of the entity" + }, + "pattern": { + "type": "string", + "title": "Pattern", + "description": "Pattern expressed as regular expression." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RegexEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RegexRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Regex recognizer", + "description": "Use regular expressions to recognize intents and entities from user input.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "intents": { + "type": "array", + "title": "RegEx patterns to intents", + "description": "Collection of patterns to match for an intent.", + "items": { + "type": "object", + "title": "Pattern", + "description": "Intent and regex pattern.", + "properties": { + "intent": { + "type": "string", + "title": "Intent", + "description": "The intent name." + }, + "pattern": { + "type": "string", + "title": "Pattern", + "description": "The regular expression pattern." + } + } + } + }, + "entities": { + "type": "array", + "title": "Entity recognizers", + "description": "Collection of entity recognizers to use.", + "items": { + "$kind": "Microsoft.IEntityRecognizer", + "$ref": "#/definitions/Microsoft.IEntityRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RegexRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RepeatDialog": { + "$role": "implements(Microsoft.IDialog)", + "type": "object", + "title": "Repeat dialog", + "description": "Repeat current dialog.", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "allowLoop": { + "$ref": "#/definitions/booleanExpression", + "title": "AllowLoop", + "description": "Optional condition which if true will allow loop of the repeated dialog.", + "examples": [ + "user.age > 3" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "options": { + "$ref": "#/definitions/objectExpression", + "title": "Options", + "description": "One or more options that are passed to the dialog that is called.", + "additionalProperties": { + "type": "string", + "title": "Options", + "description": "Options for repeating dialog." + } + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the dialog that is called can process the current activity.", + "default": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RepeatDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ReplaceDialog": { + "$role": "implements(Microsoft.IDialog)", + "type": "object", + "title": "Replace dialog", + "description": "Replace current dialog with another dialog.", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "dialog": { + "oneOf": [ + { + "$kind": "Microsoft.IDialog", + "pattern": "^(?!(=)).*", + "title": "Dialog", + "$ref": "#/definitions/Microsoft.IDialog" + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=settings.dialogId" + ] + } + ], + "title": "Dialog name", + "description": "Name of the dialog to call." + }, + "options": { + "$ref": "#/definitions/objectExpression", + "title": "Options", + "description": "One or more options that are passed to the dialog that is called.", + "additionalProperties": { + "type": "string", + "title": "Options", + "description": "Options for replacing dialog." + } + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the dialog that is called can process the current activity.", + "default": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ReplaceDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ResourceMultiLanguageGenerator": { + "$role": "implements(Microsoft.ILanguageGenerator)", + "title": "Resource Multi-Language Generator", + "description": "MultiLanguage Generator which is bound to resource by resource Id.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional generator ID." + }, + "resourceId": { + "type": "string", + "title": "Resource Id", + "description": "Resource which is the root language generator. Other generaters with the same name and language suffix will be loaded into this generator and used based on the Language Policy.", + "default": "dialog.result" + }, + "languagePolicy": { + "type": "object", + "title": "Language Policy", + "description": "Set alternate language policy for this generator. If not set, the global language policy will be used." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ResourceMultiLanguageGenerator" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SendActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send an activity", + "description": "Respond with an activity.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/stringExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "Activity to send.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SendActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SetProperties": { + "$role": "implements(Microsoft.IDialog)", + "title": "Set property", + "description": "Set one or more property values.", + "type": "object", + "required": [ + "assignments", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "assignments": { + "type": "array", + "title": "Assignments", + "description": "Property value assignments to set.", + "items": { + "type": "object", + "title": "Assignment", + "description": "Property assignment.", + "properties": { + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "New value or expression.", + "examples": [ + "='milk'", + "=dialog.favColor", + "=dialog.favColor == 'red'" + ] + } + } + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SetProperties" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SetProperty": { + "$role": "implements(Microsoft.IDialog)", + "title": "Set property", + "description": "Set property to a value.", + "type": "object", + "required": [ + "property", + "value", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "New value or expression.", + "examples": [ + "='milk'", + "=dialog.favColor", + "=dialog.favColor == 'red'" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SetProperty" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SignOutUser": { + "$role": "implements(Microsoft.IDialog)", + "title": "Sign Out User", + "description": "Sign a user out that was logged in previously using OAuthInput.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "userId": { + "$ref": "#/definitions/stringExpression", + "title": "ActivityId", + "description": "expression to an activityId to get the members. If none is defined then the current activity id will be used.", + "examples": [ + "=$lastActivity" + ] + }, + "connectionName": { + "$ref": "#/definitions/stringExpression", + "title": "Connection Name", + "description": "Connection name that was used with OAuthInput to log a user in." + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SignOutUser" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SkillDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Begin a skill dialog", + "description": "Begin a remote skill dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the skill dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=f(x)" + ] + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the skill will be started using the activity in the current turn context instead of the activity in the Activity property.", + "default": true, + "examples": [ + true, + "=f(x)" + ] + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store any value returned by the dialog that is called.", + "examples": [ + "dialog.userName" + ] + }, + "botId": { + "$ref": "#/definitions/stringExpression", + "title": "Skill host bot ID", + "description": "The Microsoft App ID that will be calling the skill.", + "default": "=settings.MicrosoftAppId" + }, + "skillHostEndpoint": { + "$ref": "#/definitions/stringExpression", + "title": "Skill host", + "description": "The callback Url for the skill host.", + "default": "=settings.skillHostEndpoint", + "examples": [ + "https://mybot.contoso.com/api/skills/" + ] + }, + "connectionName": { + "$ref": "#/definitions/stringExpression", + "title": "OAuth Connection Name (SSO)", + "description": "The OAuth Connection Name, that would be used to perform Single SignOn with a skill.", + "default": "=settings.connectionName" + }, + "skillAppId": { + "$ref": "#/definitions/stringExpression", + "title": "Skill App ID", + "description": "The Microsoft App ID for the skill." + }, + "skillEndpoint": { + "$ref": "#/definitions/stringExpression", + "title": "Skill endpoint ", + "description": "The /api/messages endpoint for the skill.", + "examples": [ + "https://myskill.contoso.com/api/messages/" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "The activity to send to the skill.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SkillDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.StaticActivityTemplate": { + "$role": "implements(Microsoft.IActivityTemplate)", + "title": "Microsoft Static Activity Template", + "description": "This allows you to define a static Activity object", + "type": "object", + "required": [ + "activity", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "activity": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1", + "title": "Activity", + "description": "A static Activity to used.", + "required": [ + "type" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.StaticActivityTemplate" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SwitchCondition": { + "$role": "implements(Microsoft.IDialog)", + "title": "Switch condition", + "description": "Execute different actions based on the value of a property.", + "type": "object", + "required": [ + "condition", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "condition": { + "$ref": "#/definitions/stringExpression", + "title": "Condition", + "description": "Property to evaluate.", + "examples": [ + "user.favColor" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "cases": { + "type": "array", + "title": "Cases", + "description": "Actions for each possible condition.", + "items": { + "type": "object", + "title": "Case", + "description": "Case and actions.", + "required": [ + "value", + "actions" + ], + "properties": { + "value": { + "type": [ + "number", + "integer", + "boolean", + "string" + ], + "title": "Value", + "description": "The value to compare the condition with.", + "examples": [ + "red", + "true", + "13" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + } + } + } + }, + "default": { + "type": "array", + "title": "Default", + "description": "Actions to execute if none of the cases meet the condition.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SwitchCondition" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TemperatureEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Temperature Recognizer", + "description": "Recognizer which recognizes temperatures.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TemperatureEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TemplateEngineLanguageGenerator": { + "$role": "implements(Microsoft.ILanguageGenerator)", + "title": "Template Multi-Language Generator", + "description": "Template Generator which allows only inline evaluation of templates.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional generator ID." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TemplateEngineLanguageGenerator" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TextInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "type": "object", + "title": "Text input dialog", + "description": "Collection information - Ask for a word or sentence.", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/stringExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "value": { + "$ref": "#/definitions/stringExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "outputFormat": { + "$ref": "#/definitions/stringExpression", + "title": "Output format", + "description": "Expression to format the output.", + "examples": [ + "=toUpper(this.value)", + "${toUpper(this.value)}" + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TextInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TextTemplate": { + "$role": "implements(Microsoft.ITextTemplate)", + "title": "Microsoft TextTemplate", + "description": "Use LG Templates to create text", + "type": "object", + "required": [ + "template", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "template": { + "title": "Template", + "description": "Language Generator template to evaluate to create the text.", + "type": "string" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TextTemplate" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TraceActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send a TraceActivity", + "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "name": { + "$ref": "#/definitions/stringExpression", + "title": "Name", + "description": "Name of the trace activity" + }, + "label": { + "$ref": "#/definitions/stringExpression", + "title": "Label", + "description": "Label for the trace activity (used to identify it in a list of trace activities.)" + }, + "valueType": { + "$ref": "#/definitions/stringExpression", + "title": "Value type", + "description": "Type of value" + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "Property that holds the value to send as trace activity." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TraceActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TrueSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "True Trigger Selector", + "description": "Selector for all true events", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TrueSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.UpdateActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send an activity", + "description": "Respond with an activity.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "activityId": { + "$ref": "#/definitions/stringExpression", + "title": "Activity Id", + "description": "An string expression with the activity id to update.", + "examples": [ + "=dialog.lastActivityId" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "Activity to send.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.UpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.UrlEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Confirmation Url Recognizer", + "description": "Recognizer which recognizes urls.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.UrlEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "arrayExpression": { + "$role": "expression", + "title": "Array or expression", + "description": "Array or expression to evaluate.", + "oneOf": [ + { + "type": "array", + "title": "Array", + "description": "Array constant." + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "booleanExpression": { + "$role": "expression", + "title": "Boolean or expression", + "description": "Boolean constant or expression to evaluate.", + "oneOf": [ + { + "type": "boolean", + "title": "Boolean", + "description": "Boolean constant.", + "default": false, + "examples": [ + false + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=user.isVip" + ] + } + ] + }, + "component": { + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "condition": { + "$role": "expression", + "title": "Boolean condition", + "description": "Boolean constant or expression to evaluate.", + "oneOf": [ + { + "$ref": "#/definitions/expression" + }, + { + "type": "boolean", + "title": "Boolean", + "description": "Boolean value.", + "default": true, + "examples": [ + false + ] + } + ] + }, + "equalsExpression": { + "type": "string", + "title": "Expression", + "description": "Expression starting with =.", + "pattern": "^=.*\\S.*", + "examples": [ + "=user.name" + ] + }, + "expression": { + "type": "string", + "title": "Expression", + "description": "Expression to evaluate.", + "pattern": "^.*\\S.*", + "examples": [ + "user.age > 13" + ] + }, + "integerExpression": { + "$role": "expression", + "title": "Integer or expression", + "description": "Integer constant or expression to evaluate.", + "oneOf": [ + { + "type": "integer", + "title": "Integer", + "description": "Integer constant.", + "default": 0, + "examples": [ + 15 + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=user.age" + ] + } + ] + }, + "numberExpression": { + "$role": "expression", + "title": "Number or expression", + "description": "Number constant or expression to evaluate.", + "oneOf": [ + { + "type": "number", + "title": "Number", + "description": "Number constant.", + "default": 0, + "examples": [ + 15.5 + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=dialog.quantity" + ] + } + ] + }, + "objectExpression": { + "$role": "expression", + "title": "Object or expression", + "description": "Object or expression to evaluate.", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Object constant." + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "role": { + "title": "$role", + "description": "Defines the role played in the dialog schema from [expression|interface|implements($kind)|extends($kind)].", + "type": "string", + "pattern": "^((expression)|(interface)|(implements\\([a-zA-Z][a-zA-Z0-9.]*\\))|(extends\\([a-zA-Z][a-zA-Z0-9.]*\\)))$" + }, + "stringExpression": { + "$role": "expression", + "title": "String or expression", + "description": "Interpolated string or expression to evaluate.", + "oneOf": [ + { + "type": "string", + "title": "String", + "description": "Interpolated string", + "pattern": "^(?!(=)).*", + "examples": [ + "Hello ${user.name}" + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=concat('x','y','z')" + ] + } + ] + }, + "valueExpression": { + "$role": "expression", + "title": "Any or expression", + "description": "Any constant or expression to evaluate.", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Object constant." + }, + { + "type": "array", + "title": "Array", + "description": "Array constant." + }, + { + "type": "string", + "title": "String", + "description": "Interpolated string.", + "pattern": "^(?!(=)).*", + "examples": [ + "Hello ${user.name}" + ] + }, + { + "type": "boolean", + "title": "Boolean", + "description": "Boolean constant", + "examples": [ + false + ] + }, + { + "type": "number", + "title": "Number", + "description": "Number constant.", + "examples": [ + 15.5 + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=..." + ] + } + ] + } + } } diff --git a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/editarray/editarray.dialog b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/editarray/editarray.dialog index 5f309b62e6..6b993d6cf4 100644 --- a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/editarray/editarray.dialog +++ b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/editarray/editarray.dialog @@ -17,7 +17,7 @@ "$designer": { "id": "076427" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "user.ids", "value": "=10000+1000+100+10+1" }, @@ -26,13 +26,13 @@ "$designer": { "id": "162360" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "user.ids", "value": "=200*200" }, { "$kind": "Microsoft.EditArray", - "changeType": "Push", + "changeType": "push", "itemsProperty": "user.ids", "value": "=888888/4", "$designer": { diff --git a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/emitevent/emitevent.dialog b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/emitevent/emitevent.dialog index 67e9dd9b24..9f6e1f04a0 100644 --- a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/emitevent/emitevent.dialog +++ b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/emitevent/emitevent.dialog @@ -7,7 +7,7 @@ "defaultResultProperty": "dialog.result", "triggers": [ { - "$kind": "Microsoft.OnCustomEvent", + "$kind": "Microsoft.OnDialogEvent", "actions": [ { "$kind": "Microsoft.SendActivity", diff --git a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/enddialog/enddialog.dialog b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/enddialog/enddialog.dialog index 3b5213c124..31855d0f4e 100644 --- a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/enddialog/enddialog.dialog +++ b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/enddialog/enddialog.dialog @@ -19,7 +19,7 @@ }, "triggers": [ { - "$kind": "Microsoft.OnCustomEvent", + "$kind": "Microsoft.OnDialogEvent", "event": "cancelDialog", "actions": [ { diff --git a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/qnamakeraction/qnamakeraction.dialog b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/qnamakeraction/qnamakeraction.dialog index 40bd12ca34..94c86f5ede 100644 --- a/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/qnamakeraction/qnamakeraction.dialog +++ b/Composer/plugins/samples/assets/projects/ActionsSample/dialogs/qnamakeraction/qnamakeraction.dialog @@ -6,7 +6,7 @@ "description": "An action to call QnA knowledge base.", "id": "901199" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachpagestep/foreachpagestep.dialog b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachpagestep/foreachpagestep.dialog index cd1a9059d6..217e71978e 100644 --- a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachpagestep/foreachpagestep.dialog +++ b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachpagestep/foreachpagestep.dialog @@ -17,7 +17,7 @@ "$designer": { "id": "834603" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "dialog.ids", "value": "=10000+1000+100+10+1" }, @@ -26,7 +26,7 @@ "$designer": { "id": "048190" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "dialog.ids", "value": "=200*200" }, @@ -35,7 +35,7 @@ "$designer": { "id": "434590" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "dialog.ids", "value": "=888888/4" }, diff --git a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachstep/foreachstep.dialog b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachstep/foreachstep.dialog index 4a7025768f..8c28ec314d 100644 --- a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachstep/foreachstep.dialog +++ b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachstep/foreachstep.dialog @@ -17,7 +17,7 @@ "$designer": { "id": "077820" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "dialog.ids", "value": "=10000+1000+100+10+1" }, @@ -26,7 +26,7 @@ "$designer": { "id": "453517" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "dialog.ids", "value": "=200*200" }, @@ -35,7 +35,7 @@ "$designer": { "id": "889145" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "dialog.ids", "value": "=888888/4" }, diff --git a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachwithbreakandcontinue/foreachwithbreakandcontinue.dialog b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachwithbreakandcontinue/foreachwithbreakandcontinue.dialog index 6a86db5656..193acafe47 100644 --- a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachwithbreakandcontinue/foreachwithbreakandcontinue.dialog +++ b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/foreachwithbreakandcontinue/foreachwithbreakandcontinue.dialog @@ -4,7 +4,7 @@ "id": "zzWd0o", "name": "foreachwithbreakandcontinue" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/gotoaction/gotoaction.dialog b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/gotoaction/gotoaction.dialog index 1b1bd30776..83d97c2b78 100644 --- a/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/gotoaction/gotoaction.dialog +++ b/Composer/plugins/samples/assets/projects/ControllingConversationFlowSample/dialogs/gotoaction/gotoaction.dialog @@ -4,7 +4,7 @@ "id": "uFLBLw", "name": "gotoaction" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/EmptyBot/emptybot.dialog b/Composer/plugins/samples/assets/projects/EmptyBot/emptybot.dialog index cc22dcb852..3c581aeddd 100644 --- a/Composer/plugins/samples/assets/projects/EmptyBot/emptybot.dialog +++ b/Composer/plugins/samples/assets/projects/EmptyBot/emptybot.dialog @@ -3,7 +3,7 @@ "$designer": { "description": "" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/InterruptionSample/interruptionsample.dialog b/Composer/plugins/samples/assets/projects/InterruptionSample/interruptionsample.dialog index 747ef317c9..9beb640e8c 100644 --- a/Composer/plugins/samples/assets/projects/InterruptionSample/interruptionsample.dialog +++ b/Composer/plugins/samples/assets/projects/InterruptionSample/interruptionsample.dialog @@ -78,7 +78,7 @@ "name": "Modify active dialog", "id": "216094" }, - "changeType": "ReplaceSequence", + "changeType": "replaceSequence", "actions": [ { "$kind": "Microsoft.DeleteProperty", diff --git a/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/multilinetext/multilinetext.dialog b/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/multilinetext/multilinetext.dialog index d9c3eac51c..72d6d97d87 100644 --- a/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/multilinetext/multilinetext.dialog +++ b/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/multilinetext/multilinetext.dialog @@ -5,7 +5,7 @@ "name": "MultiLineText", "id": "877352" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/structuredlg/structuredlg.dialog b/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/structuredlg/structuredlg.dialog index 311c85bad9..cef73e7eec 100644 --- a/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/structuredlg/structuredlg.dialog +++ b/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/structuredlg/structuredlg.dialog @@ -5,7 +5,7 @@ "name": "StructuredLG", "id": "716869" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/switchcondition/switchcondition.dialog b/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/switchcondition/switchcondition.dialog index 53a0ae4f3f..dc3b96f8ff 100644 --- a/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/switchcondition/switchcondition.dialog +++ b/Composer/plugins/samples/assets/projects/RespondingWithTextSample/dialogs/switchcondition/switchcondition.dialog @@ -5,7 +5,7 @@ "name": "SwitchCondition", "id": "292826" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/additem/additem.dialog b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/additem/additem.dialog index 1891086e2d..bf988faf71 100644 --- a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/additem/additem.dialog +++ b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/additem/additem.dialog @@ -4,7 +4,7 @@ "name": "AddItem", "id": "225905" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { @@ -94,7 +94,7 @@ "id": "733511", "name": "Edit an Array property" }, - "changeType": "Push", + "changeType": "push", "itemsProperty": "user.lists[dialog.listType]", "value": "=$itemTitle" }, diff --git a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/deleteitem/deleteitem.dialog b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/deleteitem/deleteitem.dialog index 966c6760ad..67dac8c25a 100644 --- a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/deleteitem/deleteitem.dialog +++ b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/deleteitem/deleteitem.dialog @@ -4,7 +4,7 @@ "name": "DeleteItem", "id": "715675" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { @@ -160,7 +160,7 @@ "id": "747071", "name": "Edit an Array property" }, - "changeType": "Remove", + "changeType": "remove", "itemsProperty": "user.lists[dialog.listType]", "value": "=dialog.itemTitle" }, diff --git a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/help/help.dialog b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/help/help.dialog index f816cd5cc9..c5baa9103e 100644 --- a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/help/help.dialog +++ b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/help/help.dialog @@ -4,7 +4,7 @@ "name": "Help", "id": "429319" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/userprofile/userprofile.dialog b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/userprofile/userprofile.dialog index 453b8f0e91..2d2391b0e1 100644 --- a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/userprofile/userprofile.dialog +++ b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/userprofile/userprofile.dialog @@ -4,7 +4,7 @@ "name": "UserProfile", "id": "732608" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/viewitem/viewitem.dialog b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/viewitem/viewitem.dialog index 234fbe8474..7142b340d1 100644 --- a/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/viewitem/viewitem.dialog +++ b/Composer/plugins/samples/assets/projects/ToDoBotWithLuisSample/dialogs/viewitem/viewitem.dialog @@ -4,7 +4,7 @@ "name": "ViewItem", "id": "944085" }, - "autoEndDialog": "true", + "autoEndDialog": true, "defaultResultProperty": "dialog.result", "triggers": [ { diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/addtodo.dialog b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/addtodo.dialog deleted file mode 100644 index 4724660200..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/addtodo.dialog +++ /dev/null @@ -1,48 +0,0 @@ -{ - "$kind": "Microsoft.AdaptiveDialog", - "$designer": { - "id": "808722" - }, - "autoEndDialog": true, - "defaultResultProperty": "dialog.result", - "triggers": [ - { - "$kind": "Microsoft.OnBeginDialog", - "$designer": { - "id": "335456" - }, - "actions": [ - { - "$kind": "Microsoft.TextInput", - "$designer": { - "id": "298897" - }, - "property": "dialog.todo", - "prompt": "OK, please enter the title of your todo.", - "maxTurnCount": 3, - "value": "=@title", - "alwaysPrompt": false, - "allowInterruptions": "true" - }, - { - "$kind": "Microsoft.EditArray", - "$designer": { - "id": "567087" - }, - "changeType": "push", - "itemsProperty": "user.todos", - "value": "=dialog.todo" - }, - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "116673" - }, - "activity": "${SendActivity_116673()}" - } - ] - } - ], - "generator": "addtodo.lg", - "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/language-generation/en-us/addtodo.en-us.lg b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/language-generation/en-us/addtodo.en-us.lg deleted file mode 100644 index 42b0e029ad..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/language-generation/en-us/addtodo.en-us.lg +++ /dev/null @@ -1,4 +0,0 @@ -[import](common.lg) - -# SendActivity_116673 --Successfully added a todo named ${dialog.todo} diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/language-understanding/en-us/addtodo.en-us.lu b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/addtodo/language-understanding/en-us/addtodo.en-us.lu deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/cleartodos.dialog b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/cleartodos.dialog deleted file mode 100644 index b5682a3d3d..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/cleartodos.dialog +++ /dev/null @@ -1,54 +0,0 @@ -{ - "$kind": "Microsoft.AdaptiveDialog", - "$designer": { - "id": "316336" - }, - "autoEndDialog": true, - "defaultResultProperty": "dialog.result", - "triggers": [ - { - "$kind": "Microsoft.OnBeginDialog", - "$designer": { - "id": "480162" - }, - "actions": [ - { - "$kind": "Microsoft.EditArray", - "$designer": { - "id": "832300" - }, - "changeType": "Clear", - "itemsProperty": "user.todos", - "resultProperty": "dialog.cleared" - }, - { - "$kind": "Microsoft.IfCondition", - "$designer": { - "id": "983700" - }, - "condition": "dialog.cleared", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "832307" - }, - "activity": "${SendActivity_832307()}" - } - ], - "elseActions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "983761" - }, - "activity": "${SendActivity_983761()}" - } - ] - } - ] - } - ], - "generator": "cleartodos.lg", - "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/language-generation/en-us/cleartodos.en-us.lg b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/language-generation/en-us/cleartodos.en-us.lg deleted file mode 100644 index 1b71839e7f..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/language-generation/en-us/cleartodos.en-us.lg +++ /dev/null @@ -1,7 +0,0 @@ -[import](common.lg) - -# SendActivity_832300 --Successfully cleared items in the Todo List. - -# SendActivity_983700 --You don't have any items in the Todo List. diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/language-understanding/en-us/cleartodos.en-us.lu b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/cleartodos/language-understanding/en-us/cleartodos.en-us.lu deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/deletetodo.dialog b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/deletetodo.dialog deleted file mode 100644 index 0af286f2dd..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/deletetodo.dialog +++ /dev/null @@ -1,67 +0,0 @@ -{ - "$kind": "Microsoft.AdaptiveDialog", - "$designer": { - "id": "114909" - }, - "autoEndDialog": true, - "defaultResultProperty": "dialog.result", - "triggers": [ - { - "$kind": "Microsoft.OnBeginDialog", - "$designer": { - "id": "768658" - }, - "actions": [ - { - "$kind": "Microsoft.TextInput", - "$designer": { - "id": "870620" - }, - "property": "dialog.todo", - "prompt": "OK, please enter the title of the todo you want to remove.", - "maxTurnCount": 3, - "value": "=@title", - "alwaysPrompt": false, - "allowInterruptions": "false" - }, - { - "$kind": "Microsoft.EditArray", - "$designer": { - "id": "492096" - }, - "changeType": "Remove", - "itemsProperty": "user.todos", - "resultProperty": "dialog.removed", - "value": "=dialog.todo" - }, - { - "$kind": "Microsoft.IfCondition", - "$designer": { - "id": "549615" - }, - "condition": "dialog.removed", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "725469" - }, - "activity": "${SendActivity_725469()}" - } - ], - "elseActions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "549610" - }, - "activity": "${SendActivity_549615()}" - } - ] - } - ] - } - ], - "generator": "deletetodo.lg", - "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/language-generation/en-us/deletetodo.en-us.lg b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/language-generation/en-us/deletetodo.en-us.lg deleted file mode 100644 index 348ec23eae..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/language-generation/en-us/deletetodo.en-us.lg +++ /dev/null @@ -1,10 +0,0 @@ -[import](common.lg) - -# SendActivity_725469 --Successfully removed a todo named ${dialog.todo} - -# SendActivity_549615 --${dialog.todo} is not in the Todo List - -# TextInput_Prompt_870620() -- OK, please enter the title of the todo you want to remove. diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/language-understanding/en-us/deletetodo.en-us.lu b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/deletetodo/language-understanding/en-us/deletetodo.en-us.lu deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/language-generation/en-us/showtodos.en-us.lg b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/language-generation/en-us/showtodos.en-us.lg deleted file mode 100644 index 0bd78d8428..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/language-generation/en-us/showtodos.en-us.lg +++ /dev/null @@ -1,8 +0,0 @@ -[import](common.lg) - - -# SendActivity_339580 --You have no todos. - -# SendActivity_662004 --${ShowTodo()} diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/language-understanding/en-us/showtodos.en-us.lu b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/language-understanding/en-us/showtodos.en-us.lu deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/showtodos.dialog b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/showtodos.dialog deleted file mode 100644 index 06919cd046..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/dialogs/showtodos/showtodos.dialog +++ /dev/null @@ -1,47 +0,0 @@ -{ - "$kind": "Microsoft.AdaptiveDialog", - "$designer": { - "id": "709692" - }, - "autoEndDialog": true, - "defaultResultProperty": "dialog.result", - "triggers": [ - { - "$kind": "Microsoft.OnBeginDialog", - "$designer": { - "id": "783343" - }, - "actions": [ - { - "$kind": "Microsoft.IfCondition", - "$designer": { - "id": "662084" - }, - "condition": "user.todos == null", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "339580", - "name": "Send an Activity" - }, - "activity": "${SendActivity_339580()}" - } - ], - "elseActions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "662004", - "name": "Send an Activity" - }, - "activity": "${SendActivity_662004()}" - } - ] - } - ] - } - ], - "generator": "showtodos.lg", - "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-generation/en-us/common.en-us.lg b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-generation/en-us/common.en-us.lg deleted file mode 100644 index a4e6b0982d..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-generation/en-us/common.en-us.lg +++ /dev/null @@ -1,39 +0,0 @@ -# Hello --${Welcome(time)} ${name} - -# Welcome(time) --IF:${time == 'morning'} - - Good morning --ELSEIF:${time == 'evening'} - - Good evening --ELSE: - - How are you doing, - -# Exit --Thanks for using todo bot. - -# Greeting --What's up bro - -# ShowTodo --IF:${count(user.todos) > 0} --``` -${HelperFunction()} -${join(foreach(user.todos, x, showSingleTodo(x)), '\n')} -``` --ELSE: --You don't have any todos. - -# showSingleTodo(x) --* ${x} - -# HelperFunction -- IF: ${count(user.todos) == 1} - - Your most recent ${count(user.todos)} task is -- ELSE: - - Your most recent ${count(user.todos)} tasks are - -# WelcomeUser --I can add a todo, show todos, remove a todo, and clear all todos --I can help you yes I can --Help, we don't need no stinkin' help! \ No newline at end of file diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-generation/en-us/todorecognizersetsample.en-us.lg b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-generation/en-us/todorecognizersetsample.en-us.lg deleted file mode 100644 index 5e8a5e0918..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-generation/en-us/todorecognizersetsample.en-us.lg +++ /dev/null @@ -1,10 +0,0 @@ -[import](common.lg) - -# SendActivity_696707 --${WelcomeUser()} - -# SendActivity_157674() -- Hi! I'm a ToDo bot. Say "add a todo named first" to get started. - -# foo -- You are so smart! diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-understanding/en-us/todorecognizersetsample.en-us.lu b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/language-understanding/en-us/todorecognizersetsample.en-us.lu deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/todorecognizersetsample.dialog b/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/todorecognizersetsample.dialog deleted file mode 100644 index 5bcad27a93..0000000000 --- a/Composer/plugins/samples/assets/projects/TodoRecognizerSetSample/todorecognizersetsample.dialog +++ /dev/null @@ -1,155 +0,0 @@ -{ - "$kind": "Microsoft.AdaptiveDialog", - "$designer": { - "id": "288769", - "description": "This is a bot that demonstrates how to manage a ToDo list using Regular Expressions." - }, - "autoEndDialog": false, - "defaultResultProperty": "dialog.result", - "recognizer": "todorecognizersetsample.lu", - "generator": "todorecognizersetsample.lg", - "triggers": [ - { - "$kind": "Microsoft.OnConversationUpdateActivity", - "$designer": { - "id": "376720" - }, - "actions": [ - { - "$kind": "Microsoft.Foreach", - "$designer": { - "id": "518944", - "name": "Loop: for each item" - }, - "itemsProperty": "turn.Activity.membersAdded", - "actions": [ - { - "$kind": "Microsoft.IfCondition", - "$designer": { - "id": "641773", - "name": "Branch: if/else" - }, - "condition": "string(dialog.foreach.value.id) != string(turn.Activity.Recipient.id)", - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "157674", - "name": "Send a response" - }, - "activity": "${SendActivity_157674()}" - } - ] - } - ] - } - ] - }, - { - "$kind": "Microsoft.OnIntent", - "$designer": { - "id": "064505" - }, - "actions": [ - { - "$kind": "Microsoft.BeginDialog", - "dialog": "addtodo" - } - ], - "intent": "AddIntent" - }, - { - "$kind": "Microsoft.OnIntent", - "$designer": { - "id": "114961" - }, - "actions": [ - { - "$kind": "Microsoft.BeginDialog", - "dialog": "deletetodo", - "$designer": { - "id": "978613" - } - } - ], - "intent": "DeleteIntent" - }, - { - "$kind": "Microsoft.OnIntent", - "$designer": { - "id": "088050" - }, - "actions": [ - { - "$kind": "Microsoft.BeginDialog", - "dialog": "cleartodos" - } - ], - "intent": "ClearIntent" - }, - { - "$kind": "Microsoft.OnIntent", - "$designer": { - "id": "633942" - }, - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "696707" - }, - "activity": "${SendActivity_696707()}" - } - ], - "intent": "HelpIntent" - }, - { - "$kind": "Microsoft.OnIntent", - "$designer": { - "id": "794124" - }, - "actions": [ - { - "$kind": "Microsoft.BeginDialog", - "dialog": "showtodos" - } - ], - "intent": "ShowIntent" - }, - { - "$kind": "Microsoft.OnIntent", - "$designer": { - "id": "179728" - }, - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "677440" - }, - "activity": "ok." - }, - { - "$kind": "Microsoft.EndDialog" - } - ], - "intent": "CancelIntent" - }, - { - "$kind": "Microsoft.OnUnknownIntent", - "$designer": { - "id": "677447" - }, - "actions": [ - { - "$kind": "Microsoft.SendActivity", - "$designer": { - "id": "677448" - }, - "activity": "Hi! I'm a ToDo bot. Say \"add a todo named first\" to get started." - } - ] - } - ], - "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} diff --git a/Composer/plugins/samples/assets/projects/TodoSample/dialogs/cleartodos/cleartodos.dialog b/Composer/plugins/samples/assets/projects/TodoSample/dialogs/cleartodos/cleartodos.dialog index 752c275879..b1bd0a334e 100644 --- a/Composer/plugins/samples/assets/projects/TodoSample/dialogs/cleartodos/cleartodos.dialog +++ b/Composer/plugins/samples/assets/projects/TodoSample/dialogs/cleartodos/cleartodos.dialog @@ -18,7 +18,7 @@ "$designer": { "id": "832307" }, - "changeType": "Clear", + "changeType": "clear", "itemsProperty": "user.todos", "resultProperty": "dialog.cleared" }, diff --git a/Composer/plugins/samples/assets/projects/TodoSample/dialogs/deletetodo/deletetodo.dialog b/Composer/plugins/samples/assets/projects/TodoSample/dialogs/deletetodo/deletetodo.dialog index 9b7bfaac41..7bf1f5b301 100644 --- a/Composer/plugins/samples/assets/projects/TodoSample/dialogs/deletetodo/deletetodo.dialog +++ b/Composer/plugins/samples/assets/projects/TodoSample/dialogs/deletetodo/deletetodo.dialog @@ -30,7 +30,7 @@ "$designer": { "id": "492096" }, - "changeType": "Remove", + "changeType": "remove", "itemsProperty": "user.todos", "resultProperty": "dialog.removed", "value": "=dialog.todo" diff --git a/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj b/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj index 9e9bddff65..ea1153d8b5 100644 --- a/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj +++ b/runtime/dotnet/azurefunctions/Microsoft.BotFramework.Composer.Functions.csproj @@ -13,16 +13,18 @@ - - - - - - - - - - + + + + + + + + + + + + @@ -67,4 +69,4 @@ Always - \ No newline at end of file + diff --git a/runtime/dotnet/azurefunctions/Startup.cs b/runtime/dotnet/azurefunctions/Startup.cs index 395a87cf58..cb06174037 100644 --- a/runtime/dotnet/azurefunctions/Startup.cs +++ b/runtime/dotnet/azurefunctions/Startup.cs @@ -135,7 +135,7 @@ public override void Configure(IFunctionsHostBuilder builder) adapter .UseStorage(storage) - .UseState(userState, conversationState); + .UseBotState(userState, conversationState); // Configure Middlewares ConfigureTranscriptLoggerMiddleware(adapter, settings); diff --git a/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj b/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj index 227626f290..1ecf6f32a4 100644 --- a/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj +++ b/runtime/dotnet/azurewebapp/Microsoft.BotFramework.Composer.WebApp.csproj @@ -16,16 +16,18 @@ - - - - - - - - - - + + + + + + + + + + + + all @@ -35,4 +37,4 @@ - \ No newline at end of file + diff --git a/runtime/dotnet/azurewebapp/Schemas/sdk.schema b/runtime/dotnet/azurewebapp/Schemas/sdk.schema index 16f82e6041..0253ebfbc7 100644 --- a/runtime/dotnet/azurewebapp/Schemas/sdk.schema +++ b/runtime/dotnet/azurewebapp/Schemas/sdk.schema @@ -1,16054 +1,8850 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/schemas/component/component.schema", - "$id": "sdk.schema", - "type": "object", - "title": "Component kinds", - "description": "These are all of the kinds that can be created by the loader.", - "oneOf": [ - { - "title": "Microsoft.ActivityTemplate", - "description": "", - "$ref": "#/definitions/Microsoft.ActivityTemplate" - }, - { - "title": "Microsoft.AdaptiveDialog", - "description": "Flexible, data driven dialog that can adapt to the conversation.", - "$ref": "#/definitions/Microsoft.AdaptiveDialog" - }, - { - "title": "Microsoft.AgeEntityRecognizer", - "description": "Recognizer which recognizes age.", - "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" - }, - { - "title": "Microsoft.Ask", - "description": "This is an action which sends an activity to the user when a response is expected", - "$ref": "#/definitions/Microsoft.Ask" - }, - { - "title": "Microsoft.AttachmentInput", - "description": "Collect information - Ask for a file or image.", - "$ref": "#/definitions/Microsoft.AttachmentInput" - }, - { - "title": "Microsoft.BeginDialog", - "description": "Begin another dialog.", - "$ref": "#/definitions/Microsoft.BeginDialog" - }, - { - "title": "Microsoft.BreakLoop", - "description": "Stop executing this loop", - "$ref": "#/definitions/Microsoft.BreakLoop" - }, - { - "title": "Microsoft.CancelAllDialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelAllDialogs" - }, - { - "title": "Microsoft.CancelDialog", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelDialog" - }, - { - "title": "Microsoft.ChoiceInput", - "description": "Collect information - Pick from a list of choices", - "$ref": "#/definitions/Microsoft.ChoiceInput" - }, - { - "title": "Microsoft.ConditionalSelector", - "description": "Use a rule selector based on a condition", - "$ref": "#/definitions/Microsoft.ConditionalSelector" - }, - { - "title": "Microsoft.ConfirmInput", - "description": "Collect information - Ask for confirmation (yes or no).", - "$ref": "#/definitions/Microsoft.ConfirmInput" - }, - { - "title": "Microsoft.ConfirmationEntityRecognizer", - "description": "Recognizer which recognizes confirmation choices (yes/no).", - "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" - }, - { - "title": "Microsoft.ContinueLoop", - "description": "Stop executing this template and continue with the next iteration of the loop.", - "$ref": "#/definitions/Microsoft.ContinueLoop" - }, - { - "title": "Microsoft.CrossTrainedRecognizerSet", - "description": "Recognizer for selecting between cross trained recognizers.", - "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" - }, - { - "title": "Microsoft.CurrencyEntityRecognizer", - "description": "Recognizer which recognizes currency.", - "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" - }, - { - "title": "Microsoft.DateTimeEntityRecognizer", - "description": "Recognizer which recognizes dates and time fragments.", - "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" - }, - { - "title": "Microsoft.DateTimeInput", - "description": "Collect information - Ask for date and/ or time", - "$ref": "#/definitions/Microsoft.DateTimeInput" - }, - { - "title": "Microsoft.DebugBreak", - "description": "If debugger is attached, stop the execution at this point in the conversation.", - "$ref": "#/definitions/Microsoft.DebugBreak" - }, - { - "title": "Microsoft.DeleteActivity", - "description": "Delete an activity that was previously sent.", - "$ref": "#/definitions/Microsoft.DeleteActivity" - }, - { - "title": "Microsoft.DeleteProperties", - "description": "Delete multiple properties and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperties" - }, - { - "title": "Microsoft.DeleteProperty", - "description": "Delete a property and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperty" - }, - { - "title": "Microsoft.DimensionEntityRecognizer", - "description": "Recognizer which recognizes dimension.", - "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" - }, - { - "title": "Microsoft.EditActions", - "description": "Edit the current list of actions.", - "$ref": "#/definitions/Microsoft.EditActions" - }, - { - "title": "Microsoft.EditArray", - "description": "Modify an array in memory", - "$ref": "#/definitions/Microsoft.EditArray" - }, - { - "title": "Microsoft.EmailEntityRecognizer", - "description": "Recognizer which recognizes email.", - "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" - }, - { - "title": "Microsoft.EmitEvent", - "description": "Emit an event. Capture this event with a trigger.", - "$ref": "#/definitions/Microsoft.EmitEvent" - }, - { - "title": "Microsoft.EndDialog", - "description": "End this dialog.", - "$ref": "#/definitions/Microsoft.EndDialog" - }, - { - "title": "Microsoft.EndTurn", - "description": "End the current turn without ending the dialog.", - "$ref": "#/definitions/Microsoft.EndTurn" - }, - { - "title": "Microsoft.FirstSelector", - "description": "Selector for first true rule", - "$ref": "#/definitions/Microsoft.FirstSelector" - }, - { - "title": "Microsoft.Foreach", - "description": "Execute actions on each item in an a collection.", - "$ref": "#/definitions/Microsoft.Foreach" - }, - { - "title": "Microsoft.ForeachPage", - "description": "Execute actions on each page (collection of items) in an array.", - "$ref": "#/definitions/Microsoft.ForeachPage" - }, - { - "title": "Microsoft.GetActivityMembers", - "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetActivityMembers" - }, - { - "title": "Microsoft.GetConversationMembers", - "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetConversationMembers" - }, - { - "title": "Microsoft.GotoAction", - "description": "Go to an an action by id.", - "$ref": "#/definitions/Microsoft.GotoAction" - }, - { - "title": "Microsoft.GuidEntityRecognizer", - "description": "Recognizer which recognizes guids.", - "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" - }, - { - "title": "Microsoft.HashtagEntityRecognizer", - "description": "Recognizer which recognizes Hashtags.", - "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" - }, - { - "title": "Microsoft.HttpRequest", - "description": "Make a HTTP request.", - "$ref": "#/definitions/Microsoft.HttpRequest" - }, - { - "title": "Microsoft.IfCondition", - "description": "Two-way branch the conversation flow based on a condition.", - "$ref": "#/definitions/Microsoft.IfCondition" - }, - { - "title": "Microsoft.IpEntityRecognizer", - "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", - "$ref": "#/definitions/Microsoft.IpEntityRecognizer" - }, - { - "title": "Microsoft.LanguagePolicy", - "description": "This represents a policy map for locales lookups to use for language", - "$ref": "#/definitions/Microsoft.LanguagePolicy" - }, - { - "title": "Microsoft.LogAction", - "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", - "$ref": "#/definitions/Microsoft.LogAction" - }, - { - "title": "Microsoft.LuisRecognizer", - "description": "LUIS recognizer.", - "$ref": "#/definitions/Microsoft.LuisRecognizer" - }, - { - "title": "Microsoft.MentionEntityRecognizer", - "description": "Recognizer which recognizes @Mentions", - "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" - }, - { - "title": "Microsoft.MostSpecificSelector", - "description": "Select most specific true events with optional additional selector", - "$ref": "#/definitions/Microsoft.MostSpecificSelector" - }, - { - "title": "Microsoft.MultiLanguageRecognizer", - "description": "Configure one recognizer per language and the specify the language fallback policy.", - "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" - }, - { - "title": "Microsoft.NumberEntityRecognizer", - "description": "Recognizer which recognizes numbers.", - "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" - }, - { - "title": "Microsoft.NumberInput", - "description": "Collect information - Ask for a number.", - "$ref": "#/definitions/Microsoft.NumberInput" - }, - { - "title": "Microsoft.NumberRangeEntityRecognizer", - "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", - "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" - }, - { - "title": "Microsoft.OAuthInput", - "description": "Collect login information.", - "$ref": "#/definitions/Microsoft.OAuthInput" - }, - { - "title": "Microsoft.OnActivity", - "description": "Actions to perform on receipt of a generic activity.", - "$ref": "#/definitions/Microsoft.OnActivity" - }, - { - "title": "Microsoft.OnAssignEntity", - "description": "Actions to take when an entity should be assigned to a property.", - "$ref": "#/definitions/Microsoft.OnAssignEntity" - }, - { - "title": "Microsoft.OnBeginDialog", - "description": "Actions to perform when this dialog begins.", - "$ref": "#/definitions/Microsoft.OnBeginDialog" - }, - { - "title": "Microsoft.OnCancelDialog", - "description": "Actions to perform on cancel dialog event.", - "$ref": "#/definitions/Microsoft.OnCancelDialog" - }, - { - "title": "Microsoft.OnChooseEntity", - "description": "Actions to be performed when an entity value needs to be resolved.", - "$ref": "#/definitions/Microsoft.OnChooseEntity" - }, - { - "title": "Microsoft.OnChooseIntent", - "description": "Actions to perform on when an intent is ambigious.", - "$ref": "#/definitions/Microsoft.OnChooseIntent" - }, - { - "title": "Microsoft.OnChooseProperty", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "$ref": "#/definitions/Microsoft.OnChooseProperty" - }, - { - "title": "Microsoft.OnCondition", - "description": "Actions to perform when specified condition is true.", - "$ref": "#/definitions/Microsoft.OnCondition" - }, - { - "title": "Microsoft.OnConversationUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", - "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" - }, - { - "title": "Microsoft.OnCustomEvent", - "description": "Actions to perform when a custom event is detected. Use 'Emit a custom event' action to raise a custom event.", - "$ref": "#/definitions/Microsoft.OnCustomEvent" - }, - { - "title": "Microsoft.OnDialogEvent", - "description": "Actions to perform when a specific dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnDialogEvent" - }, - { - "title": "Microsoft.OnEndOfActions", - "description": "Actions to take when there are no more actions in the current dialog.", - "$ref": "#/definitions/Microsoft.OnEndOfActions" - }, - { - "title": "Microsoft.OnEndOfConversationActivity", - "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", - "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" - }, - { - "title": "Microsoft.OnError", - "description": "Action to perform when an 'Error' dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnError" - }, - { - "title": "Microsoft.OnEventActivity", - "description": "Actions to perform on receipt of an activity with type 'Event'.", - "$ref": "#/definitions/Microsoft.OnEventActivity" - }, - { - "title": "Microsoft.OnHandoffActivity", - "description": "Actions to perform on receipt of an activity with type 'HandOff'.", - "$ref": "#/definitions/Microsoft.OnHandoffActivity" - }, - { - "title": "Microsoft.OnIntent", - "description": "Actions to perform when specified intent is recognized.", - "$ref": "#/definitions/Microsoft.OnIntent" - }, - { - "title": "Microsoft.OnInvokeActivity", - "description": "Actions to perform on receipt of an activity with type 'Invoke'.", - "$ref": "#/definitions/Microsoft.OnInvokeActivity" - }, - { - "title": "Microsoft.OnMessageActivity", - "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", - "$ref": "#/definitions/Microsoft.OnMessageActivity" - }, - { - "title": "Microsoft.OnMessageDeleteActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", - "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" - }, - { - "title": "Microsoft.OnMessageReactionActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", - "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" - }, - { - "title": "Microsoft.OnMessageUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", - "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" - }, - { - "title": "Microsoft.OnQnAMatch", - "description": "Actions to perform on when an match from QnAMaker is found.", - "$ref": "#/definitions/Microsoft.OnQnAMatch" - }, - { - "title": "Microsoft.OnRepromptDialog", - "description": "Actions to perform when 'RepromptDialog' event occurs.", - "$ref": "#/definitions/Microsoft.OnRepromptDialog" - }, - { - "title": "Microsoft.OnTypingActivity", - "description": "Actions to perform on receipt of an activity with type 'Typing'.", - "$ref": "#/definitions/Microsoft.OnTypingActivity" - }, - { - "title": "Microsoft.OnUnknownIntent", - "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", - "$ref": "#/definitions/Microsoft.OnUnknownIntent" - }, - { - "title": "Microsoft.OrdinalEntityRecognizer", - "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", - "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" - }, - { - "title": "Microsoft.PercentageEntityRecognizer", - "description": "Recognizer which recognizes percentages.", - "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" - }, - { - "title": "Microsoft.PhoneNumberEntityRecognizer", - "description": "Recognizer which recognizes phone numbers.", - "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" - }, - { - "title": "Microsoft.RandomSelector", - "description": "Select most specific true rule", - "$ref": "#/definitions/Microsoft.RandomSelector" - }, - { - "title": "Microsoft.RecognizerSet", - "description": "Creates the union of the intents and entities of the recognizers in the set.", - "$ref": "#/definitions/Microsoft.RecognizerSet" - }, - { - "title": "Microsoft.RegexEntityRecognizer", - "description": "Recognizer which recognizes patterns of input based on regex.", - "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" - }, - { - "title": "Microsoft.RegexRecognizer", - "description": "Use regular expressions to recognize intents and entities from user input.", - "$ref": "#/definitions/Microsoft.RegexRecognizer" - }, - { - "title": "Microsoft.RepeatDialog", - "description": "Repeat current dialog.", - "$ref": "#/definitions/Microsoft.RepeatDialog" - }, - { - "title": "Microsoft.ReplaceDialog", - "description": "Replace current dialog with another dialog.", - "$ref": "#/definitions/Microsoft.ReplaceDialog" - }, - { - "title": "Microsoft.ResourceMultiLanguageGenerator", - "description": "MultiLanguage Generator which is bound to resource by resource Id.", - "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" - }, - { - "title": "Microsoft.SendActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.SendActivity" - }, - { - "title": "Microsoft.SetProperties", - "description": "Set one or more property values.", - "$ref": "#/definitions/Microsoft.SetProperties" - }, - { - "title": "Microsoft.SetProperty", - "description": "Set property to a value.", - "$ref": "#/definitions/Microsoft.SetProperty" - }, - { - "title": "Microsoft.SignOutUser", - "description": "Sign a user out that was logged in previously using OAuthInput.", - "$ref": "#/definitions/Microsoft.SignOutUser" - }, - { - "title": "Microsoft.SkillDialog", - "description": "Begin a remote skill dialog.", - "$ref": "#/definitions/Microsoft.SkillDialog" - }, - { - "title": "Microsoft.StaticActivityTemplate", - "description": "This allows you to define a static Activity object", - "$ref": "#/definitions/Microsoft.StaticActivityTemplate" - }, - { - "title": "Microsoft.SwitchCondition", - "description": "Execute different actions based on the value of a property.", - "$ref": "#/definitions/Microsoft.SwitchCondition" - }, - { - "title": "Microsoft.TemperatureEntityRecognizer", - "description": "Recognizer which recognizes temperatures.", - "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" - }, - { - "title": "Microsoft.TemplateEngineLanguageGenerator", - "description": "Template Generator which allows only inline evaluation of templates.", - "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" - }, - { - "title": "Microsoft.TextInput", - "description": "Collection information - Ask for a word or sentence.", - "$ref": "#/definitions/Microsoft.TextInput" - }, - { - "title": "Microsoft.TextTemplate", - "description": "Use LG Templates to create text", - "$ref": "#/definitions/Microsoft.TextTemplate" - }, - { - "title": "Microsoft.TraceActivity", - "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", - "$ref": "#/definitions/Microsoft.TraceActivity" - }, - { - "title": "Microsoft.TrueSelector", - "description": "Selector for all true events", - "$ref": "#/definitions/Microsoft.TrueSelector" - }, - { - "title": "Microsoft.UpdateActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.UpdateActivity" - }, - { - "title": "Microsoft.UrlEntityRecognizer", - "description": "Recognizer which recognizes urls.", - "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" - } - ], - "definitions": { - "Microsoft.ActivityTemplate": { - "$role": "implements(Microsoft.IActivityTemplate)", - "title": "Microsoft ActivityTemplate", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ActivityTemplate" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "template": { - "title": "Template", - "Description": "Language Generator template to use to create the activity", - "type": "string" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "template", - "$kind" - ] - } - ] - }, - "Microsoft.AdaptiveDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Adaptive Dialog", - "description": "Flexible, data driven dialog that can adapt to the conversation.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.AdaptiveDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional dialog ID." - }, - "autoEndDialog": { - "type": "boolean", - "title": "Auto end dialog", - "description": "If set to true the dialog will automatically end when there are no further actions. If set to false, remember to manually end the dialog using EndDialog action.", - "default": true - }, - "defaultResultProperty": { - "type": "string", - "title": "Default result property", - "description": "Value that will be passed back to the parent dialog.", - "default": "dialog.result" - }, - "recognizer": { - "$kind": "Microsoft.IRecognizer", - "title": "Recognizer", - "description": "Input recognizer that interprets user input into intent and entities.", - "$ref": "#/definitions/Microsoft.IRecognizer" - }, - "generator": { - "$kind": "Microsoft.ILanguageGenerator", - "title": "Language Generator", - "description": "Language generator that generates bot responses.", - "$ref": "#/definitions/Microsoft.ILanguageGenerator" - }, - "selector": { - "$kind": "Microsoft.ITriggerSelector", - "title": "Selector", - "description": "Policy to determine which trigger is executed. Defaults to a 'best match' selector (optional).", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - }, - "triggers": { - "type": "array", - "description": "List of triggers defined for this dialog.", - "title": "Triggers", - "items": { - "$kind": "Microsoft.ITrigger", - "$ref": "#/definitions/Microsoft.ITrigger" - } - }, - "schema": { - "anyOf": [ - { - "title": "The schema to be filled in.", - "type": "object", - "additionalProperties": true - }, - { - "type": "string", - "title": "Reference to JSON schema", - "description": "Reference to JSON schema .dialog file." - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.AgeEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Age Entity Recognizer", - "description": "Recognizer which recognizes age.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.AgeEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.Ask": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send Activity to Ask a question", - "description": "This is an action which sends an activity to the user when a response is expected", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.Ask" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "Activity to send.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "expectedProperties": { - "title": "Expected Properties", - "description": "Properties expected from the user.", - "examples": [ - [ - "age", - "name" - ] - ], - "$role": "expression", - "oneOf": [ - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "items": { - "type": "string", - "title": "Name", - "description": "Name of the property" - } - }, - "defaultOperation": { - "title": "Default Operation", - "description": "Sets the default operation that will be used when no operation is recognized in the response to this Ask.", - "examples": [ - "add" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.AttachmentInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Attachment input dialog", - "description": "Collect information - Ask for a file or image.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.AttachmentInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "$role": "expression", - "title": "Default value", - "description": "'Property' will be set to the object or the result of this expression when max turn count is exceeded.", - "oneOf": [ - { - "title": "Object", - "description": "An attachment within an activity", - "type": "object", - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - }, - "required": [ - "contentType" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "value": { - "$role": "expression", - "title": "Value", - "description": "'Property' will be set to the object or the result of this expression unless it evaluates to null.", - "oneOf": [ - { - "title": "Object", - "description": "An attachment within an activity", - "type": "object", - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - }, - "required": [ - "contentType" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "outputFormat": { - "$role": "expression", - "title": "Output format", - "description": "Attachment output format.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "all", - "first" - ], - "default": "first" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.BeginDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Begin a dialog", - "description": "Begin another dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.BeginDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "dialog": { - "oneOf": [ - { - "$kind": "Microsoft.IDialog", - "pattern": "^(?!(=)).*", - "title": "Dialog", - "$ref": "#/definitions/Microsoft.IDialog" - }, - { - "examples": [ - "=settings.dialogId" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "title": "Dialog name", - "description": "Name of the dialog to call." - }, - "options": { - "title": "Options", - "description": "One or more options that are passed to the dialog that is called.", - "examples": [ - { - "arg1": "=expression" - } - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "additionalProperties": { - "type": "string", - "title": "Options" - } - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the dialog that is called can process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "resultProperty": { - "title": "Property", - "description": "Property to store any value returned by the dialog that is called.", - "examples": [ - "dialog.userName" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.BreakLoop": { - "$role": "implements(Microsoft.IDialog)", - "title": "Break Loop", - "description": "Stop executing this loop", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.BreakLoop" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.CancelAllDialogs": { - "$role": "implements(Microsoft.IDialog)", - "title": "Cancel all dialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CancelAllDialogs" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the caller dialog is told it should process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventName": { - "title": "Event name", - "description": "Name of the event to emit.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventValue": { - "title": "Event value", - "description": "Value to emit with the event (optional).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "additionalProperties": true - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.CancelDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Cancel all dialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CancelDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the caller dialog is told it should process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventName": { - "title": "Event name", - "description": "Name of the event to emit.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventValue": { - "title": "Event value", - "description": "Value to emit with the event (optional).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "additionalProperties": true - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ChoiceInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Choice input dialog", - "description": "Collect information - Pick from a list of choices", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ChoiceInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "$role": "expression", - "title": "Output format", - "description": "Sets the desired choice output format (either value or index into choices).", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "value", - "index" - ], - "default": "value" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "choices": { - "$role": "expression", - "title": "Array of choices", - "oneOf": [ - { - "type": "array", - "title": "Strings", - "items": [ - { - "type": "string", - "title": "string" - } - ] - }, - { - "type": "array", - "title": "Objects", - "items": [ - { - "type": "object", - "title": "Choice", - "properties": { - "value": { - "type": "string", - "title": "Value", - "description": "Value to return when this choice is selected." - }, - "action": { - "title": "Action", - "description": "Card action for the choice.", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - }, - "synonyms": { - "type": "array", - "title": "Synonyms", - "description": "List of synonyms to recognize in addition to the value (optional).", - "items": { - "type": "string", - "title": "Synonym" - } - } - } - } - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "defaultLocale": { - "title": "Default locale", - "description": "The default locale to use to parse confirmation choices if there is not one passed by the caller.", - "default": "en-us", - "examples": [ - "en-us" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "style": { - "$role": "expression", - "title": "List style", - "description": "Sets the ListStyle to control how choices are rendered.", - "oneOf": [ - { - "type": "string", - "title": "List style", - "enum": [ - "none", - "auto", - "inline", - "list", - "suggestedAction", - "heroCard" - ], - "default": "auto" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "choiceOptions": { - "title": "Choice options", - "description": "Sets the choice options used for controlling how choices are combined.", - "oneOf": [ - { - "type": "object", - "title": "Object", - "properties": { - "inlineSeparator": { - "type": "string", - "title": "Inline separator", - "description": "Character used to separate individual choices when there are more than 2 choices", - "default": ", " - }, - "inlineOr": { - "type": "string", - "title": "Inline or", - "description": "Separator inserted between the choices when there are only 2 choices", - "default": " or " - }, - "inlineOrMore": { - "type": "string", - "title": "Inline or more", - "description": "Separator inserted between the last 2 choices when their are more than 2 choices.", - "default": ", or " - }, - "includeNumbers": { - "type": "boolean", - "title": "Include numbers", - "description": "If true, 'inline' and 'list' list style will be prefixed with the index of the choice.", - "default": true - } - } - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "recognizerOptions": { - "title": "Recognizer options", - "description": "Sets how to recognize choices in the response", - "oneOf": [ - { - "type": "object", - "title": "Recognizer options", - "properties": { - "noValue": { - "type": "boolean", - "title": "No value", - "description": "If true, the choices value field will NOT be search over", - "default": false - }, - "noAction": { - "type": "boolean", - "title": "No action", - "description": "If true, the choices action.title field will NOT be searched over", - "default": false - }, - "recognizeNumbers": { - "type": "boolean", - "title": "Recognize numbers", - "description": "If true, the number recognizer will be used to recognize an index response (1,2,3...) to the prompt.", - "default": true - }, - "recognizeOrdinals": { - "type": "boolean", - "title": "Recognize ordinals", - "description": "If true, the ordinal recognizer will be used to recognize ordinal response (first/second/...) to the prompt.", - "default": true - } - } - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ConditionalSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "Conditional Trigger Selector", - "description": "Use a rule selector based on a condition", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ConditionalSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Expression to evaluate", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "ifTrue": { - "$kind": "Microsoft.ITriggerSelector", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - }, - "ifFalse": { - "$kind": "Microsoft.ITriggerSelector", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "condition", - "ifTrue", - "ifFalse", - "$kind" - ] - } - ] - }, - "Microsoft.ConfirmInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Confirm input dialog", - "description": "Collect information - Ask for confirmation (yes or no).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ConfirmInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Optional expression to use to format the output.", - "examples": [ - "=concat('confirmation:', this.value)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultLocale": { - "title": "Default locale", - "description": "The Default locale or an expression which provides the default locale to use as default if not found in the activity.", - "default": "en-us", - "examples": [ - "en-us" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "style": { - "$role": "expression", - "title": "List style", - "description": "Sets the ListStyle to control how choices are rendered.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "none", - "auto", - "inline", - "list", - "suggestedAction", - "heroCard" - ], - "default": "auto" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "choiceOptions": { - "title": "Choice Options", - "description": "Choice Options or expression which provides Choice Options to control display choices to the user.", - "oneOf": [ - { - "type": "object", - "title": "Object", - "properties": { - "inlineSeparator": { - "type": "string", - "title": "Inline separator", - "description": "Text to separate individual choices when there are more than 2 choices", - "default": ", " - }, - "inlineOr": { - "type": "string", - "title": "Inline or", - "description": "Text to be inserted between the choices when their are only 2 choices", - "default": " or " - }, - "inlineOrMore": { - "type": "string", - "title": "Inline or more", - "description": "Text to be inserted between the last 2 choices when their are more than 2 choices.", - "default": ", or " - }, - "includeNumbers": { - "type": "boolean", - "title": "Include numbers", - "description": "If true, inline and list style choices will be prefixed with the index of the choice.", - "default": true - } - } - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "'Property' will be set to the value of this expression unless it evaluates to null.", - "examples": [ - true, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "confirmChoices": { - "$role": "expression", - "title": "Array of choice objects", - "oneOf": [ - { - "type": "array", - "title": "Strings", - "items": [ - { - "type": "string", - "title": "string" - } - ] - }, - { - "type": "array", - "title": "Objects", - "items": [ - { - "type": "object", - "title": "Choice", - "properties": { - "value": { - "type": "string", - "title": "Value", - "description": "Value to return when this choice is selected." - }, - "action": { - "title": "Action", - "description": "Card action for the choice.", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - }, - "synonyms": { - "type": "array", - "title": "Synonyms", - "description": "List of synonyms to recognize in addition to the value (optional).", - "items": { - "type": "string", - "title": "Synonym" - } - } - } - } - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ConfirmationEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Confirmation Entity Recognizer", - "description": "Recognizer which recognizes confirmation choices (yes/no).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ConfirmationEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ContinueLoop": { - "$role": "implements(Microsoft.IDialog)", - "title": "Continue Loop", - "description": "Stop executing this template and continue with the next iteration of the loop.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ContinueLoop" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.CrossTrainedRecognizerSet": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Cross-trained Recognizer Set", - "description": "Recognizer for selecting between cross trained recognizers.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CrossTrainedRecognizerSet" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet." - }, - "recognizers": { - "type": "array", - "title": "Recognizers", - "description": "List of Recognizers defined for this set.", - "items": { - "$kind": "Microsoft.IRecognizer", - "$ref": "#/definitions/Microsoft.IRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "recognizers", - "$kind" - ] - } - ] - }, - "Microsoft.CurrencyEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Currency Entity Recognizer", - "description": "Recognizer which recognizes currency.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.CurrencyEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DateTimeEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "DateTime Entity Recognizer", - "description": "Recognizer which recognizes dates and time fragments.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DateTimeEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DateTimeInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Date/time input dialog", - "description": "Collect information - Ask for date and/ or time", - "type": "object", - "defaultLocale": { - "title": "Default locale", - "description": "Default locale.", - "default": "en-us", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DateTimeInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "format": "date-time", - "title": "Default Date", - "description": "'Property' will be set to the value or the result of the expression when max turn count is exceeded.", - "examples": [ - "=user.birthday" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "format": "date-time", - "title": "Value", - "description": "'Property' will be set to the value or the result of the expression unless it evaluates to null.", - "examples": [ - "=user.birthday" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Expression to use for formatting the output.", - "examples": [ - "=this.value[0].Value" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DebugBreak": { - "$role": "implements(Microsoft.IDialog)", - "title": "Debugger break", - "description": "If debugger is attached, stop the execution at this point in the conversation.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DebugBreak" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.DeleteActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Delete Activity", - "description": "Delete an activity that was previously sent.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DeleteActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "activityId": { - "title": "ActivityId", - "description": "expression to an activityId to delete", - "examples": [ - "=$lastActivity" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "activityId", - "$kind" - ] - } - ] - }, - "Microsoft.DeleteProperties": { - "$role": "implements(Microsoft.IDialog)", - "title": "Delete Properties", - "description": "Delete multiple properties and any value it holds.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DeleteProperties" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "properties": { - "type": "array", - "title": "Properties", - "description": "Properties to delete.", - "items": { - "title": "Property", - "description": "Property to delete.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "properties", - "$kind" - ] - } - ] - }, - "Microsoft.DeleteProperty": { - "$role": "implements(Microsoft.IDialog)", - "title": "Delete Property", - "description": "Delete a property and any value it holds.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DeleteProperty" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "title": "Property", - "description": "Property to delete.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "property", - "$kind" - ] - } - ] - }, - "Microsoft.DimensionEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Dimension Entity Recognizer", - "description": "Recognizer which recognizes dimension.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.DimensionEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.EditActions": { - "$role": "implements(Microsoft.IDialog)", - "title": "Edit actions.", - "description": "Edit the current list of actions.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EditActions" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "changeType": { - "title": "Type of change", - "description": "Type of change to apply to the current actions.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "insertActions", - "insertActionsBeforeTags", - "appendActions", - "endSequence", - "replaceSequence" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to apply.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "changeType", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.EditArray": { - "$role": "implements(Microsoft.IDialog)", - "title": "Edit array", - "description": "Modify an array in memory", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EditArray" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "changeType": { - "title": "Type of change", - "description": "Type of change to the array in memory.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "push", - "pop", - "take", - "remove", - "clear" - ] - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "itemsProperty": { - "title": "Items property", - "description": "Property that holds the array to update.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "resultProperty": { - "title": "Result Property", - "description": "Property to store the result of this action.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "New value or expression.", - "examples": [ - "milk", - "=dialog.favColor", - "=dialog.favColor == 'red'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "itemsProperty", - "$kind" - ] - } - ] - }, - "Microsoft.EmailEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Email Entity Recognizer", - "description": "Recognizer which recognizes email.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EmailEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.EmitEvent": { - "$role": "implements(Microsoft.IDialog)", - "title": "Emit a custom event", - "description": "Emit an event. Capture this event with a trigger.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EmitEvent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "eventName": { - "$role": "expression", - "title": "Event name", - "description": "Name of the event to emit.", - "oneOf": [ - { - "type": "string", - "title": "Built-in event", - "enum": [ - "beginDialog", - "resumeDialog", - "repromptDialog", - "cancelDialog", - "endDialog", - "activityReceived", - "recognizedIntent", - "unknownIntent", - "actionsStarted", - "actionsSaved", - "actionsEnded", - "actionsResumed" - ] - }, - { - "title": "Custom event", - "pattern": "^(?!(beginDialog$|resumeDialog$|repromptDialog$|cancelDialog$|endDialog$|activityReceived$|recognizedIntent$|unknownIntent$|actionsStarted$|actionsSaved$|actionsEnded$|actionsResumed))(\\S){1}.*" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ] - }, - "eventValue": { - "title": "Event value", - "description": "Value to emit with the event (optional).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "bubbleEvent": { - "title": "Bubble event", - "description": "If true this event is passed on to parent dialogs.", - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "eventName", - "$kind" - ] - } - ] - }, - "Microsoft.EndDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "End dialog", - "description": "End this dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EndDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "Result value returned to the parent dialog.", - "examples": [ - "=dialog.userName", - "='tomato'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.EndTurn": { - "$role": "implements(Microsoft.IDialog)", - "title": "End turn", - "description": "End the current turn without ending the dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.EndTurn" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.FirstSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "First Trigger Selector", - "description": "Selector for first true rule", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.FirstSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.Foreach": { - "$role": "implements(Microsoft.IDialog)", - "title": "For each item", - "description": "Execute actions on each item in an a collection.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.Foreach" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "itemsProperty": { - "title": "Items property", - "description": "Property that holds the array.", - "examples": [ - "user.todoList" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "index": { - "title": "Index property", - "description": "Property that holds the index of the item.", - "default": "dialog.foreach.index", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value property", - "description": "Property that holds the value of the item.", - "default": "dialog.foreach.value", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute for each item. Use '$foreach.value' to access the value of each item. Use '$foreach.index' to access the index of each item.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "itemsProperty", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.ForeachPage": { - "$role": "implements(Microsoft.IDialog)", - "title": "For each page", - "description": "Execute actions on each page (collection of items) in an array.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ForeachPage" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "itemsProperty": { - "title": "Items property", - "description": "Property that holds the array.", - "examples": [ - "user.todoList" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute for each page. Use '$foreach.page' to access each page.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "pageIndex": { - "title": "Index property", - "description": "Property that holds the index of the page.", - "default": "dialog.foreach.pageindex", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "page": { - "title": "Page property", - "description": "Property that holds the value of the page.", - "default": "dialog.foreach.page", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "pageSize": { - "title": "Page size", - "description": "Number of items in each page.", - "default": 10, - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "itemsProperty", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.GetActivityMembers": { - "$role": "implements(Microsoft.IDialog)", - "title": "Get Activity Members", - "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GetActivityMembers" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "property": { - "title": "Property", - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityId": { - "title": "ActivityId", - "description": "Activity ID or expression to an activityId to use to get the members. If none is defined then the current activity id will be used.", - "examples": [ - "$lastActivity" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.GetConversationMembers": { - "$role": "implements(Microsoft.IDialog)", - "title": "Get Converation Members", - "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GetConversationMembers" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "property": { - "title": "Property", - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.GotoAction": { - "$role": "implements(Microsoft.IDialog)", - "title": "Go to Action", - "description": "Go to an an action by id.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GotoAction" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actionId": { - "title": "Action Id", - "description": "Action Id to execute next", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actionId", - "$kind" - ] - } - ] - }, - "Microsoft.GuidEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Guid Entity Recognizer", - "description": "Recognizer which recognizes guids.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.GuidEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.HashtagEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Hashtag Entity Recognizer", - "description": "Recognizer which recognizes Hashtags.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.HashtagEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.HttpRequest": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "HTTP request", - "description": "Make a HTTP request.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.HttpRequest" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "method": { - "type": "string", - "title": "HTTP method", - "description": "HTTP method to use.", - "enum": [ - "GET", - "POST", - "PATCH", - "PUT", - "DELETE" - ], - "examples": [ - "GET", - "POST" - ] - }, - "url": { - "title": "Url", - "description": "URL to call (supports data binding).", - "examples": [ - "https://contoso.com" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "body": { - "title": "Body", - "description": "Body to include in the HTTP call (supports data binding).", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "additionalProperties": true - }, - "resultProperty": { - "title": "Result property", - "description": "Property to store the result of this action. The result includes 4 properties from the http response: statusCode, reasonPhrase, content and headers. If the content is json it will be a deserialized object.", - "examples": [ - "dialog.contosodata" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "contentType": { - "title": "Content type", - "description": "Content media type for the body.", - "examples": [ - "application/json", - "text/plain" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "headers": { - "type": "object", - "title": "Headers", - "description": "One or more headers to include in the request (supports data binding).", - "additionalProperties": { - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "responseType": { - "title": "Response type", - "description": "Defines the type of HTTP response. Automatically calls the 'Send a response' action if set to 'Activity' or 'Activities'.", - "oneOf": [ - { - "type": "string", - "title": "Enum", - "enum": [ - "none", - "json", - "activity", - "activities" - ], - "default": "json" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "$role": "expression" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "url", - "method", - "$kind" - ] - } - ] - }, - "Microsoft.IActivityTemplate": { - "title": "Microsoft ActivityTemplates", - "description": "Components which are ActivityTemplate, which is string template, an activity, or a implementation of ActivityTemplate", - "$role": "interface", - "oneOf": [ - { - "required": [ - "type" - ], - "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", - "title": "Activity", - "type": "object", - "properties": { - "type": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - }, - "id": { - "description": "Contains an ID that uniquely identifies the activity on the channel.", - "type": "string", - "title": "id" - }, - "timestamp": { - "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", - "type": "string", - "format": "date-time", - "title": "timestamp" - }, - "localTimestamp": { - "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", - "type": "string", - "format": "date-time", - "title": "localTimestamp" - }, - "localTimezone": { - "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", - "type": "string", - "title": "localTimezone" - }, - "serviceUrl": { - "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", - "type": "string", - "title": "serviceUrl" - }, - "channelId": { - "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", - "type": "string", - "title": "channelId" - }, - "from": { - "description": "Identifies the sender of the message.", - "title": "from", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Identifies the conversation to which the activity belongs.", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "recipient": { - "description": "Identifies the recipient of the message.", - "title": "recipient", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "textFormat": { - "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", - "type": "string", - "title": "textFormat" - }, - "attachmentLayout": { - "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", - "type": "string", - "title": "attachmentLayout" - }, - "membersAdded": { - "description": "The collection of members added to the conversation.", - "type": "array", - "title": "membersAdded", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "membersRemoved": { - "description": "The collection of members removed from the conversation.", - "type": "array", - "title": "membersRemoved", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "reactionsAdded": { - "description": "The collection of reactions added to the conversation.", - "type": "array", - "title": "reactionsAdded", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "reactionsRemoved": { - "description": "The collection of reactions removed from the conversation.", - "type": "array", - "title": "reactionsRemoved", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "topicName": { - "description": "The updated topic name of the conversation.", - "type": "string", - "title": "topicName" - }, - "historyDisclosed": { - "description": "Indicates whether the prior history of the channel is disclosed.", - "type": "boolean", - "title": "historyDisclosed" - }, - "locale": { - "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", - "type": "string", - "title": "locale" - }, - "text": { - "description": "The text content of the message.", - "type": "string", - "title": "text" - }, - "speak": { - "description": "The text to speak.", - "type": "string", - "title": "speak" - }, - "inputHint": { - "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", - "type": "string", - "title": "inputHint" - }, - "summary": { - "description": "The text to display if the channel cannot render cards.", - "type": "string", - "title": "summary" - }, - "suggestedActions": { - "description": "The suggested actions for the activity.", - "title": "suggestedActions", - "type": "object", - "required": [ - "actions", - "to" - ], - "properties": { - "to": { - "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", - "type": "array", - "title": "to", - "items": { - "type": "string", - "title": "string" - } - }, - "actions": { - "description": "Actions that can be shown to the user", - "type": "array", - "title": "actions", - "items": { - "description": "A clickable action", - "title": "CardAction", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - } - } - } - }, - "attachments": { - "description": "Attachments", - "type": "array", - "title": "attachments", - "items": { - "description": "An attachment within an activity", - "title": "Attachment", - "type": "object", - "required": [ - "contentType" - ], - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - } - } - }, - "entities": { - "description": "Represents the entities that were mentioned in the message.", - "type": "array", - "title": "entities", - "items": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - }, - "title": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - }, - "channelData": { - "description": "Contains channel-specific content.", - "title": "channelData" - }, - "action": { - "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", - "type": "string", - "title": "action" - }, - "replyToId": { - "description": "Contains the ID of the message to which this message is a reply.", - "type": "string", - "title": "replyToId" - }, - "label": { - "description": "A descriptive label for the activity.", - "type": "string", - "title": "label" - }, - "valueType": { - "description": "The type of the activity's value object.", - "type": "string", - "title": "valueType" - }, - "value": { - "description": "A value that is associated with the activity.", - "title": "value" - }, - "name": { - "description": "The name of the operation associated with an invoke or event activity.", - "type": "string", - "title": "name" - }, - "relatesTo": { - "description": "A reference to another conversation or activity.", - "title": "relatesTo", - "type": "object", - "required": [ - "bot", - "channelId", - "conversation", - "serviceUrl" - ], - "properties": { - "activityId": { - "description": "(Optional) ID of the activity to refer to", - "type": "string", - "title": "activityId" - }, - "user": { - "description": "(Optional) User participating in this conversation", - "title": "user", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "bot": { - "description": "Bot participating in this conversation", - "title": "bot", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Conversation reference", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "channelId": { - "description": "Channel ID", - "type": "string", - "title": "channelId" - }, - "serviceUrl": { - "description": "Service endpoint where operations concerning the referenced conversation may be performed", - "type": "string", - "title": "serviceUrl" - } - } - }, - "code": { - "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", - "type": "string", - "title": "code" - }, - "expiration": { - "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", - "type": "string", - "format": "date-time", - "title": "expiration" - }, - "importance": { - "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", - "type": "string", - "title": "importance" - }, - "deliveryMode": { - "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", - "type": "string", - "title": "deliveryMode" - }, - "listenFor": { - "description": "List of phrases and references that speech and language priming systems should listen for", - "type": "array", - "title": "listenFor", - "items": { - "type": "string", - "title": "string" - } - }, - "textHighlights": { - "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", - "type": "array", - "title": "textHighlights", - "items": { - "description": "Refers to a substring of content within another field", - "title": "TextHighlight", - "type": "object", - "required": [ - "occurrence", - "text" - ], - "properties": { - "text": { - "description": "Defines the snippet of text to highlight", - "type": "string", - "title": "text" - }, - "occurrence": { - "description": "Occurrence of the text field within the referenced text, if multiple exist.", - "type": "number", - "title": "occurrence" - } - } - } - }, - "semanticAction": { - "description": "An optional programmatic action accompanying this request", - "title": "semanticAction", - "type": "object", - "required": [ - "entities", - "id" - ], - "properties": { - "id": { - "description": "ID of this action", - "type": "string", - "title": "id" - }, - "entities": { - "description": "Entities associated with this action", - "type": "object", - "title": "entities", - "additionalProperties": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - }, - "title": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - } - } - }, - "title": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - } - } - }, - { - "title": "Microsoft.ActivityTemplate", - "description": "", - "$ref": "#/definitions/Microsoft.ActivityTemplate" - }, - { - "title": "Microsoft.StaticActivityTemplate", - "description": "This allows you to define a static Activity object", - "$ref": "#/definitions/Microsoft.StaticActivityTemplate" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.IDialog": { - "title": "Microsoft Dialogs", - "description": "Components which derive from Dialog", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.AdaptiveDialog", - "description": "Flexible, data driven dialog that can adapt to the conversation.", - "$ref": "#/definitions/Microsoft.AdaptiveDialog" - }, - { - "title": "Microsoft.Ask", - "description": "This is an action which sends an activity to the user when a response is expected", - "$ref": "#/definitions/Microsoft.Ask" - }, - { - "title": "Microsoft.AttachmentInput", - "description": "Collect information - Ask for a file or image.", - "$ref": "#/definitions/Microsoft.AttachmentInput" - }, - { - "title": "Microsoft.BeginDialog", - "description": "Begin another dialog.", - "$ref": "#/definitions/Microsoft.BeginDialog" - }, - { - "title": "Microsoft.BreakLoop", - "description": "Stop executing this loop", - "$ref": "#/definitions/Microsoft.BreakLoop" - }, - { - "title": "Microsoft.CancelAllDialogs", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelAllDialogs" - }, - { - "title": "Microsoft.CancelDialog", - "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", - "$ref": "#/definitions/Microsoft.CancelDialog" - }, - { - "title": "Microsoft.ChoiceInput", - "description": "Collect information - Pick from a list of choices", - "$ref": "#/definitions/Microsoft.ChoiceInput" - }, - { - "title": "Microsoft.ConfirmInput", - "description": "Collect information - Ask for confirmation (yes or no).", - "$ref": "#/definitions/Microsoft.ConfirmInput" - }, - { - "title": "Microsoft.ContinueLoop", - "description": "Stop executing this template and continue with the next iteration of the loop.", - "$ref": "#/definitions/Microsoft.ContinueLoop" - }, - { - "title": "Microsoft.DateTimeInput", - "description": "Collect information - Ask for date and/ or time", - "$ref": "#/definitions/Microsoft.DateTimeInput" - }, - { - "title": "Microsoft.DebugBreak", - "description": "If debugger is attached, stop the execution at this point in the conversation.", - "$ref": "#/definitions/Microsoft.DebugBreak" - }, - { - "title": "Microsoft.DeleteActivity", - "description": "Delete an activity that was previously sent.", - "$ref": "#/definitions/Microsoft.DeleteActivity" - }, - { - "title": "Microsoft.DeleteProperties", - "description": "Delete multiple properties and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperties" - }, - { - "title": "Microsoft.DeleteProperty", - "description": "Delete a property and any value it holds.", - "$ref": "#/definitions/Microsoft.DeleteProperty" - }, - { - "title": "Microsoft.EditActions", - "description": "Edit the current list of actions.", - "$ref": "#/definitions/Microsoft.EditActions" - }, - { - "title": "Microsoft.EditArray", - "description": "Modify an array in memory", - "$ref": "#/definitions/Microsoft.EditArray" - }, - { - "title": "Microsoft.EmitEvent", - "description": "Emit an event. Capture this event with a trigger.", - "$ref": "#/definitions/Microsoft.EmitEvent" - }, - { - "title": "Microsoft.EndDialog", - "description": "End this dialog.", - "$ref": "#/definitions/Microsoft.EndDialog" - }, - { - "title": "Microsoft.EndTurn", - "description": "End the current turn without ending the dialog.", - "$ref": "#/definitions/Microsoft.EndTurn" - }, - { - "title": "Microsoft.Foreach", - "description": "Execute actions on each item in an a collection.", - "$ref": "#/definitions/Microsoft.Foreach" - }, - { - "title": "Microsoft.ForeachPage", - "description": "Execute actions on each page (collection of items) in an array.", - "$ref": "#/definitions/Microsoft.ForeachPage" - }, - { - "title": "Microsoft.GetActivityMembers", - "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetActivityMembers" - }, - { - "title": "Microsoft.GetConversationMembers", - "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", - "$ref": "#/definitions/Microsoft.GetConversationMembers" - }, - { - "title": "Microsoft.GotoAction", - "description": "Go to an an action by id.", - "$ref": "#/definitions/Microsoft.GotoAction" - }, - { - "title": "Microsoft.HttpRequest", - "description": "Make a HTTP request.", - "$ref": "#/definitions/Microsoft.HttpRequest" - }, - { - "title": "Microsoft.IfCondition", - "description": "Two-way branch the conversation flow based on a condition.", - "$ref": "#/definitions/Microsoft.IfCondition" - }, - { - "title": "Microsoft.LogAction", - "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", - "$ref": "#/definitions/Microsoft.LogAction" - }, - { - "title": "Microsoft.NumberInput", - "description": "Collect information - Ask for a number.", - "$ref": "#/definitions/Microsoft.NumberInput" - }, - { - "title": "Microsoft.OAuthInput", - "description": "Collect login information.", - "$ref": "#/definitions/Microsoft.OAuthInput" - }, - { - "title": "Microsoft.RepeatDialog", - "description": "Repeat current dialog.", - "$ref": "#/definitions/Microsoft.RepeatDialog" - }, - { - "title": "Microsoft.ReplaceDialog", - "description": "Replace current dialog with another dialog.", - "$ref": "#/definitions/Microsoft.ReplaceDialog" - }, - { - "title": "Microsoft.SendActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.SendActivity" - }, - { - "title": "Microsoft.SetProperties", - "description": "Set one or more property values.", - "$ref": "#/definitions/Microsoft.SetProperties" - }, - { - "title": "Microsoft.SetProperty", - "description": "Set property to a value.", - "$ref": "#/definitions/Microsoft.SetProperty" - }, - { - "title": "Microsoft.SignOutUser", - "description": "Sign a user out that was logged in previously using OAuthInput.", - "$ref": "#/definitions/Microsoft.SignOutUser" - }, - { - "title": "Microsoft.SkillDialog", - "description": "Begin a remote skill dialog.", - "$ref": "#/definitions/Microsoft.SkillDialog" - }, - { - "title": "Microsoft.SwitchCondition", - "description": "Execute different actions based on the value of a property.", - "$ref": "#/definitions/Microsoft.SwitchCondition" - }, - { - "title": "Microsoft.TextInput", - "description": "Collection information - Ask for a word or sentence.", - "$ref": "#/definitions/Microsoft.TextInput" - }, - { - "title": "Microsoft.TraceActivity", - "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", - "$ref": "#/definitions/Microsoft.TraceActivity" - }, - { - "title": "Microsoft.UpdateActivity", - "description": "Respond with an activity.", - "$ref": "#/definitions/Microsoft.UpdateActivity" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.IEntityRecognizer": { - "$role": "interface", - "title": "Entity Recognizers", - "description": "Components which derive from EntityRecognizer.", - "type": "object", - "oneOf": [ - { - "title": "Microsoft.AgeEntityRecognizer", - "description": "Recognizer which recognizes age.", - "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" - }, - { - "title": "Microsoft.ConfirmationEntityRecognizer", - "description": "Recognizer which recognizes confirmation choices (yes/no).", - "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" - }, - { - "title": "Microsoft.CurrencyEntityRecognizer", - "description": "Recognizer which recognizes currency.", - "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" - }, - { - "title": "Microsoft.DateTimeEntityRecognizer", - "description": "Recognizer which recognizes dates and time fragments.", - "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" - }, - { - "title": "Microsoft.DimensionEntityRecognizer", - "description": "Recognizer which recognizes dimension.", - "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" - }, - { - "title": "Microsoft.EmailEntityRecognizer", - "description": "Recognizer which recognizes email.", - "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" - }, - { - "title": "Microsoft.GuidEntityRecognizer", - "description": "Recognizer which recognizes guids.", - "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" - }, - { - "title": "Microsoft.HashtagEntityRecognizer", - "description": "Recognizer which recognizes Hashtags.", - "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" - }, - { - "title": "Microsoft.IpEntityRecognizer", - "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", - "$ref": "#/definitions/Microsoft.IpEntityRecognizer" - }, - { - "title": "Microsoft.MentionEntityRecognizer", - "description": "Recognizer which recognizes @Mentions", - "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" - }, - { - "title": "Microsoft.NumberEntityRecognizer", - "description": "Recognizer which recognizes numbers.", - "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" - }, - { - "title": "Microsoft.NumberRangeEntityRecognizer", - "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", - "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" - }, - { - "title": "Microsoft.OrdinalEntityRecognizer", - "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", - "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" - }, - { - "title": "Microsoft.PercentageEntityRecognizer", - "description": "Recognizer which recognizes percentages.", - "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" - }, - { - "title": "Microsoft.PhoneNumberEntityRecognizer", - "description": "Recognizer which recognizes phone numbers.", - "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" - }, - { - "title": "Microsoft.RegexEntityRecognizer", - "description": "Recognizer which recognizes patterns of input based on regex.", - "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" - }, - { - "title": "Microsoft.TemperatureEntityRecognizer", - "description": "Recognizer which recognizes temperatures.", - "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" - }, - { - "title": "Microsoft.UrlEntityRecognizer", - "description": "Recognizer which recognizes urls.", - "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" - }, - { - "type": "string", - "title": "Reference to Microsoft.IEntityRecognizer", - "description": "Reference to Microsoft.IEntityRecognizer .dialog file." - } - ] - }, - "Microsoft.ILanguageGenerator": { - "title": "Microsoft LanguageGenerator", - "description": "Components which dervie from the LanguageGenerator class", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.ResourceMultiLanguageGenerator", - "description": "MultiLanguage Generator which is bound to resource by resource Id.", - "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" - }, - { - "title": "Microsoft.TemplateEngineLanguageGenerator", - "description": "Template Generator which allows only inline evaluation of templates.", - "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.IRecognizer": { - "title": "Microsoft Recognizer", - "description": "Components which derive from Recognizer class", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.CrossTrainedRecognizerSet", - "description": "Recognizer for selecting between cross trained recognizers.", - "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" - }, - { - "title": "Microsoft.LuisRecognizer", - "description": "LUIS recognizer.", - "$ref": "#/definitions/Microsoft.LuisRecognizer" - }, - { - "title": "Microsoft.MultiLanguageRecognizer", - "description": "Configure one recognizer per language and the specify the language fallback policy.", - "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" - }, - { - "title": "Microsoft.RecognizerSet", - "description": "Creates the union of the intents and entities of the recognizers in the set.", - "$ref": "#/definitions/Microsoft.RecognizerSet" - }, - { - "title": "Microsoft.RegexRecognizer", - "description": "Use regular expressions to recognize intents and entities from user input.", - "$ref": "#/definitions/Microsoft.RegexRecognizer" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.ITextTemplate": { - "title": "Microsoft TextTemplate", - "description": "Components which derive from TextTemplate class", - "$role": "interface", - "oneOf": [ - { - "title": "Microsoft.TextTemplate", - "description": "Use LG Templates to create text", - "$ref": "#/definitions/Microsoft.TextTemplate" - }, - { - "type": "string", - "title": "string" - } - ] - }, - "Microsoft.ITrigger": { - "$role": "interface", - "title": "Microsoft Triggers", - "description": "Components which derive from OnCondition class.", - "oneOf": [ - { - "title": "Microsoft.OnActivity", - "description": "Actions to perform on receipt of a generic activity.", - "$ref": "#/definitions/Microsoft.OnActivity" - }, - { - "title": "Microsoft.OnAssignEntity", - "description": "Actions to take when an entity should be assigned to a property.", - "$ref": "#/definitions/Microsoft.OnAssignEntity" - }, - { - "title": "Microsoft.OnBeginDialog", - "description": "Actions to perform when this dialog begins.", - "$ref": "#/definitions/Microsoft.OnBeginDialog" - }, - { - "title": "Microsoft.OnCancelDialog", - "description": "Actions to perform on cancel dialog event.", - "$ref": "#/definitions/Microsoft.OnCancelDialog" - }, - { - "title": "Microsoft.OnChooseEntity", - "description": "Actions to be performed when an entity value needs to be resolved.", - "$ref": "#/definitions/Microsoft.OnChooseEntity" - }, - { - "title": "Microsoft.OnChooseIntent", - "description": "Actions to perform on when an intent is ambigious.", - "$ref": "#/definitions/Microsoft.OnChooseIntent" - }, - { - "title": "Microsoft.OnChooseProperty", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "$ref": "#/definitions/Microsoft.OnChooseProperty" - }, - { - "title": "Microsoft.OnCondition", - "description": "Actions to perform when specified condition is true.", - "$ref": "#/definitions/Microsoft.OnCondition" - }, - { - "title": "Microsoft.OnConversationUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", - "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" - }, - { - "title": "Microsoft.OnCustomEvent", - "description": "Actions to perform when a custom event is detected. Use 'Emit a custom event' action to raise a custom event.", - "$ref": "#/definitions/Microsoft.OnCustomEvent" - }, - { - "title": "Microsoft.OnDialogEvent", - "description": "Actions to perform when a specific dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnDialogEvent" - }, - { - "title": "Microsoft.OnEndOfActions", - "description": "Actions to take when there are no more actions in the current dialog.", - "$ref": "#/definitions/Microsoft.OnEndOfActions" - }, - { - "title": "Microsoft.OnEndOfConversationActivity", - "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", - "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" - }, - { - "title": "Microsoft.OnError", - "description": "Action to perform when an 'Error' dialog event occurs.", - "$ref": "#/definitions/Microsoft.OnError" - }, - { - "title": "Microsoft.OnEventActivity", - "description": "Actions to perform on receipt of an activity with type 'Event'.", - "$ref": "#/definitions/Microsoft.OnEventActivity" - }, - { - "title": "Microsoft.OnHandoffActivity", - "description": "Actions to perform on receipt of an activity with type 'HandOff'.", - "$ref": "#/definitions/Microsoft.OnHandoffActivity" - }, - { - "title": "Microsoft.OnIntent", - "description": "Actions to perform when specified intent is recognized.", - "$ref": "#/definitions/Microsoft.OnIntent" - }, - { - "title": "Microsoft.OnInvokeActivity", - "description": "Actions to perform on receipt of an activity with type 'Invoke'.", - "$ref": "#/definitions/Microsoft.OnInvokeActivity" - }, - { - "title": "Microsoft.OnMessageActivity", - "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", - "$ref": "#/definitions/Microsoft.OnMessageActivity" - }, - { - "title": "Microsoft.OnMessageDeleteActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", - "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" - }, - { - "title": "Microsoft.OnMessageReactionActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", - "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" - }, - { - "title": "Microsoft.OnMessageUpdateActivity", - "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", - "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" - }, - { - "title": "Microsoft.OnQnAMatch", - "description": "Actions to perform on when an match from QnAMaker is found.", - "$ref": "#/definitions/Microsoft.OnQnAMatch" - }, - { - "title": "Microsoft.OnRepromptDialog", - "description": "Actions to perform when 'RepromptDialog' event occurs.", - "$ref": "#/definitions/Microsoft.OnRepromptDialog" - }, - { - "title": "Microsoft.OnTypingActivity", - "description": "Actions to perform on receipt of an activity with type 'Typing'.", - "$ref": "#/definitions/Microsoft.OnTypingActivity" - }, - { - "title": "Microsoft.OnUnknownIntent", - "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", - "$ref": "#/definitions/Microsoft.OnUnknownIntent" - }, - { - "type": "string", - "title": "Reference to Microsoft.ITrigger", - "description": "Reference to Microsoft.ITrigger .dialog file." - } - ] - }, - "Microsoft.ITriggerSelector": { - "$role": "interface", - "title": "Selectors", - "description": "Components which derive from TriggerSelector class.", - "oneOf": [ - { - "title": "Microsoft.ConditionalSelector", - "description": "Use a rule selector based on a condition", - "$ref": "#/definitions/Microsoft.ConditionalSelector" - }, - { - "title": "Microsoft.FirstSelector", - "description": "Selector for first true rule", - "$ref": "#/definitions/Microsoft.FirstSelector" - }, - { - "title": "Microsoft.MostSpecificSelector", - "description": "Select most specific true events with optional additional selector", - "$ref": "#/definitions/Microsoft.MostSpecificSelector" - }, - { - "title": "Microsoft.RandomSelector", - "description": "Select most specific true rule", - "$ref": "#/definitions/Microsoft.RandomSelector" - }, - { - "title": "Microsoft.TrueSelector", - "description": "Selector for all true events", - "$ref": "#/definitions/Microsoft.TrueSelector" - }, - { - "type": "string", - "title": "Reference to Microsoft.ITriggerSelector", - "description": "Reference to Microsoft.ITriggerSelector .dialog file." - } - ] - }, - "Microsoft.IfCondition": { - "$role": "implements(Microsoft.IDialog)", - "title": "If condition", - "description": "Two-way branch the conversation flow based on a condition.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.IfCondition" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "condition": { - "title": "Condition", - "description": "Expression to evaluate.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute if condition is true.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "elseActions": { - "type": "array", - "title": "Else", - "description": "Actions to execute if condition is false.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "condition", - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.IpEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Ip Entity Recognizer", - "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.IpEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.LanguagePolicy": { - "title": "Language Policy", - "description": "This represents a policy map for locales lookups to use for language", - "type": "object", - "additionalProperties": false, - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.LanguagePolicy" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.LogAction": { - "$role": "implements(Microsoft.IDialog)", - "title": "Log to console", - "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.LogAction" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "text": { - "title": "Text", - "description": "Information to log.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "label": { - "title": "Label", - "description": "Label for the trace activity (used to identify it in a list of trace activities.)", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "traceActivity": { - "title": "Send Trace Activity", - "description": "If true, automatically sends a TraceActivity (view in Bot Framework Emulator).", - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "text", - "$kind" - ] - } - ] - }, - "Microsoft.LuisRecognizer": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "LUIS Recognizer", - "description": "LUIS recognizer.", - "type": "object", - "additionalProperties": false, - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.LuisRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "applicationId": { - "title": "LUIS Application ID", - "description": "Application ID for your model from the LUIS service.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "endpoint": { - "title": "LUIS Endpoint", - "description": "Endpoint to use for LUIS service like https://westus.api.cognitive.microsoft.com.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "endpointKey": { - "title": "LUIS prediction key", - "description": "LUIS prediction key used to call endpoint.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "externalEntityRecognizer": { - "$kind": "Microsoft.IRecognizer", - "title": "External Entity Recognizer", - "description": "Entities recognized by this recognizer will be passed to LUIS as external entities.", - "$ref": "#/definitions/Microsoft.IRecognizer" - }, - "dynamicLists": { - "title": "Dynamic lists", - "description": "Runtime defined entity lists.", - "$role": "expression", - "oneOf": [ - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "items": { - "title": "Entity list", - "description": "Lists of canonical values and synonyms for an entity.", - "type": "object", - "properties": { - "entity": { - "title": "Entity", - "description": "Entity to extend with a dynamic list.", - "type": "string" - }, - "list": { - "title": "Dynamic list", - "description": "List of canonical forms and synonyms.", - "type": "array", - "items": { - "type": "object", - "properties": { - "canonicalForm": { - "title": "Canonical form", - "description": "Resolution if any synonym matches.", - "type": "string" - }, - "synonyms": { - "title": "Synonyms", - "description": "List of synonyms for a canonical form.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } - }, - "predictionOptions": { - "type": "object", - "properties": { - "includeAllIntents": { - "type": "boolean", - "title": "Include all intents", - "description": "True for all intents, false for only top intent." - }, - "includeInstanceData": { - "type": "boolean", - "title": "Include $instance", - "description": "True to include $instance metadata in the LUIS response." - }, - "log": { - "type": "boolean", - "title": "Log utterances", - "description": "True to log utterances on LUIS service." - }, - "preferExternalEntities": { - "type": "boolean", - "title": "Prefer External Entities", - "description": "True to prefer external entities to those generated by LUIS models." - }, - "slot": { - "type": "string", - "title": "Slot", - "description": "Slot to use for talking to LUIS service like production or staging." - }, - "version": { - "type": "string", - "title": "Version", - "description": "LUIS application version to use." - } - } - } - }, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "applicationId", - "endpoint", - "endpointKey", - "$kind" - ] - } - ] - }, - "Microsoft.MentionEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Mentions Entity Recognizer", - "description": "Recognizer which recognizes @Mentions", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.MentionEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.MostSpecificSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "Most Specific Trigger Selector", - "description": "Select most specific true events with optional additional selector", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.MostSpecificSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "selector": { - "$kind": "Microsoft.ITriggerSelector", - "$ref": "#/definitions/Microsoft.ITriggerSelector" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.MultiLanguageRecognizer": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Multi-language recognizer", - "description": "Configure one recognizer per language and the specify the language fallback policy.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.MultiLanguageRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "languagePolicy": { - "$kind": "Microsoft.LanguagePolicy", - "type": "object", - "title": "Language policy", - "description": "Defines fall back languages to try per user input language.", - "$ref": "#/definitions/Microsoft.LanguagePolicy" - }, - "recognizers": { - "type": "object", - "title": "Recognizers", - "description": "Map of language -> Recognizer", - "additionalProperties": { - "$kind": "Microsoft.IRecognizer", - "$ref": "#/definitions/Microsoft.IRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "recognizers", - "$kind" - ] - } - ] - }, - "Microsoft.NumberEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Number Entity Recognizer", - "description": "Recognizer which recognizes numbers.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.NumberEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.NumberInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "Number input dialog", - "description": "Collect information - Ask for a number.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.NumberInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", - "examples": [ - 13, - "=user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "number", - "title": "Number", - "default": 0, - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=dialog.quantity" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "'Property' will be set to the value of this expression unless it evaluates to null.", - "examples": [ - 13, - "=user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "number", - "title": "Number", - "default": 0, - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=dialog.quantity" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Expression to format the number output.", - "examples": [ - "=this.value", - "=int(this.text)" - ], - "type": "string", - "pattern": "^.*\\S.*" - }, - "defaultLocale": { - "title": "Default locale", - "description": "Default locale to use if there is no locale available..", - "default": "en-us", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.NumberRangeEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "NumberRange Entity Recognizer", - "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.NumberRangeEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.OAuthInput": { - "$role": "implements(Microsoft.IDialog)", - "title": "OAuthInput Dialog", - "description": "Collect login information.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OAuthInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "connectionName": { - "title": "Connection name", - "description": "The connection name configured in Azure Web App Bot OAuth settings.", - "examples": [ - "msgraphOAuthConnection" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "text": { - "title": "Text", - "description": "Text shown in the OAuth signin card.", - "examples": [ - "Please sign in. ", - "=concat(x,y,z)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "title": { - "title": "Title", - "description": "Title shown in the OAuth signin card.", - "examples": [ - "Login" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "timeout": { - "title": "Timeout", - "description": "Time out setting for the OAuth signin card.", - "default": 900000, - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "title": "Token property", - "description": "Property to store the OAuth token result.", - "examples": [ - "dialog.token" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send if user response is invalid.", - "examples": [ - "Sorry, the login info you provided is not valid." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Login failed." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3 - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "Expression to examine on each turn of the conversation as possible value to the property.", - "examples": [ - "@token" - ], - "type": "string", - "pattern": "^.*\\S.*" - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "connectionName", - "$kind" - ] - } - ] - }, - "Microsoft.OnActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On activity", - "description": "Actions to perform on receipt of a generic activity.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "type": { - "type": "string", - "title": "Activity type", - "description": "The Activity.Type to match" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "type", - "$kind" - ] - } - ] - }, - "Microsoft.OnAssignEntity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On entity assignment", - "description": "Actions to take when an entity should be assigned to a property.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnAssignEntity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "type": "string", - "title": "Property", - "description": "Property that will be set after entity is selected." - }, - "entity": { - "type": "string", - "title": "Entity", - "description": "Entity being put into property" - }, - "operation": { - "type": "string", - "title": "Operation to use for assigning entity" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnBeginDialog": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On begin dialog", - "description": "Actions to perform when this dialog begins.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnBeginDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnCancelDialog": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On cancel dialog", - "description": "Actions to perform on cancel dialog event.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnCancelDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnChooseEntity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On choose entity", - "description": "Actions to be performed when an entity value needs to be resolved.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnChooseEntity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "type": "string", - "title": "Property to be set", - "description": "Property that will be set after entity is selected." - }, - "entity": { - "type": "string", - "title": "Ambiguous entity", - "description": "Ambiguous entity" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnChooseIntent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On ambigious intent", - "description": "Actions to perform on when an intent is ambigious.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnChooseIntent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "intents": { - "type": "array", - "title": "Intents", - "description": "Intents that must be in the ChooseIntent result for this condition to trigger.", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnChooseProperty": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On choose property", - "description": "Actions to take when there are multiple possible mappings of entities to properties.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnChooseProperty" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "entity": { - "type": "string", - "title": "Entity being assigned", - "description": "Entity being assigned to property choice" - }, - "properties": { - "type": "array", - "title": "Possible properties", - "description": "Properties to be chosen between", - "items": { - "type": "string", - "title": "Property name" - } - }, - "entities": { - "type": "array", - "title": "Possible properties", - "description": "Entities being assigned", - "items": { - "type": "string", - "title": "Entity name" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnCondition": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On condition", - "description": "Actions to perform when specified condition is true.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnCondition" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnConversationUpdateActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On ConversationUpdate activity", - "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnConversationUpdateActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnCustomEvent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On custom event", - "description": "Actions to perform when a custom event is detected. Use 'Emit a custom event' action to raise a custom event.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnCustomEvent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "event": { - "type": "string", - "title": "Custom event name", - "description": "Name of the custom event." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "event", - "$kind" - ] - } - ] - }, - "Microsoft.OnDialogEvent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On dialog event", - "description": "Actions to perform when a specific dialog event occurs.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnDialogEvent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "event": { - "type": "string", - "title": "Dialog event name", - "description": "Name of dialog event." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "event", - "$kind" - ] - } - ] - }, - "Microsoft.OnEndOfActions": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On end of actions", - "description": "Actions to take when there are no more actions in the current dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnEndOfActions" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnEndOfConversationActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On EndOfConversation activity", - "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnEndOfConversationActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnError": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Error", - "description": "Action to perform when an 'Error' dialog event occurs.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnError" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnEventActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Event activity", - "description": "Actions to perform on receipt of an activity with type 'Event'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnEventActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnHandoffActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Handoff activity", - "description": "Actions to perform on receipt of an activity with type 'HandOff'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnHandoffActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnIntent": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On intent recognition", - "description": "Actions to perform when specified intent is recognized.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnIntent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "intent": { - "type": "string", - "title": "Intent", - "description": "Name of intent." - }, - "entities": { - "type": "array", - "title": "Entities", - "description": "Required entities.", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnInvokeActivity": { - "l \"$schema\"": "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/schemas/component/component.schema", - "$role": "implements(Microsoft.ITrigger)", - "title": "On Invoke activity", - "description": "Actions to perform on receipt of an activity with type 'Invoke'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnInvokeActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Message activity", - "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageDeleteActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On MessageDelete activity", - "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageDeleteActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageReactionActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On MessageReaction activity", - "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageReactionActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnMessageUpdateActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On MessageUpdate activity", - "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnMessageUpdateActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnQnAMatch": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On QnAMaker Match", - "description": "Actions to perform on when an match from QnAMaker is found.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnQnAMatch" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnRepromptDialog": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On RepromptDialog", - "description": "Actions to perform when 'RepromptDialog' event occurs.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnRepromptDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnTypingActivity": { - "$role": "implements(Microsoft.ITrigger)", - "title": "On Typing activity", - "description": "Actions to perform on receipt of an activity with type 'Typing'.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnTypingActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OnUnknownIntent": { - "title": "On unknown intent", - "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", - "type": "object", - "$role": "implements(Microsoft.ITrigger)", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OnUnknownIntent" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "condition": { - "title": "Condition", - "description": "Condition (expression).", - "examples": [ - "user.vip == true" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - }, - "actions": { - "type": "array", - "description": "Sequence of actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - }, - "priority": { - "title": "priority", - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "runOnce": { - "title": "Run Once", - "description": "True if rule should run once per unique conditions", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "actions", - "$kind" - ] - } - ] - }, - "Microsoft.OrdinalEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Ordinal Entity Recognizer", - "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.OrdinalEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.PercentageEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Percentage Entity Recognizer", - "description": "Recognizer which recognizes percentages.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.PercentageEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.PhoneNumberEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Phone Number Entity Recognizer", - "description": "Recognizer which recognizes phone numbers.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.PhoneNumberEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.RandomSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "Random rule selector", - "description": "Select most specific true rule", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RandomSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "seed": { - "type": "integer" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.RecognizerSet": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Recognizer Set", - "description": "Creates the union of the intents and entities of the recognizers in the set.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RecognizerSet" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "recognizers": { - "type": "array", - "title": "Recognizers", - "description": "List of Recognizers defined for this set.", - "items": { - "$kind": "Microsoft.IRecognizer", - "$ref": "#/definitions/Microsoft.IRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "recognizers", - "$kind" - ] - } - ] - }, - "Microsoft.RegexEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Regex Entity Recognizer", - "description": "Recognizer which recognizes patterns of input based on regex.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RegexEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "name": { - "type": "string", - "title": "Name", - "description": "Name of the entity" - }, - "pattern": { - "type": "string", - "title": "Pattern", - "description": "Pattern expressed as regular expression." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "name", - "pattern", - "$kind" - ] - } - ] - }, - "Microsoft.RegexRecognizer": { - "$role": "implements(Microsoft.IRecognizer)", - "title": "Regex recognizer", - "description": "Use regular expressions to recognize intents and entities from user input.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RegexRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." - }, - "intents": { - "type": "array", - "title": "RegEx patterns to intents", - "description": "Collection of patterns to match for an intent.", - "items": { - "type": "object", - "properties": { - "intent": { - "type": "string", - "title": "Intent", - "description": "The intent name." - }, - "pattern": { - "type": "string", - "title": "Pattern", - "description": "The regular expression pattern." - } - } - } - }, - "entities": { - "type": "array", - "title": "Entity recognizers", - "description": "Collection of entity recognizers to use.", - "items": { - "$kind": "Microsoft.IEntityRecognizer", - "$ref": "#/definitions/Microsoft.IEntityRecognizer" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.RepeatDialog": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "Repeat dialog", - "description": "Repeat current dialog.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.RepeatDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "options": { - "title": "Options", - "description": "One or more options that are passed to the dialog that is called.", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "additionalProperties": { - "type": "string", - "title": "Options" - } - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the dialog that is called can process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ReplaceDialog": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "Replace dialog", - "description": "Replace current dialog with another dialog.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ReplaceDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "dialog": { - "oneOf": [ - { - "$kind": "Microsoft.IDialog", - "pattern": "^(?!(=)).*", - "title": "Dialog", - "$ref": "#/definitions/Microsoft.IDialog" - }, - { - "examples": [ - "=settings.dialogId" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ], - "title": "Dialog name", - "description": "Name of the dialog to call." - }, - "options": { - "title": "Options", - "description": "One or more options that are passed to the dialog that is called.", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*", - "examples": [ - "=user.name" - ] - } - ], - "additionalProperties": { - "type": "string", - "title": "Options" - } - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the dialog that is called can process the current activity.", - "default": true, - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.ResourceMultiLanguageGenerator": { - "$role": "implements(Microsoft.ILanguageGenerator)", - "title": "Resource Multi-Language Generator", - "description": "MultiLanguage Generator which is bound to resource by resource Id.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.ResourceMultiLanguageGenerator" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional generator ID." - }, - "resourceId": { - "type": "string", - "title": "Resource Id", - "description": "Resource which is the root language generator. Other generaters with the same name and language suffix will be loaded into this generator and used based on the Language Policy.", - "default": "dialog.result" - }, - "languagePolicy": { - "type": "object", - "title": "Language Policy", - "description": "Set alternate language policy for this generator. If not set, the global language policy will be used." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.SendActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send an activity", - "description": "Respond with an activity.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SendActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - "user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "Activity to send.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.SetProperties": { - "$role": "implements(Microsoft.IDialog)", - "title": "Set property", - "description": "Set one or more property values.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SetProperties" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "assignments": { - "type": "array", - "title": "Assignments", - "description": "Property value assignments to set.", - "items": { - "type": "object", - "properties": { - "property": { - "title": "Property", - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "New value or expression.", - "examples": [ - "='milk'", - "=dialog.favColor", - "=dialog.favColor == 'red'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - } - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "assignments", - "$kind" - ] - } - ] - }, - "Microsoft.SetProperty": { - "$role": "implements(Microsoft.IDialog)", - "title": "Set property", - "description": "Set property to a value.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SetProperty" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "property": { - "description": "Property (named location to store information).", - "examples": [ - "user.age" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "New value or expression.", - "examples": [ - "='milk'", - "=dialog.favColor", - "=dialog.favColor == 'red'" - ], - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "property", - "value", - "$kind" - ] - } - ] - }, - "Microsoft.SignOutUser": { - "$role": "implements(Microsoft.IDialog)", - "title": "Sign Out User", - "description": "Sign a user out that was logged in previously using OAuthInput.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SignOutUser" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "userId": { - "title": "ActivityId", - "description": "expression to an activityId to get the members. If none is defined then the current activity id will be used.", - "examples": [ - "=$lastActivity" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "connectionName": { - "title": "Connection Name", - "description": "Connection name that was used with OAuthInput to log a user in.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.SkillDialog": { - "$role": "implements(Microsoft.IDialog)", - "title": "Begin a skill dialog", - "description": "Begin a remote skill dialog.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SkillDialog" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the skill dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityProcessed": { - "title": "Activity Processed", - "description": "When set to false, the skill will be started using the activity in the current turn context instead of the activity in the Activity property.", - "default": true, - "examples": [ - true, - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "resultProperty": { - "title": "Property", - "description": "Property to store any value returned by the dialog that is called.", - "examples": [ - "dialog.userName" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "botId": { - "title": "Skill host bot ID", - "description": "The Microsoft App ID that will be calling the skill.", - "default": "=settings.MicrosoftAppId", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "skillHostEndpoint": { - "title": "Skill host", - "description": "The callback Url for the skill host.", - "default": "=settings.skillHostEndpoint", - "examples": [ - "https://mybot.contoso.com/api/skills/" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "skillAppId": { - "title": "Skill App ID", - "description": "The Microsoft App ID for the skill.", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "skillEndpoint": { - "title": "Skill endpoint ", - "description": "The /api/messages endpoint for the skill.", - "examples": [ - "https://myskill.contoso.com/api/messages/" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "The activity to send to the skill.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.StaticActivityTemplate": { - "$role": "implements(Microsoft.IActivityTemplate)", - "title": "Microsoft Static Activity Template", - "description": "This allows you to define a static Activity object", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.StaticActivityTemplate" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "activity": { - "title": "Activity", - "Description": "A static Activity to used", - "required": [ - "type" - ], - "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", - "type": "object", - "properties": { - "type": { - "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", - "type": "string", - "title": "type" - }, - "id": { - "description": "Contains an ID that uniquely identifies the activity on the channel.", - "type": "string", - "title": "id" - }, - "timestamp": { - "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", - "type": "string", - "format": "date-time", - "title": "timestamp" - }, - "localTimestamp": { - "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", - "type": "string", - "format": "date-time", - "title": "localTimestamp" - }, - "localTimezone": { - "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", - "type": "string", - "title": "localTimezone" - }, - "serviceUrl": { - "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", - "type": "string", - "title": "serviceUrl" - }, - "channelId": { - "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", - "type": "string", - "title": "channelId" - }, - "from": { - "description": "Identifies the sender of the message.", - "title": "from", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Identifies the conversation to which the activity belongs.", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "recipient": { - "description": "Identifies the recipient of the message.", - "title": "recipient", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "textFormat": { - "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", - "type": "string", - "title": "textFormat" - }, - "attachmentLayout": { - "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", - "type": "string", - "title": "attachmentLayout" - }, - "membersAdded": { - "description": "The collection of members added to the conversation.", - "type": "array", - "title": "membersAdded", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "membersRemoved": { - "description": "The collection of members removed from the conversation.", - "type": "array", - "title": "membersRemoved", - "items": { - "description": "Channel account information needed to route a message", - "title": "ChannelAccount", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - } - }, - "reactionsAdded": { - "description": "The collection of reactions added to the conversation.", - "type": "array", - "title": "reactionsAdded", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "reactionsRemoved": { - "description": "The collection of reactions removed from the conversation.", - "type": "array", - "title": "reactionsRemoved", - "items": { - "description": "Message reaction object", - "title": "MessageReaction", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Message reaction type. Possible values include: 'like', 'plusOne'", - "type": "string", - "title": "type" - } - } - } - }, - "topicName": { - "description": "The updated topic name of the conversation.", - "type": "string", - "title": "topicName" - }, - "historyDisclosed": { - "description": "Indicates whether the prior history of the channel is disclosed.", - "type": "boolean", - "title": "historyDisclosed" - }, - "locale": { - "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", - "type": "string", - "title": "locale" - }, - "text": { - "description": "The text content of the message.", - "type": "string", - "title": "text" - }, - "speak": { - "description": "The text to speak.", - "type": "string", - "title": "speak" - }, - "inputHint": { - "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", - "type": "string", - "title": "inputHint" - }, - "summary": { - "description": "The text to display if the channel cannot render cards.", - "type": "string", - "title": "summary" - }, - "suggestedActions": { - "description": "The suggested actions for the activity.", - "title": "suggestedActions", - "type": "object", - "required": [ - "actions", - "to" - ], - "properties": { - "to": { - "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", - "type": "array", - "title": "to", - "items": { - "type": "string" - } - }, - "actions": { - "description": "Actions that can be shown to the user", - "type": "array", - "title": "actions", - "items": { - "description": "A clickable action", - "title": "CardAction", - "type": "object", - "required": [ - "title", - "type", - "value" - ], - "properties": { - "type": { - "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", - "type": "string", - "title": "type" - }, - "title": { - "description": "Text description which appears on the button", - "type": "string", - "title": "title" - }, - "image": { - "description": "Image URL which will appear on the button, next to text label", - "type": "string", - "title": "image" - }, - "text": { - "description": "Text for this action", - "type": "string", - "title": "text" - }, - "displayText": { - "description": "(Optional) text to display in the chat feed if the button is clicked", - "type": "string", - "title": "displayText" - }, - "value": { - "description": "Supplementary parameter for action. Content of this property depends on the ActionType", - "title": "value" - }, - "channelData": { - "description": "Channel-specific data associated with this action", - "title": "channelData" - } - } - } - } - } - }, - "attachments": { - "description": "Attachments", - "type": "array", - "title": "attachments", - "items": { - "description": "An attachment within an activity", - "title": "Attachment", - "type": "object", - "required": [ - "contentType" - ], - "properties": { - "contentType": { - "description": "mimetype/Contenttype for the file", - "type": "string", - "title": "contentType" - }, - "contentUrl": { - "description": "Content Url", - "type": "string", - "title": "contentUrl" - }, - "content": { - "description": "Embedded content", - "title": "content" - }, - "name": { - "description": "(OPTIONAL) The name of the attachment", - "type": "string", - "title": "name" - }, - "thumbnailUrl": { - "description": "(OPTIONAL) Thumbnail associated with attachment", - "type": "string", - "title": "thumbnailUrl" - } - } - } - }, - "entities": { - "description": "Represents the entities that were mentioned in the message.", - "type": "array", - "title": "entities", - "items": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - }, - "channelData": { - "description": "Contains channel-specific content.", - "title": "channelData" - }, - "action": { - "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", - "type": "string", - "title": "action" - }, - "replyToId": { - "description": "Contains the ID of the message to which this message is a reply.", - "type": "string", - "title": "replyToId" - }, - "label": { - "description": "A descriptive label for the activity.", - "type": "string", - "title": "label" - }, - "valueType": { - "description": "The type of the activity's value object.", - "type": "string", - "title": "valueType" - }, - "value": { - "description": "A value that is associated with the activity.", - "title": "value" - }, - "name": { - "description": "The name of the operation associated with an invoke or event activity.", - "type": "string", - "title": "name" - }, - "relatesTo": { - "description": "A reference to another conversation or activity.", - "title": "relatesTo", - "type": "object", - "required": [ - "bot", - "channelId", - "conversation", - "serviceUrl" - ], - "properties": { - "activityId": { - "description": "(Optional) ID of the activity to refer to", - "type": "string", - "title": "activityId" - }, - "user": { - "description": "(Optional) User participating in this conversation", - "title": "user", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "bot": { - "description": "Bot participating in this conversation", - "title": "bot", - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "type": "string", - "title": "role" - } - } - }, - "conversation": { - "description": "Conversation reference", - "title": "conversation", - "type": "object", - "required": [ - "conversationType", - "id", - "isGroup", - "name" - ], - "properties": { - "isGroup": { - "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", - "type": "boolean", - "title": "isGroup" - }, - "conversationType": { - "description": "Indicates the type of the conversation in channels that distinguish between conversation types", - "type": "string", - "title": "conversationType" - }, - "id": { - "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", - "type": "string", - "title": "id" - }, - "name": { - "description": "Display friendly name", - "type": "string", - "title": "name" - }, - "aadObjectId": { - "description": "This account's object ID within Azure Active Directory (AAD)", - "type": "string", - "title": "aadObjectId" - }, - "role": { - "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", - "enum": [ - "bot", - "user" - ], - "type": "string", - "title": "role" - } - } - }, - "channelId": { - "description": "Channel ID", - "type": "string", - "title": "channelId" - }, - "serviceUrl": { - "description": "Service endpoint where operations concerning the referenced conversation may be performed", - "type": "string", - "title": "serviceUrl" - } - } - }, - "code": { - "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", - "type": "string", - "title": "code" - }, - "expiration": { - "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", - "type": "string", - "format": "date-time", - "title": "expiration" - }, - "importance": { - "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", - "type": "string", - "title": "importance" - }, - "deliveryMode": { - "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", - "type": "string", - "title": "deliveryMode" - }, - "listenFor": { - "description": "List of phrases and references that speech and language priming systems should listen for", - "type": "array", - "title": "listenFor", - "items": { - "type": "string" - } - }, - "textHighlights": { - "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", - "type": "array", - "title": "textHighlights", - "items": { - "description": "Refers to a substring of content within another field", - "title": "TextHighlight", - "type": "object", - "required": [ - "occurrence", - "text" - ], - "properties": { - "text": { - "description": "Defines the snippet of text to highlight", - "type": "string", - "title": "text" - }, - "occurrence": { - "description": "Occurrence of the text field within the referenced text, if multiple exist.", - "type": "number", - "title": "occurrence" - } - } - } - }, - "semanticAction": { - "description": "An optional programmatic action accompanying this request", - "title": "semanticAction", - "type": "object", - "required": [ - "entities", - "id" - ], - "properties": { - "id": { - "description": "ID of this action", - "type": "string", - "title": "id" - }, - "entities": { - "description": "Entities associated with this action", - "type": "object", - "title": "entities", - "additionalProperties": { - "description": "Metadata object pertaining to an activity", - "title": "Entity", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Type of this entity (RFC 3987 IRI)", - "type": "string", - "title": "type" - } - } - } - } - } - } - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "activity", - "$kind" - ] - } - ] - }, - "Microsoft.SwitchCondition": { - "$role": "implements(Microsoft.IDialog)", - "title": "Switch condition", - "description": "Execute different actions based on the value of a property.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.SwitchCondition" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "condition": { - "title": "Condition", - "description": "Property to evaluate.", - "examples": [ - "user.favColor" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "cases": { - "type": "array", - "title": "Cases", - "desc": "Actions for each possible condition.", - "items": { - "type": "object", - "required": [ - "value", - "actions" - ], - "properties": { - "value": { - "type": [ - "number", - "integer", - "boolean", - "string" - ], - "title": "Value", - "description": "The value to compare the condition with.", - "examples": [ - "red", - "true", - "13" - ] - }, - "actions": { - "type": "array", - "title": "Actions", - "description": "Actions to execute.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - } - } - }, - "default": { - "type": "array", - "title": "Default", - "description": "Actions to execute if none of the cases meet the condition.", - "items": { - "$kind": "Microsoft.IDialog", - "$ref": "#/definitions/Microsoft.IDialog" - } - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "condition", - "$kind" - ] - } - ] - }, - "Microsoft.TemperatureEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Temperature Recognizer", - "description": "Recognizer which recognizes temperatures.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TemperatureEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TemplateEngineLanguageGenerator": { - "$role": "implements(Microsoft.ILanguageGenerator)", - "title": "Template Multi-Language Generator", - "description": "Template Generator which allows only inline evaluation of templates.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TemplateEngineLanguageGenerator" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional generator ID." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TextInput": { - "$role": "implements(Microsoft.IDialog)", - "type": "object", - "title": "Text input dialog", - "description": "Collection information - Ask for a word or sentence.", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TextInput" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "default": false, - "examples": [ - false, - "=user.isVip" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "prompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Initial prompt", - "description": "Message to send to collect information.", - "examples": [ - "What is your birth date?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "unrecognizedPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Unrecognized prompt", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "invalidPrompt": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Invalid prompt", - "description": "Message to send when the user input does not meet any validation expression.", - "examples": [ - "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "defaultValueResponse": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Default value response", - "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", - "examples": [ - "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." - ], - "$ref": "#/definitions/Microsoft.IActivityTemplate" - }, - "maxTurnCount": { - "title": "Max turn count", - "description": "Maximum number of re-prompt attempts to collect information.", - "default": 3, - "examples": [ - 3, - "=settings.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "integer", - "title": "Integer", - "default": 0, - "examples": [ - 15 - ] - }, - { - "examples": [ - "=user.age" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "validations": { - "type": "array", - "title": "Validation expressions", - "description": "Expression to validate user input.", - "items": { - "title": "Condition", - "description": "Expression which needs to met for the input to be considered valid", - "examples": [ - "int(this.value) > 1 && int(this.value) <= 150", - "count(this.value) < 300" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "Expression", - "pattern": "^.*\\S.*", - "examples": [ - "user.age > 13" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "default": true, - "examples": [ - false - ] - } - ] - } - }, - "property": { - "title": "Property", - "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", - "examples": [ - "$birthday", - "dialog.${user.name}", - "=f(x)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "alwaysPrompt": { - "title": "Always prompt", - "description": "Collect information even if the specified 'property' is not empty.", - "default": false, - "examples": [ - false, - "=$val" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "allowInterruptions": { - "title": "Allow Interruptions", - "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", - "default": true, - "examples": [ - true, - "=user.xyz" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "defaultValue": { - "title": "Default value", - "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", - "examples": [ - "hello world", - "Hello ${user.name}", - "=concat(user.firstname, user.lastName)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "'Property' will be set to the value of this expression unless it evaluates to null.", - "examples": [ - "hello world", - "Hello ${user.name}", - "=concat(user.firstname, user.lastName)" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "outputFormat": { - "title": "Output format", - "description": "Expression to format the output.", - "examples": [ - "=toUpper(this.value)", - "${toUpper(this.value)}" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TextTemplate": { - "$role": "implements(Microsoft.ITextTemplate)", - "title": "Microsoft TextTemplate", - "description": "Use LG Templates to create text", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TextTemplate" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "template": { - "title": "Template", - "Description": "Language Generator template to evaluate to create the text", - "type": "string" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "template", - "$kind" - ] - } - ] - }, - "Microsoft.TraceActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send a TraceActivity", - "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TraceActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "name": { - "title": "Name", - "description": "Name of the trace activity", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "label": { - "title": "Label", - "description": "Label for the trace activity (used to identify it in a list of trace activities.)", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "valueType": { - "title": "Value type", - "description": "Type of value", - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "value": { - "title": "Value", - "description": "Property that holds the value to send as trace activity.", - "$role": "expression", - "oneOf": [ - { - "type": "object", - "title": "Object" - }, - { - "type": "array", - "title": "Array" - }, - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "type": "boolean", - "title": "Boolean", - "examples": [ - false - ] - }, - { - "type": "number", - "title": "Number", - "examples": [ - 15.5 - ] - }, - { - "examples": [ - "=..." - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.TrueSelector": { - "$role": "implements(Microsoft.ITriggerSelector)", - "title": "True Trigger Selector", - "description": "Selector for all true events", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.TrueSelector" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.UpdateActivity": { - "$role": "implements(Microsoft.IDialog)", - "title": "Send an activity", - "description": "Respond with an activity.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.UpdateActivity" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - }, - "id": { - "type": "string", - "title": "Id", - "description": "Optional id for the dialog" - }, - "disabled": { - "title": "Disabled", - "description": "Optional condition which if true will disable this action.", - "examples": [ - true, - "=user.age > 3" - ], - "$role": "expression", - "oneOf": [ - { - "type": "boolean", - "title": "Boolean", - "default": false, - "examples": [ - false - ] - }, - { - "examples": [ - "=user.isVip" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activityId": { - "title": "Activity Id", - "dDescription": "An string expression with the activity id to update.", - "examples": [ - "=dialog.lastActivityId" - ], - "$role": "expression", - "oneOf": [ - { - "type": "string", - "title": "String", - "pattern": "^(?!(=)).*", - "examples": [ - "Hello ${user.name}" - ] - }, - { - "examples": [ - "=concat('x','y','z')" - ], - "type": "string", - "title": "Expression", - "pattern": "^=.*\\S.*" - } - ] - }, - "activity": { - "$kind": "Microsoft.IActivityTemplate", - "title": "Activity", - "description": "Activity to send.", - "$ref": "#/definitions/Microsoft.IActivityTemplate" - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - }, - "Microsoft.UrlEntityRecognizer": { - "$role": "implements(Microsoft.IEntityRecognizer)", - "title": "Confirmation Url Recognizer", - "description": "Recognizer which recognizes urls.", - "type": "object", - "properties": { - "$kind": { - "title": "$kind", - "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", - "type": "string", - "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", - "const": "Microsoft.UrlEntityRecognizer" - }, - "$copy": { - "title": "$copy", - "description": "Copy the definition by id from a .dialog file.", - "type": "string", - "pattern": "^(([a-zA-Z][a-zA-Z0-9.]*)?(#[a-zA-Z][a-zA-Z0-9.]*)?)$" - }, - "$id": { - "title": "$id", - "description": "Inline id for reuse of an inline definition", - "type": "string", - "pattern": "^([a-zA-Z][a-zA-Z0-9.]*)$" - }, - "$designer": { - "title": "$designer", - "type": "object", - "description": "Extra information for the Bot Framework Designer." - } - }, - "additionalProperties": false, - "patternProperties": { - "^\\$": { - "type": "string" - } - }, - "anyOf": [ - { - "title": "Reference", - "required": [ - "$copy" - ] - }, - { - "title": "Type", - "required": [ - "$kind" - ] - } - ] - } - } + "$schema": "https://raw.githubusercontent.com/microsoft/botframework-sdk/master/schemas/component/component.schema", + "type": "object", + "title": "Component kinds", + "description": "These are all of the kinds that can be created by the loader.", + "oneOf": [ + { + "$ref": "#/definitions/Microsoft.ActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog" + }, + { + "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.Ask" + }, + { + "$ref": "#/definitions/Microsoft.AttachmentInput" + }, + { + "$ref": "#/definitions/Microsoft.BeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.BreakLoop" + }, + { + "$ref": "#/definitions/Microsoft.CancelAllDialogs" + }, + { + "$ref": "#/definitions/Microsoft.CancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.ChoiceInput" + }, + { + "$ref": "#/definitions/Microsoft.ConditionalSelector" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmInput" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.ContinueLoop" + }, + { + "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeInput" + }, + { + "$ref": "#/definitions/Microsoft.DebugBreak" + }, + { + "$ref": "#/definitions/Microsoft.DeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperties" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperty" + }, + { + "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.EditActions" + }, + { + "$ref": "#/definitions/Microsoft.EditArray" + }, + { + "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.EmitEvent" + }, + { + "$ref": "#/definitions/Microsoft.EndDialog" + }, + { + "$ref": "#/definitions/Microsoft.EndTurn" + }, + { + "$ref": "#/definitions/Microsoft.FirstSelector" + }, + { + "$ref": "#/definitions/Microsoft.Foreach" + }, + { + "$ref": "#/definitions/Microsoft.ForeachPage" + }, + { + "$ref": "#/definitions/Microsoft.GetActivityMembers" + }, + { + "$ref": "#/definitions/Microsoft.GetConversationMembers" + }, + { + "$ref": "#/definitions/Microsoft.GotoAction" + }, + { + "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.HttpRequest" + }, + { + "$ref": "#/definitions/Microsoft.IfCondition" + }, + { + "$ref": "#/definitions/Microsoft.IpEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.LogAction" + }, + { + "$ref": "#/definitions/Microsoft.LuisRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.MostSpecificSelector" + }, + { + "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberInput" + }, + { + "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.OAuthInput" + }, + { + "$ref": "#/definitions/Microsoft.OnActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnAssignEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnBeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnCancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseProperty" + }, + { + "$ref": "#/definitions/Microsoft.OnCondition" + }, + { + "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnDialogEvent" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfActions" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnError" + }, + { + "$ref": "#/definitions/Microsoft.OnEventActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnHandoffActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnInvokeActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnQnAMatch" + }, + { + "$ref": "#/definitions/Microsoft.OnRepromptDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnTypingActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnUnknownIntent" + }, + { + "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerDialog" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RandomSelector" + }, + { + "$ref": "#/definitions/Microsoft.RecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RegexRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RepeatDialog" + }, + { + "$ref": "#/definitions/Microsoft.ReplaceDialog" + }, + { + "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" + }, + { + "$ref": "#/definitions/Microsoft.SendActivity" + }, + { + "$ref": "#/definitions/Microsoft.SetProperties" + }, + { + "$ref": "#/definitions/Microsoft.SetProperty" + }, + { + "$ref": "#/definitions/Microsoft.SignOutUser" + }, + { + "$ref": "#/definitions/Microsoft.SkillDialog" + }, + { + "$ref": "#/definitions/Microsoft.StaticActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.SwitchCondition" + }, + { + "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" + }, + { + "$ref": "#/definitions/Microsoft.TextInput" + }, + { + "$ref": "#/definitions/Microsoft.TextTemplate" + }, + { + "$ref": "#/definitions/Microsoft.TraceActivity" + }, + { + "$ref": "#/definitions/Microsoft.TrueSelector" + }, + { + "$ref": "#/definitions/Microsoft.UpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" + } + ], + "definitions": { + "Microsoft.ActivityTemplate": { + "$role": "implements(Microsoft.IActivityTemplate)", + "title": "Microsoft ActivityTemplate", + "type": "object", + "required": [ + "template", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "template": { + "title": "Template", + "description": "Language Generator template to use to create the activity", + "type": "string" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ActivityTemplate" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.AdaptiveDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Adaptive Dialog", + "description": "Flexible, data driven dialog that can adapt to the conversation.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional dialog ID." + }, + "autoEndDialog": { + "type": "boolean", + "title": "Auto end dialog", + "description": "If set to true the dialog will automatically end when there are no further actions. If set to false, remember to manually end the dialog using EndDialog action.", + "default": true + }, + "defaultResultProperty": { + "type": "string", + "title": "Default result property", + "description": "Value that will be passed back to the parent dialog.", + "default": "dialog.result" + }, + "recognizer": { + "$kind": "Microsoft.IRecognizer", + "title": "Recognizer", + "description": "Input recognizer that interprets user input into intent and entities.", + "$ref": "#/definitions/Microsoft.IRecognizer" + }, + "generator": { + "$kind": "Microsoft.ILanguageGenerator", + "title": "Language Generator", + "description": "Language generator that generates bot responses.", + "$ref": "#/definitions/Microsoft.ILanguageGenerator" + }, + "selector": { + "$kind": "Microsoft.ITriggerSelector", + "title": "Selector", + "description": "Policy to determine which trigger is executed. Defaults to a 'best match' selector (optional).", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "triggers": { + "type": "array", + "description": "List of triggers defined for this dialog.", + "title": "Triggers", + "items": { + "$kind": "Microsoft.ITrigger", + "title": "Event triggers", + "description": "Event triggers for handling events.", + "$ref": "#/definitions/Microsoft.ITrigger" + } + }, + "schema": { + "title": "Schema", + "description": "Schema to fill in.", + "anyOf": [ + { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "nonNegativeInteger": { + "type": "integer", + "minimum": 0 + }, + "nonNegativeIntegerDefault0": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "simpleTypes": { + "enum": [ + "array", + "boolean", + "integer", + "null", + "number", + "object", + "string" + ] + }, + "stringArray": { + "type": "array", + "uniqueItems": true, + "default": [], + "items": { + "type": "string" + } + } + }, + "type": [ + "object", + "boolean" + ], + "properties": { + "$schema": { + "type": "string", + "format": "uri" + }, + "$ref": { + "type": "string", + "format": "uri-reference" + }, + "$comment": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": true, + "readOnly": { + "type": "boolean", + "default": false + }, + "writeOnly": { + "type": "boolean", + "default": false + }, + "examples": { + "type": "array", + "items": true + }, + "multipleOf": { + "type": "number", + "exclusiveMinimum": 0 + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "number" + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "number" + }, + "maxLength": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" + }, + "minLength": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" + }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "items": { + "anyOf": [ + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + } + ], + "default": true + }, + "maxItems": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" + }, + "minItems": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" + }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "contains": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "maxProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeInteger" + }, + "minProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/nonNegativeIntegerDefault0" + }, + "required": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/stringArray" + }, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "definitions": { + "type": "object", + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "properties": { + "type": "object", + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "patternProperties": { + "type": "object", + "propertyNames": { + "format": "regex" + }, + "default": {}, + "additionalProperties": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/stringArray" + } + ] + } + }, + "propertyNames": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "const": true, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": true + }, + "type": { + "anyOf": [ + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/simpleTypes" + }, + { + "type": "array", + "items": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/simpleTypes" + }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "format": { + "type": "string" + }, + "contentMediaType": { + "type": "string" + }, + "contentEncoding": { + "type": "string" + }, + "if": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "then": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "else": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + }, + "allOf": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + }, + "anyOf": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + }, + "oneOf": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0/definitions/schemaArray" + }, + "not": { + "$ref": "#/definitions/Microsoft.AdaptiveDialog/properties/schema/anyOf/0" + } + }, + "default": true + }, + { + "type": "string", + "title": "Reference to JSON schema", + "description": "Reference to JSON schema .dialog file." + } + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.AdaptiveDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.AgeEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Age Entity Recognizer", + "description": "Recognizer which recognizes age.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.AgeEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.Ask": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.SendActivity)" + ], + "title": "Send Activity to Ask a question", + "description": "This is an action which sends an activity to the user when a response is expected", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "expectedProperties": { + "$ref": "#/definitions/arrayExpression", + "title": "Expected Properties", + "description": "Properties expected from the user.", + "type": "array", + "examples": [ + [ + "age", + "name" + ] + ], + "items": { + "type": "string", + "title": "Name", + "description": "Name of the property" + } + }, + "defaultOperation": { + "$ref": "#/definitions/stringExpression", + "title": "Default Operation", + "description": "Sets the default operation that will be used when no operation is recognized in the response to this Ask.", + "examples": [ + "add" + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/stringExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "Activity to send.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.Ask" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.AttachmentInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Attachment input dialog", + "description": "Collect information - Ask for a file or image.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$role": "expression", + "title": "Default value", + "description": "'Property' will be set to the object or the result of this expression when max turn count is exceeded.", + "oneOf": [ + { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/attachments/items", + "title": "Object" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "value": { + "$role": "expression", + "title": "Value", + "description": "'Property' will be set to the object or the result of this expression unless it evaluates to null.", + "oneOf": [ + { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/attachments/items", + "title": "Object" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "outputFormat": { + "$role": "expression", + "title": "Output format", + "description": "Attachment output format.", + "oneOf": [ + { + "type": "string", + "title": "Standard format", + "description": "Standard output formats.", + "enum": [ + "all", + "first" + ], + "default": "first" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.AttachmentInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.BeginDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Begin a dialog", + "description": "Begin another dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "dialog": { + "oneOf": [ + { + "$kind": "Microsoft.IDialog", + "pattern": "^(?!(=)).*", + "title": "Dialog", + "$ref": "#/definitions/Microsoft.IDialog" + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=settings.dialogId" + ] + } + ], + "title": "Dialog name", + "description": "Name of the dialog to call." + }, + "options": { + "$ref": "#/definitions/objectExpression", + "title": "Options", + "description": "One or more options that are passed to the dialog that is called.", + "examples": [ + { + "arg1": "=expression" + } + ], + "additionalProperties": { + "type": "string", + "title": "Options", + "description": "Options for dialog." + } + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the dialog that is called can process the current activity.", + "default": true + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store any value returned by the dialog that is called.", + "examples": [ + "dialog.userName" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.BeginDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.BreakLoop": { + "$role": "implements(Microsoft.IDialog)", + "title": "Break Loop", + "description": "Stop executing this loop", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.BreakLoop" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CancelAllDialogs": { + "$role": "implements(Microsoft.IDialog)", + "title": "Cancel all dialogs", + "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the caller dialog is told it should process the current activity.", + "default": true + }, + "eventName": { + "$ref": "#/definitions/stringExpression", + "title": "Event name", + "description": "Name of the event to emit." + }, + "eventValue": { + "$ref": "#/definitions/valueExpression", + "title": "Event value", + "description": "Value to emit with the event (optional).", + "additionalProperties": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CancelAllDialogs" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CancelDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Cancel all dialogs", + "description": "Cancel all active dialogs. All dialogs in the dialog chain will need a trigger to capture the event configured in this action.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the caller dialog is told it should process the current activity.", + "default": true + }, + "eventName": { + "$ref": "#/definitions/stringExpression", + "title": "Event name", + "description": "Name of the event to emit." + }, + "eventValue": { + "$ref": "#/definitions/valueExpression", + "title": "Event value", + "description": "Value to emit with the event (optional).", + "additionalProperties": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CancelDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ChoiceInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Choice input dialog", + "description": "Collect information - Pick from a list of choices", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/stringExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "value": { + "$ref": "#/definitions/stringExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "outputFormat": { + "$role": "expression", + "title": "Output format", + "description": "Sets the desired choice output format (either value or index into choices).", + "oneOf": [ + { + "type": "string", + "title": "Standard", + "description": "Standard output format.", + "enum": [ + "value", + "index" + ], + "default": "value" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "choices": { + "$role": "expression", + "title": "Array of choices", + "description": "Choices to choose from.", + "oneOf": [ + { + "type": "array", + "title": "Simple choices", + "description": "Simple choices to choose from.", + "items": [ + { + "type": "string", + "title": "Simple choice", + "description": "One choice for choice input." + } + ] + }, + { + "type": "array", + "title": "Structured choices", + "description": "Choices that allow full control.", + "items": [ + { + "type": "object", + "title": "Structured choice", + "description": "Structured choice to choose from.", + "properties": { + "value": { + "type": "string", + "title": "Value", + "description": "Value to return when this choice is selected." + }, + "action": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/suggestedActions/properties/actions/items", + "title": "Action", + "description": "Card action for the choice." + }, + "synonyms": { + "type": "array", + "title": "Synonyms", + "description": "List of synonyms to recognize in addition to the value (optional).", + "items": { + "type": "string", + "title": "Synonym", + "description": "Synonym for value." + } + } + } + } + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "The default locale to use to parse confirmation choices if there is not one passed by the caller.", + "default": "en-us", + "examples": [ + "en-us" + ] + }, + "style": { + "$role": "expression", + "title": "List style", + "description": "Sets the ListStyle to control how choices are rendered.", + "oneOf": [ + { + "type": "string", + "title": "List style", + "description": "Standard list style.", + "enum": [ + "none", + "auto", + "inline", + "list", + "suggestedAction", + "heroCard" + ], + "default": "auto" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "choiceOptions": { + "title": "Choice options", + "description": "Sets the choice options used for controlling how choices are combined.", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Choice options object.", + "properties": { + "inlineSeparator": { + "type": "string", + "title": "Inline separator", + "description": "Character used to separate individual choices when there are more than 2 choices", + "default": ", " + }, + "inlineOr": { + "type": "string", + "title": "Inline or", + "description": "Separator inserted between the choices when there are only 2 choices", + "default": " or " + }, + "inlineOrMore": { + "type": "string", + "title": "Inline or more", + "description": "Separator inserted between the last 2 choices when their are more than 2 choices.", + "default": ", or " + }, + "includeNumbers": { + "type": "boolean", + "title": "Include numbers", + "description": "If true, 'inline' and 'list' list style will be prefixed with the index of the choice.", + "default": true + } + } + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "recognizerOptions": { + "title": "Recognizer options", + "description": "Sets how to recognize choices in the response", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Options for recognizer.", + "properties": { + "noValue": { + "type": "boolean", + "title": "No value", + "description": "If true, the choices value field will NOT be search over", + "default": false + }, + "noAction": { + "type": "boolean", + "title": "No action", + "description": "If true, the choices action.title field will NOT be searched over", + "default": false + }, + "recognizeNumbers": { + "type": "boolean", + "title": "Recognize numbers", + "description": "If true, the number recognizer will be used to recognize an index response (1,2,3...) to the prompt.", + "default": true + }, + "recognizeOrdinals": { + "type": "boolean", + "title": "Recognize ordinals", + "description": "If true, the ordinal recognizer will be used to recognize ordinal response (first/second/...) to the prompt.", + "default": true + } + } + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ChoiceInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ConditionalSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "Conditional Trigger Selector", + "description": "Use a rule selector based on a condition", + "type": "object", + "required": [ + "condition", + "ifTrue", + "ifFalse", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression to evaluate" + }, + "ifTrue": { + "$kind": "Microsoft.ITriggerSelector", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "ifFalse": { + "$kind": "Microsoft.ITriggerSelector", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ConditionalSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ConfirmInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Confirm input dialog", + "description": "Collect information - Ask for confirmation (yes or no).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "outputFormat": { + "$ref": "#/definitions/valueExpression", + "title": "Output format", + "description": "Optional expression to use to format the output.", + "examples": [ + "=concat('confirmation:', this.value)" + ] + }, + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "The Default locale or an expression which provides the default locale to use as default if not found in the activity.", + "default": "en-us", + "examples": [ + "en-us" + ] + }, + "style": { + "$role": "expression", + "title": "List style", + "description": "Sets the ListStyle to control how choices are rendered.", + "oneOf": [ + { + "type": "string", + "title": "Standard style", + "description": "Standard style for rendering choices.", + "enum": [ + "none", + "auto", + "inline", + "list", + "suggestedAction", + "heroCard" + ], + "default": "auto" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "choiceOptions": { + "title": "Choice Options", + "description": "Choice Options or expression which provides Choice Options to control display choices to the user.", + "oneOf": [ + { + "type": "object", + "title": "Choice options", + "description": "Choice options.", + "properties": { + "inlineSeparator": { + "type": "string", + "title": "Inline separator", + "description": "Text to separate individual choices when there are more than 2 choices", + "default": ", " + }, + "inlineOr": { + "type": "string", + "title": "Inline or", + "description": "Text to be inserted between the choices when their are only 2 choices", + "default": " or " + }, + "inlineOrMore": { + "type": "string", + "title": "Inline or more", + "description": "Text to be inserted between the last 2 choices when their are more than 2 choices.", + "default": ", or " + }, + "includeNumbers": { + "type": "boolean", + "title": "Include numbers", + "description": "If true, inline and list style choices will be prefixed with the index of the choice.", + "default": true + } + } + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "defaultValue": { + "$ref": "#/definitions/booleanExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "value": { + "$ref": "#/definitions/booleanExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + true, + "=user.isVip" + ] + }, + "confirmChoices": { + "$role": "expression", + "title": "Array of choice objects", + "description": "Array of simple or structured choices.", + "oneOf": [ + { + "type": "array", + "title": "Simple choices", + "description": "Simple choices to confirm from.", + "items": [ + { + "type": "string", + "title": "Simple choice", + "description": "Simple choice to confirm." + } + ] + }, + { + "type": "array", + "title": "Structured choices", + "description": "Structured choices for confirmations.", + "items": [ + { + "type": "object", + "title": "Choice", + "description": "Choice to confirm.", + "properties": { + "value": { + "type": "string", + "title": "Value", + "description": "Value to return when this choice is selected." + }, + "action": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/suggestedActions/properties/actions/items", + "title": "Action", + "description": "Card action for the choice." + }, + "synonyms": { + "type": "array", + "title": "Synonyms", + "description": "List of synonyms to recognize in addition to the value (optional).", + "items": { + "type": "string", + "title": "Synonym", + "description": "Synonym for choice." + } + } + } + } + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ConfirmInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ConfirmationEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Confirmation Entity Recognizer", + "description": "Recognizer which recognizes confirmation choices (yes/no).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ConfirmationEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ContinueLoop": { + "$role": "implements(Microsoft.IDialog)", + "title": "Continue Loop", + "description": "Stop executing this template and continue with the next iteration of the loop.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ContinueLoop" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CrossTrainedRecognizerSet": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Cross-trained Recognizer Set", + "description": "Recognizer for selecting between cross trained recognizers.", + "type": "object", + "required": [ + "recognizers", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet." + }, + "recognizers": { + "type": "array", + "title": "Recognizers", + "description": "List of Recognizers defined for this set.", + "items": { + "$kind": "Microsoft.IRecognizer", + "$ref": "#/definitions/Microsoft.IRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CrossTrainedRecognizerSet" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.CurrencyEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Currency Entity Recognizer", + "description": "Recognizer which recognizes currency.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.CurrencyEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DateTimeEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "DateTime Entity Recognizer", + "description": "Recognizer which recognizes dates and time fragments.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DateTimeEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DateTimeInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Date/time input dialog", + "description": "Collect information - Ask for date and/ or time", + "type": "object", + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "Default locale.", + "default": "en-us" + }, + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/stringExpression", + "format": "date-time", + "title": "Default Date", + "description": "'Property' will be set to the value or the result of the expression when max turn count is exceeded.", + "examples": [ + "=user.birthday" + ] + }, + "value": { + "$ref": "#/definitions/stringExpression", + "format": "date-time", + "title": "Value", + "description": "'Property' will be set to the value or the result of the expression unless it evaluates to null.", + "examples": [ + "=user.birthday" + ] + }, + "outputFormat": { + "$ref": "#/definitions/stringExpression", + "title": "Output format", + "description": "Expression to use for formatting the output.", + "examples": [ + "=this.value[0].Value" + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DateTimeInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DebugBreak": { + "$role": "implements(Microsoft.IDialog)", + "title": "Debugger break", + "description": "If debugger is attached, stop the execution at this point in the conversation.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DebugBreak" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DeleteActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Delete Activity", + "description": "Delete an activity that was previously sent.", + "type": "object", + "required": [ + "activityId", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "activityId": { + "$ref": "#/definitions/stringExpression", + "title": "ActivityId", + "description": "expression to an activityId to delete", + "examples": [ + "=$lastActivity" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DeleteActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DeleteProperties": { + "$role": "implements(Microsoft.IDialog)", + "title": "Delete Properties", + "description": "Delete multiple properties and any value it holds.", + "type": "object", + "required": [ + "properties", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "properties": { + "type": "array", + "title": "Properties", + "description": "Properties to delete.", + "items": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to delete." + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DeleteProperties" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DeleteProperty": { + "$role": "implements(Microsoft.IDialog)", + "title": "Delete Property", + "description": "Delete a property and any value it holds.", + "type": "object", + "required": [ + "property", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to delete." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DeleteProperty" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.DimensionEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Dimension Entity Recognizer", + "description": "Recognizer which recognizes dimension.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.DimensionEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EditActions": { + "$role": "implements(Microsoft.IDialog)", + "title": "Edit actions.", + "description": "Edit the current list of actions.", + "type": "object", + "required": [ + "changeType", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "changeType": { + "title": "Type of change", + "description": "Type of change to apply to the current actions.", + "oneOf": [ + { + "type": "string", + "title": "Standard change", + "description": "Standard change types.", + "enum": [ + "insertActions", + "insertActionsBeforeTags", + "appendActions", + "endSequence", + "replaceSequence" + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to apply.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EditActions" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EditArray": { + "$role": "implements(Microsoft.IDialog)", + "title": "Edit array", + "description": "Modify an array in memory", + "type": "object", + "required": [ + "itemsProperty", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "changeType": { + "title": "Type of change", + "description": "Type of change to the array in memory.", + "oneOf": [ + { + "type": "string", + "title": "Enum", + "description": "Standard change type.", + "enum": [ + "push", + "pop", + "take", + "remove", + "clear" + ] + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "itemsProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Items property", + "description": "Property that holds the array to update." + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Result Property", + "description": "Property to store the result of this action." + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "New value or expression.", + "examples": [ + "milk", + "=dialog.favColor", + "=dialog.favColor == 'red'" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EditArray" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EmailEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Email Entity Recognizer", + "description": "Recognizer which recognizes email.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EmailEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EmitEvent": { + "$role": "implements(Microsoft.IDialog)", + "title": "Emit a custom event", + "description": "Emit an event. Capture this event with a trigger.", + "type": "object", + "required": [ + "eventName", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "eventName": { + "$role": "expression", + "title": "Event name", + "description": "Name of the event to emit.", + "oneOf": [ + { + "type": "string", + "title": "Built-in event", + "description": "Standard event type.", + "enum": [ + "beginDialog", + "resumeDialog", + "repromptDialog", + "cancelDialog", + "endDialog", + "activityReceived", + "recognizedIntent", + "unknownIntent", + "actionsStarted", + "actionsSaved", + "actionsEnded", + "actionsResumed" + ] + }, + { + "type": "string", + "title": "Custom event", + "description": "Custom event type", + "pattern": "^(?!(beginDialog$|resumeDialog$|repromptDialog$|cancelDialog$|endDialog$|activityReceived$|recognizedIntent$|unknownIntent$|actionsStarted$|actionsSaved$|actionsEnded$|actionsResumed))(\\S){1}.*" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "eventValue": { + "$ref": "#/definitions/valueExpression", + "title": "Event value", + "description": "Value to emit with the event (optional)." + }, + "bubbleEvent": { + "$ref": "#/definitions/booleanExpression", + "title": "Bubble event", + "description": "If true this event is passed on to parent dialogs." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EmitEvent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EndDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "End dialog", + "description": "End this dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "Result value returned to the parent dialog.", + "examples": [ + "=dialog.userName", + "='tomato'" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EndDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.EndTurn": { + "$role": "implements(Microsoft.IDialog)", + "title": "End turn", + "description": "End the current turn without ending the dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.EndTurn" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.FirstSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "First Trigger Selector", + "description": "Selector for first true rule", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.FirstSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.Foreach": { + "$role": "implements(Microsoft.IDialog)", + "title": "For each item", + "description": "Execute actions on each item in an a collection.", + "type": "object", + "required": [ + "itemsProperty", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "itemsProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Items property", + "description": "Property that holds the array.", + "examples": [ + "user.todoList" + ] + }, + "index": { + "$ref": "#/definitions/stringExpression", + "title": "Index property", + "description": "Property that holds the index of the item.", + "default": "dialog.foreach.index" + }, + "value": { + "$ref": "#/definitions/stringExpression", + "title": "Value property", + "description": "Property that holds the value of the item.", + "default": "dialog.foreach.value" + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute for each item. Use '$foreach.value' to access the value of each item. Use '$foreach.index' to access the index of each item.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.Foreach" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ForeachPage": { + "$role": "implements(Microsoft.IDialog)", + "title": "For each page", + "description": "Execute actions on each page (collection of items) in an array.", + "type": "object", + "required": [ + "itemsProperty", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "itemsProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Items property", + "description": "Property that holds the array.", + "examples": [ + "user.todoList" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute for each page. Use '$foreach.page' to access each page.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "pageIndex": { + "$ref": "#/definitions/stringExpression", + "title": "Index property", + "description": "Property that holds the index of the page.", + "default": "dialog.foreach.pageindex" + }, + "page": { + "$ref": "#/definitions/stringExpression", + "title": "Page property", + "description": "Property that holds the value of the page.", + "default": "dialog.foreach.page" + }, + "pageSize": { + "$ref": "#/definitions/integerExpression", + "title": "Page size", + "description": "Number of items in each page.", + "default": 10 + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ForeachPage" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GetActivityMembers": { + "$role": "implements(Microsoft.IDialog)", + "title": "Get Activity Members", + "description": "Get the members who are participating in an activity. (BotFrameworkAdapter only)", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "activityId": { + "$ref": "#/definitions/stringExpression", + "title": "ActivityId", + "description": "Activity ID or expression to an activityId to use to get the members. If none is defined then the current activity id will be used.", + "examples": [ + "$lastActivity" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GetActivityMembers" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GetConversationMembers": { + "$role": "implements(Microsoft.IDialog)", + "title": "Get Converation Members", + "description": "Get the members who are participating in an conversation. (BotFrameworkAdapter only)", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GetConversationMembers" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GotoAction": { + "$role": "implements(Microsoft.IDialog)", + "title": "Go to Action", + "description": "Go to an an action by id.", + "type": "object", + "required": [ + "actionId", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "actionId": { + "$ref": "#/definitions/stringExpression", + "title": "Action Id", + "description": "Action Id to execute next" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GotoAction" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.GuidEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Guid Entity Recognizer", + "description": "Recognizer which recognizes guids.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.GuidEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.HashtagEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Hashtag Entity Recognizer", + "description": "Recognizer which recognizes Hashtags.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.HashtagEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.HttpRequest": { + "$role": "implements(Microsoft.IDialog)", + "type": "object", + "title": "HTTP request", + "description": "Make a HTTP request.", + "required": [ + "url", + "method", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "method": { + "type": "string", + "title": "HTTP method", + "description": "HTTP method to use.", + "enum": [ + "GET", + "POST", + "PATCH", + "PUT", + "DELETE" + ], + "examples": [ + "GET", + "POST" + ] + }, + "url": { + "$ref": "#/definitions/stringExpression", + "title": "Url", + "description": "URL to call (supports data binding).", + "examples": [ + "https://contoso.com" + ] + }, + "body": { + "$ref": "#/definitions/valueExpression", + "title": "Body", + "description": "Body to include in the HTTP call (supports data binding).", + "additionalProperties": true + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Result property", + "description": "Property to store the result of this action. The result includes 4 properties from the http response: statusCode, reasonPhrase, content and headers. If the content is json it will be a deserialized object.", + "examples": [ + "dialog.contosodata" + ] + }, + "contentType": { + "$ref": "#/definitions/stringExpression", + "title": "Content type", + "description": "Content media type for the body.", + "examples": [ + "application/json", + "text/plain" + ] + }, + "headers": { + "type": "object", + "title": "Headers", + "description": "One or more headers to include in the request (supports data binding).", + "additionalProperties": { + "$ref": "#/definitions/stringExpression" + } + }, + "responseType": { + "$ref": "#/definitions/stringExpression", + "title": "Response type", + "description": "Defines the type of HTTP response. Automatically calls the 'Send a response' action if set to 'Activity' or 'Activities'.", + "oneOf": [ + { + "type": "string", + "title": "Standard response", + "description": "Standard response type.", + "enum": [ + "none", + "json", + "activity", + "activities" + ], + "default": "json" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.HttpRequest" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.IActivityTemplate": { + "title": "Microsoft ActivityTemplates", + "description": "Components which are ActivityTemplate, which is string template, an activity, or a implementation of ActivityTemplate", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "required": [ + "type" + ], + "description": "An Activity is the basic communication type for the Bot Framework 3.0 protocol.", + "title": "Activity", + "type": "object", + "properties": { + "type": { + "description": "Contains the activity type. Possible values include: 'message', 'contactRelationUpdate',\n'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData',\n'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',\n'trace', 'handoff'", + "type": "string", + "title": "type" + }, + "id": { + "description": "Contains an ID that uniquely identifies the activity on the channel.", + "type": "string", + "title": "id" + }, + "timestamp": { + "description": "Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.", + "type": "string", + "format": "date-time", + "title": "timestamp" + }, + "localTimestamp": { + "description": "Contains the date and time that the message was sent, in local time, expressed in ISO-8601\nformat.\nFor example, 2016-09-23T13:07:49.4714686-07:00.", + "type": "string", + "format": "date-time", + "title": "localTimestamp" + }, + "localTimezone": { + "description": "Contains the name of the timezone in which the message, in local time, expressed in IANA Time\nZone database format.\nFor example, America/Los_Angeles.", + "type": "string", + "title": "localTimezone" + }, + "serviceUrl": { + "description": "Contains the URL that specifies the channel's service endpoint. Set by the channel.", + "type": "string", + "title": "serviceUrl" + }, + "channelId": { + "description": "Contains an ID that uniquely identifies the channel. Set by the channel.", + "type": "string", + "title": "channelId" + }, + "from": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "description": "Identifies the sender of the message.", + "title": "from" + }, + "conversation": { + "description": "Identifies the conversation to which the activity belongs.", + "title": "conversation", + "type": "object", + "required": [ + "conversationType", + "id", + "isGroup", + "name" + ], + "properties": { + "isGroup": { + "description": "Indicates whether the conversation contains more than two participants at the time the\nactivity was generated", + "type": "boolean", + "title": "isGroup" + }, + "conversationType": { + "description": "Indicates the type of the conversation in channels that distinguish between conversation types", + "type": "string", + "title": "conversationType" + }, + "id": { + "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", + "type": "string", + "title": "id" + }, + "name": { + "description": "Display friendly name", + "type": "string", + "title": "name" + }, + "aadObjectId": { + "description": "This account's object ID within Azure Active Directory (AAD)", + "type": "string", + "title": "aadObjectId" + }, + "role": { + "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", + "enum": [ + "bot", + "user" + ], + "type": "string", + "title": "role" + } + } + }, + "recipient": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "description": "Identifies the recipient of the message.", + "title": "recipient" + }, + "textFormat": { + "description": "Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'", + "type": "string", + "title": "textFormat" + }, + "attachmentLayout": { + "description": "The layout hint for multiple attachments. Default: list. Possible values include: 'list',\n'carousel'", + "type": "string", + "title": "attachmentLayout" + }, + "membersAdded": { + "description": "The collection of members added to the conversation.", + "type": "array", + "title": "membersAdded", + "items": { + "description": "Channel account information needed to route a message", + "title": "ChannelAccount", + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "description": "Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or\n123456)", + "type": "string", + "title": "id" + }, + "name": { + "description": "Display friendly name", + "type": "string", + "title": "name" + }, + "aadObjectId": { + "description": "This account's object ID within Azure Active Directory (AAD)", + "type": "string", + "title": "aadObjectId" + }, + "role": { + "description": "Role of the entity behind the account (Example: User, Bot, etc.). Possible values include:\n'user', 'bot'", + "type": "string", + "title": "role" + } + } + } + }, + "membersRemoved": { + "description": "The collection of members removed from the conversation.", + "type": "array", + "title": "membersRemoved", + "items": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items" + } + }, + "reactionsAdded": { + "description": "The collection of reactions added to the conversation.", + "type": "array", + "title": "reactionsAdded", + "items": { + "description": "Message reaction object", + "title": "MessageReaction", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Message reaction type. Possible values include: 'like', 'plusOne'", + "type": "string", + "title": "type" + } + } + } + }, + "reactionsRemoved": { + "description": "The collection of reactions removed from the conversation.", + "type": "array", + "title": "reactionsRemoved", + "items": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/reactionsAdded/items" + } + }, + "topicName": { + "description": "The updated topic name of the conversation.", + "type": "string", + "title": "topicName" + }, + "historyDisclosed": { + "description": "Indicates whether the prior history of the channel is disclosed.", + "type": "boolean", + "title": "historyDisclosed" + }, + "locale": { + "description": "A locale name for the contents of the text field.\nThe locale name is a combination of an ISO 639 two- or three-letter culture code associated\nwith a language\nand an ISO 3166 two-letter subculture code associated with a country or region.\nThe locale name can also correspond to a valid BCP-47 language tag.", + "type": "string", + "title": "locale" + }, + "text": { + "description": "The text content of the message.", + "type": "string", + "title": "text" + }, + "speak": { + "description": "The text to speak.", + "type": "string", + "title": "speak" + }, + "inputHint": { + "description": "Indicates whether your bot is accepting,\nexpecting, or ignoring user input after the message is delivered to the client. Possible\nvalues include: 'acceptingInput', 'ignoringInput', 'expectingInput'", + "type": "string", + "title": "inputHint" + }, + "summary": { + "description": "The text to display if the channel cannot render cards.", + "type": "string", + "title": "summary" + }, + "suggestedActions": { + "description": "The suggested actions for the activity.", + "title": "suggestedActions", + "type": "object", + "required": [ + "actions", + "to" + ], + "properties": { + "to": { + "description": "Ids of the recipients that the actions should be shown to. These Ids are relative to the\nchannelId and a subset of all recipients of the activity", + "type": "array", + "title": "to", + "items": { + "title": "Id", + "description": "Id of recipient.", + "type": "string" + } + }, + "actions": { + "description": "Actions that can be shown to the user", + "type": "array", + "title": "actions", + "items": { + "description": "A clickable action", + "title": "CardAction", + "type": "object", + "required": [ + "title", + "type", + "value" + ], + "properties": { + "type": { + "description": "The type of action implemented by this button. Possible values include: 'openUrl', 'imBack',\n'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call',\n'payment', 'messageBack'", + "type": "string", + "title": "type" + }, + "title": { + "description": "Text description which appears on the button", + "type": "string", + "title": "title" + }, + "image": { + "description": "Image URL which will appear on the button, next to text label", + "type": "string", + "title": "image" + }, + "text": { + "description": "Text for this action", + "type": "string", + "title": "text" + }, + "displayText": { + "description": "(Optional) text to display in the chat feed if the button is clicked", + "type": "string", + "title": "displayText" + }, + "value": { + "description": "Supplementary parameter for action. Content of this property depends on the ActionType", + "title": "value" + }, + "channelData": { + "description": "Channel-specific data associated with this action", + "title": "channelData" + } + } + } + } + } + }, + "attachments": { + "description": "Attachments", + "type": "array", + "title": "attachments", + "items": { + "description": "An attachment within an activity", + "title": "Attachment", + "type": "object", + "required": [ + "contentType" + ], + "properties": { + "contentType": { + "description": "mimetype/Contenttype for the file", + "type": "string", + "title": "contentType" + }, + "contentUrl": { + "description": "Content Url", + "type": "string", + "title": "contentUrl" + }, + "content": { + "type": "object", + "description": "Embedded content", + "title": "content" + }, + "name": { + "description": "(OPTIONAL) The name of the attachment", + "type": "string", + "title": "name" + }, + "thumbnailUrl": { + "description": "(OPTIONAL) Thumbnail associated with attachment", + "type": "string", + "title": "thumbnailUrl" + } + } + } + }, + "entities": { + "description": "Represents the entities that were mentioned in the message.", + "type": "array", + "title": "entities", + "items": { + "description": "Metadata object pertaining to an activity", + "title": "Entity", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of this entity (RFC 3987 IRI)", + "type": "string", + "title": "type" + } + } + } + }, + "channelData": { + "description": "Contains channel-specific content.", + "title": "channelData" + }, + "action": { + "description": "Indicates whether the recipient of a contactRelationUpdate was added or removed from the\nsender's contact list.", + "type": "string", + "title": "action" + }, + "replyToId": { + "description": "Contains the ID of the message to which this message is a reply.", + "type": "string", + "title": "replyToId" + }, + "label": { + "description": "A descriptive label for the activity.", + "type": "string", + "title": "label" + }, + "valueType": { + "description": "The type of the activity's value object.", + "type": "string", + "title": "valueType" + }, + "value": { + "description": "A value that is associated with the activity.", + "title": "value" + }, + "name": { + "description": "The name of the operation associated with an invoke or event activity.", + "type": "string", + "title": "name" + }, + "relatesTo": { + "description": "A reference to another conversation or activity.", + "title": "relatesTo", + "type": "object", + "required": [ + "bot", + "channelId", + "conversation", + "serviceUrl" + ], + "properties": { + "activityId": { + "description": "(Optional) ID of the activity to refer to", + "type": "string", + "title": "activityId" + }, + "user": { + "description": "(Optional) User participating in this conversation", + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "title": "user" + }, + "bot": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/membersAdded/items", + "description": "Bot participating in this conversation", + "title": "bot" + }, + "conversation": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/conversation", + "description": "Conversation reference", + "title": "conversation" + }, + "channelId": { + "description": "Channel ID", + "type": "string", + "title": "channelId" + }, + "serviceUrl": { + "description": "Service endpoint where operations concerning the referenced conversation may be performed", + "type": "string", + "title": "serviceUrl" + } + } + }, + "code": { + "description": "The a code for endOfConversation activities that indicates why the conversation ended.\nPossible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut',\n'botIssuedInvalidMessage', 'channelFailed'", + "type": "string", + "title": "code" + }, + "expiration": { + "description": "The time at which the activity should be considered to be \"expired\" and should not be\npresented to the recipient.", + "type": "string", + "format": "date-time", + "title": "expiration" + }, + "importance": { + "description": "The importance of the activity. Possible values include: 'low', 'normal', 'high'", + "type": "string", + "title": "importance" + }, + "deliveryMode": { + "description": "A delivery hint to signal to the recipient alternate delivery paths for the activity.\nThe default delivery mode is \"default\". Possible values include: 'normal', 'notification'", + "type": "string", + "title": "deliveryMode" + }, + "listenFor": { + "description": "List of phrases and references that speech and language priming systems should listen for", + "type": "array", + "title": "listenFor", + "items": { + "type": "string", + "title": "Phrase", + "description": "Phrase to listen for." + } + }, + "textHighlights": { + "description": "The collection of text fragments to highlight when the activity contains a ReplyToId value.", + "type": "array", + "title": "textHighlights", + "items": { + "description": "Refers to a substring of content within another field", + "title": "TextHighlight", + "type": "object", + "required": [ + "occurrence", + "text" + ], + "properties": { + "text": { + "description": "Defines the snippet of text to highlight", + "type": "string", + "title": "text" + }, + "occurrence": { + "description": "Occurrence of the text field within the referenced text, if multiple exist.", + "type": "number", + "title": "occurrence" + } + } + } + }, + "semanticAction": { + "description": "An optional programmatic action accompanying this request", + "title": "semanticAction", + "type": "object", + "required": [ + "entities", + "id" + ], + "properties": { + "id": { + "description": "ID of this action", + "type": "string", + "title": "id" + }, + "entities": { + "description": "Entities associated with this action", + "type": "object", + "title": "entities", + "additionalProperties": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1/properties/entities/items" + } + } + } + } + } + }, + { + "$ref": "#/definitions/Microsoft.ActivityTemplate" + }, + { + "$ref": "#/definitions/Microsoft.StaticActivityTemplate" + } + ] + }, + "Microsoft.IDialog": { + "title": "Microsoft Dialogs", + "description": "Components which derive from Dialog", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerDialog" + }, + { + "$ref": "#/definitions/Microsoft.AdaptiveDialog" + }, + { + "$ref": "#/definitions/Microsoft.BeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.BreakLoop" + }, + { + "$ref": "#/definitions/Microsoft.CancelAllDialogs" + }, + { + "$ref": "#/definitions/Microsoft.CancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.ContinueLoop" + }, + { + "$ref": "#/definitions/Microsoft.DebugBreak" + }, + { + "$ref": "#/definitions/Microsoft.DeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperties" + }, + { + "$ref": "#/definitions/Microsoft.DeleteProperty" + }, + { + "$ref": "#/definitions/Microsoft.EditActions" + }, + { + "$ref": "#/definitions/Microsoft.EditArray" + }, + { + "$ref": "#/definitions/Microsoft.EmitEvent" + }, + { + "$ref": "#/definitions/Microsoft.EndDialog" + }, + { + "$ref": "#/definitions/Microsoft.EndTurn" + }, + { + "$ref": "#/definitions/Microsoft.Foreach" + }, + { + "$ref": "#/definitions/Microsoft.ForeachPage" + }, + { + "$ref": "#/definitions/Microsoft.GetActivityMembers" + }, + { + "$ref": "#/definitions/Microsoft.GetConversationMembers" + }, + { + "$ref": "#/definitions/Microsoft.GotoAction" + }, + { + "$ref": "#/definitions/Microsoft.HttpRequest" + }, + { + "$ref": "#/definitions/Microsoft.IfCondition" + }, + { + "$ref": "#/definitions/Microsoft.LogAction" + }, + { + "$ref": "#/definitions/Microsoft.RepeatDialog" + }, + { + "$ref": "#/definitions/Microsoft.ReplaceDialog" + }, + { + "$ref": "#/definitions/Microsoft.SendActivity" + }, + { + "$ref": "#/definitions/Microsoft.SetProperties" + }, + { + "$ref": "#/definitions/Microsoft.SetProperty" + }, + { + "$ref": "#/definitions/Microsoft.SignOutUser" + }, + { + "$ref": "#/definitions/Microsoft.SwitchCondition" + }, + { + "$ref": "#/definitions/Microsoft.TraceActivity" + }, + { + "$ref": "#/definitions/Microsoft.UpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.Ask" + }, + { + "$ref": "#/definitions/Microsoft.AttachmentInput" + }, + { + "$ref": "#/definitions/Microsoft.ChoiceInput" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmInput" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeInput" + }, + { + "$ref": "#/definitions/Microsoft.NumberInput" + }, + { + "$ref": "#/definitions/Microsoft.OAuthInput" + }, + { + "$ref": "#/definitions/Microsoft.SkillDialog" + }, + { + "$ref": "#/definitions/Microsoft.TextInput" + } + ] + }, + "Microsoft.IEntityRecognizer": { + "$role": "interface", + "title": "Entity Recognizers", + "description": "Components which derive from EntityRecognizer.", + "type": "object", + "oneOf": [ + { + "type": "string", + "title": "Reference to Microsoft.IEntityRecognizer", + "description": "Reference to Microsoft.IEntityRecognizer .dialog file." + }, + { + "$ref": "#/definitions/Microsoft.AgeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.ConfirmationEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.CurrencyEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DateTimeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.DimensionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.EmailEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.GuidEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.HashtagEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.IpEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.MentionEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.NumberRangeEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.OrdinalEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PercentageEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.PhoneNumberEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RegexEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.UrlEntityRecognizer" + } + ] + }, + "Microsoft.ILanguageGenerator": { + "title": "Microsoft LanguageGenerator", + "description": "Components which dervie from the LanguageGenerator class", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.ResourceMultiLanguageGenerator" + }, + { + "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator" + } + ] + }, + "Microsoft.IRecognizer": { + "title": "Microsoft Recognizer", + "description": "Components which derive from Recognizer class", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.LuisRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.QnAMakerRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.CrossTrainedRecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.MultiLanguageRecognizer" + }, + { + "$ref": "#/definitions/Microsoft.RecognizerSet" + }, + { + "$ref": "#/definitions/Microsoft.RegexRecognizer" + } + ] + }, + "Microsoft.ITextTemplate": { + "title": "Microsoft TextTemplate", + "description": "Components which derive from TextTemplate class", + "$role": "interface", + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "#/definitions/Microsoft.TextTemplate" + } + ] + }, + "Microsoft.ITrigger": { + "$role": "interface", + "title": "Microsoft Triggers", + "description": "Components which derive from OnCondition class.", + "oneOf": [ + { + "type": "string", + "title": "Reference to Microsoft.ITrigger", + "description": "Reference to Microsoft.ITrigger .dialog file." + }, + { + "$ref": "#/definitions/Microsoft.OnActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnAssignEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnBeginDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnCancelDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseEntity" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnChooseProperty" + }, + { + "$ref": "#/definitions/Microsoft.OnCondition" + }, + { + "$ref": "#/definitions/Microsoft.OnConversationUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnDialogEvent" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfActions" + }, + { + "$ref": "#/definitions/Microsoft.OnEndOfConversationActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnError" + }, + { + "$ref": "#/definitions/Microsoft.OnEventActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnHandoffActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnIntent" + }, + { + "$ref": "#/definitions/Microsoft.OnInvokeActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageDeleteActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageReactionActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnMessageUpdateActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnQnAMatch" + }, + { + "$ref": "#/definitions/Microsoft.OnRepromptDialog" + }, + { + "$ref": "#/definitions/Microsoft.OnTypingActivity" + }, + { + "$ref": "#/definitions/Microsoft.OnUnknownIntent" + } + ] + }, + "Microsoft.ITriggerSelector": { + "$role": "interface", + "title": "Selectors", + "description": "Components which derive from TriggerSelector class.", + "oneOf": [ + { + "type": "string", + "title": "Reference to Microsoft.ITriggerSelector", + "description": "Reference to Microsoft.ITriggerSelector .dialog file." + }, + { + "$ref": "#/definitions/Microsoft.ConditionalSelector" + }, + { + "$ref": "#/definitions/Microsoft.FirstSelector" + }, + { + "$ref": "#/definitions/Microsoft.MostSpecificSelector" + }, + { + "$ref": "#/definitions/Microsoft.RandomSelector" + }, + { + "$ref": "#/definitions/Microsoft.TrueSelector" + } + ] + }, + "Microsoft.IfCondition": { + "$role": "implements(Microsoft.IDialog)", + "title": "If condition", + "description": "Two-way branch the conversation flow based on a condition.", + "type": "object", + "required": [ + "condition", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression to evaluate.", + "examples": [ + "user.age > 3" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute if condition is true.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "elseActions": { + "type": "array", + "title": "Else", + "description": "Actions to execute if condition is false.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.IfCondition" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.InputDialog": { + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.InputDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.IpEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Ip Entity Recognizer", + "description": "Recognizer which recognizes internet IP patterns (like 192.1.1.1).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.IpEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.LanguagePolicy": { + "title": "Language Policy", + "description": "This represents a policy map for locales lookups to use for language", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": { + "type": "array", + "title": "Per-locale policy", + "description": "Language policy per locale.", + "items": { + "type": "string", + "title": "Locale", + "description": "Locale like en-us." + } + }, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.LanguagePolicy" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.LogAction": { + "$role": "implements(Microsoft.IDialog)", + "title": "Log to console", + "description": "Log a message to the host application. Send a TraceActivity to Bot Framework Emulator (optional).", + "type": "object", + "required": [ + "text", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "text": { + "$ref": "#/definitions/stringExpression", + "title": "Text", + "description": "Information to log." + }, + "label": { + "$ref": "#/definitions/stringExpression", + "title": "Label", + "description": "Label for the trace activity (used to identify it in a list of trace activities.)" + }, + "traceActivity": { + "$ref": "#/definitions/booleanExpression", + "title": "Send Trace Activity", + "description": "If true, automatically sends a TraceActivity (view in Bot Framework Emulator)." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.LogAction" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.LuisRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "LUIS Recognizer", + "description": "LUIS recognizer.", + "type": "object", + "required": [ + "applicationId", + "endpoint", + "endpointKey", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "applicationId": { + "$ref": "#/definitions/stringExpression", + "title": "LUIS Application ID", + "description": "Application ID for your model from the LUIS service." + }, + "endpoint": { + "$ref": "#/definitions/stringExpression", + "title": "LUIS Endpoint", + "description": "Endpoint to use for LUIS service like https://westus.api.cognitive.microsoft.com." + }, + "endpointKey": { + "$ref": "#/definitions/stringExpression", + "title": "LUIS prediction key", + "description": "LUIS prediction key used to call endpoint." + }, + "externalEntityRecognizer": { + "$kind": "Microsoft.IRecognizer", + "title": "External Entity Recognizer", + "description": "Entities recognized by this recognizer will be passed to LUIS as external entities.", + "$ref": "#/definitions/Microsoft.IRecognizer" + }, + "dynamicLists": { + "$ref": "#/definitions/arrayExpression", + "title": "Dynamic lists", + "description": "Runtime defined entity lists.", + "items": { + "title": "Entity list", + "description": "Lists of canonical values and synonyms for an entity.", + "type": "object", + "properties": { + "entity": { + "title": "Entity", + "description": "Entity to extend with a dynamic list.", + "type": "string" + }, + "list": { + "title": "Dynamic list", + "description": "List of canonical forms and synonyms.", + "type": "array", + "items": { + "type": "object", + "title": "List entry", + "description": "Canonical form and synonynms.", + "properties": { + "canonicalForm": { + "title": "Canonical form", + "description": "Resolution if any synonym matches.", + "type": "string" + }, + "synonyms": { + "title": "Synonyms", + "description": "List of synonyms for a canonical form.", + "type": "array", + "items": { + "title": "Synonym", + "description": "Synonym for canonical form.", + "type": "string" + } + } + } + } + } + } + } + }, + "predictionOptions": { + "type": "object", + "title": "Prediction options", + "description": "Options to control LUIS prediction behavior.", + "properties": { + "includeAllIntents": { + "type": "boolean", + "title": "Include all intents", + "description": "True for all intents, false for only top intent." + }, + "includeInstanceData": { + "type": "boolean", + "title": "Include $instance", + "description": "True to include $instance metadata in the LUIS response." + }, + "log": { + "type": "boolean", + "title": "Log utterances", + "description": "True to log utterances on LUIS service." + }, + "preferExternalEntities": { + "type": "boolean", + "title": "Prefer External Entities", + "description": "True to prefer external entities to those generated by LUIS models." + }, + "slot": { + "type": "string", + "title": "Slot", + "description": "Slot to use for talking to LUIS service like production or staging." + }, + "version": { + "type": "string", + "title": "Version", + "description": "LUIS application version to use." + } + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.LuisRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.MentionEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Mentions Entity Recognizer", + "description": "Recognizer which recognizes @Mentions", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.MentionEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.MostSpecificSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "Most Specific Trigger Selector", + "description": "Select most specific true events with optional additional selector", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "selector": { + "$kind": "Microsoft.ITriggerSelector", + "$ref": "#/definitions/Microsoft.ITriggerSelector" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.MostSpecificSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.MultiLanguageRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Multi-language recognizer", + "description": "Configure one recognizer per language and the specify the language fallback policy.", + "type": "object", + "required": [ + "recognizers", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "languagePolicy": { + "$kind": "Microsoft.LanguagePolicy", + "type": "object", + "title": "Language policy", + "description": "Defines fall back languages to try per user input language.", + "$ref": "#/definitions/Microsoft.LanguagePolicy" + }, + "recognizers": { + "type": "object", + "title": "Recognizers", + "description": "Map of language -> Recognizer", + "additionalProperties": { + "$kind": "Microsoft.IRecognizer", + "$ref": "#/definitions/Microsoft.IRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.MultiLanguageRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.NumberEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Number Entity Recognizer", + "description": "Recognizer which recognizes numbers.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.NumberEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.NumberInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "title": "Number input dialog", + "description": "Collect information - Ask for a number.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/numberExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + 13, + "=user.age" + ] + }, + "value": { + "$ref": "#/definitions/numberExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + 13, + "=user.age" + ] + }, + "outputFormat": { + "$ref": "#/definitions/expression", + "title": "Output format", + "description": "Expression to format the number output.", + "examples": [ + "=this.value", + "=int(this.text)" + ] + }, + "defaultLocale": { + "$ref": "#/definitions/stringExpression", + "title": "Default locale", + "description": "Default locale to use if there is no locale available..", + "default": "en-us" + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.NumberInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.NumberRangeEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "NumberRange Entity Recognizer", + "description": "Recognizer which recognizes ranges of numbers (Example:2 to 5).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.NumberRangeEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OAuthInput": { + "$role": "implements(Microsoft.IDialog)", + "title": "OAuthInput Dialog", + "description": "Collect login information.", + "type": "object", + "required": [ + "connectionName", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "connectionName": { + "$ref": "#/definitions/stringExpression", + "title": "Connection name", + "description": "The connection name configured in Azure Web App Bot OAuth settings.", + "examples": [ + "msgraphOAuthConnection" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "text": { + "$ref": "#/definitions/stringExpression", + "title": "Text", + "description": "Text shown in the OAuth signin card.", + "examples": [ + "Please sign in. ", + "=concat(x,y,z)" + ] + }, + "title": { + "$ref": "#/definitions/stringExpression", + "title": "Title", + "description": "Title shown in the OAuth signin card.", + "examples": [ + "Login" + ] + }, + "timeout": { + "$ref": "#/definitions/integerExpression", + "title": "Timeout", + "description": "Time out setting for the OAuth signin card.", + "default": 900000 + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Token property", + "description": "Property to store the OAuth token result.", + "examples": [ + "dialog.token" + ] + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send if user response is invalid.", + "examples": [ + "Sorry, the login info you provided is not valid." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Login failed." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3 + ] + }, + "defaultValue": { + "$ref": "#/definitions/expression", + "title": "Default value", + "description": "Expression to examine on each turn of the conversation as possible value to the property.", + "examples": [ + "@token" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OAuthInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On activity", + "description": "Actions to perform on receipt of a generic activity.", + "type": "object", + "required": [ + "type", + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "type": { + "type": "string", + "title": "Activity type", + "description": "The Activity.Type to match" + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnAssignEntity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On entity assignment", + "description": "Actions to take when an entity should be assigned to a property.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "property": { + "type": "string", + "title": "Property", + "description": "Property that will be set after entity is selected." + }, + "entity": { + "type": "string", + "title": "Entity", + "description": "Entity being put into property" + }, + "operation": { + "type": "string", + "title": "Operation", + "description": "Operation for assigning entity." + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnAssignEntity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnBeginDialog": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On begin dialog", + "description": "Actions to perform when this dialog begins.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnBeginDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnCancelDialog": { + "$role": "implements(Microsoft.ITrigger)", + "title": "On cancel dialog", + "description": "Actions to perform on cancel dialog event.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnCancelDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnChooseEntity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On choose entity", + "description": "Actions to be performed when an entity value needs to be resolved.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "property": { + "type": "string", + "title": "Property to be set", + "description": "Property that will be set after entity is selected." + }, + "entity": { + "type": "string", + "title": "Ambiguous entity", + "description": "Ambiguous entity" + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnChooseEntity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnChooseIntent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On ambigious intent", + "description": "Actions to perform on when an intent is ambigious.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "intents": { + "type": "array", + "title": "Intents", + "description": "Intents that must be in the ChooseIntent result for this condition to trigger.", + "items": { + "title": "Intent", + "description": "Intent name to trigger on.", + "type": "string" + } + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnChooseIntent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnChooseProperty": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On choose property", + "description": "Actions to take when there are multiple possible mappings of entities to properties.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "entity": { + "type": "string", + "title": "Entity being assigned", + "description": "Entity being assigned to property choice" + }, + "properties": { + "type": "array", + "title": "Possible properties", + "description": "Properties to be chosen between.", + "items": { + "type": "string", + "title": "Property name", + "description": "Possible property to choose." + } + }, + "entities": { + "type": "array", + "title": "Entities", + "description": "Ambiguous entity names.", + "items": { + "type": "string", + "title": "Entity name", + "description": "Entity name being chosen between." + } + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnChooseProperty" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnCondition": { + "$role": "implements(Microsoft.ITrigger)", + "title": "On condition", + "description": "Actions to perform when specified condition is true.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnCondition" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnConversationUpdateActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On ConversationUpdate activity", + "description": "Actions to perform on receipt of an activity with type 'ConversationUpdate'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnConversationUpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnDialogEvent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On dialog event", + "description": "Actions to perform when a specific dialog event occurs.", + "type": "object", + "required": [ + "actions", + "event", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "event": { + "type": "string", + "title": "Dialog event name", + "description": "Name of dialog event." + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnDialogEvent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnEndOfActions": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On end of actions", + "description": "Actions to take when there are no more actions in the current dialog.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnEndOfActions" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnEndOfConversationActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On EndOfConversation activity", + "description": "Actions to perform on receipt of an activity with type 'EndOfConversation'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnEndOfConversationActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnError": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Error", + "description": "Action to perform when an 'Error' dialog event occurs.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnError" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnEventActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Event activity", + "description": "Actions to perform on receipt of an activity with type 'Event'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnEventActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnHandoffActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Handoff activity", + "description": "Actions to perform on receipt of an activity with type 'HandOff'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnHandoffActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnIntent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On intent recognition", + "description": "Actions to perform when specified intent is recognized.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "intent": { + "type": "string", + "title": "Intent", + "description": "Name of intent." + }, + "entities": { + "type": "array", + "title": "Entities", + "description": "Required entities.", + "items": { + "type": "string", + "title": "Entity", + "description": "Entity that must be present." + } + }, + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnIntent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnInvokeActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Invoke activity", + "description": "Actions to perform on receipt of an activity with type 'Invoke'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnInvokeActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Message activity", + "description": "Actions to perform on receipt of an activity with type 'Message'. Overrides Intent trigger.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageDeleteActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On MessageDelete activity", + "description": "Actions to perform on receipt of an activity with type 'MessageDelete'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageDeleteActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageReactionActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On MessageReaction activity", + "description": "Actions to perform on receipt of an activity with type 'MessageReaction'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageReactionActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnMessageUpdateActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On MessageUpdate activity", + "description": "Actions to perform on receipt of an activity with type 'MessageUpdate'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnMessageUpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnQnAMatch": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On QnAMaker Match", + "description": "Actions to perform on when an match from QnAMaker is found.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnQnAMatch" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnRepromptDialog": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On RepromptDialog", + "description": "Actions to perform when 'RepromptDialog' event occurs.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnRepromptDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnTypingActivity": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On Typing activity", + "description": "Actions to perform on receipt of an activity with type 'Typing'.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnTypingActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OnUnknownIntent": { + "$role": [ + "implements(Microsoft.ITrigger)", + "extends(Microsoft.OnCondition)" + ], + "title": "On unknown intent", + "description": "Action to perform when user input is unrecognized and if none of the 'on intent recognition' triggers match recognized intent.", + "type": "object", + "required": [ + "actions", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "condition": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Condition (expression).", + "examples": [ + "user.vip == true" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Sequence of actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "priority": { + "$ref": "#/definitions/integerExpression", + "title": "Priority", + "description": "Priority for trigger with 0 being the highest and < 0 ignored." + }, + "runOnce": { + "$ref": "#/definitions/booleanExpression", + "title": "Run Once", + "description": "True if rule should run once per unique conditions", + "examples": [ + true, + "=f(x)" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OnUnknownIntent" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.OrdinalEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Ordinal Entity Recognizer", + "description": "Recognizer which recognizes ordinals (example: first, second, 3rd).", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.OrdinalEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.PercentageEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Percentage Entity Recognizer", + "description": "Recognizer which recognizes percentages.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.PercentageEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.PhoneNumberEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Phone Number Entity Recognizer", + "description": "Recognizer which recognizes phone numbers.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.PhoneNumberEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.QnAMakerDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "QnAMaker Dialog", + "description": "Dialog which uses QnAMAker knowledge base to answer questions.", + "type": "object", + "required": [ + "knowledgeBaseId", + "endpointKey", + "hostname", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "knowledgeBaseId": { + "$ref": "#/definitions/stringExpression", + "title": "KnowledgeBase Id", + "description": "KnowledgeBase Id of your QnA Maker KnowledgeBase.", + "default": "=settings.qna.knowledgebaseid" + }, + "endpointKey": { + "$ref": "#/definitions/stringExpression", + "title": "Endpoint Key", + "description": "Endpoint key for the QnA Maker KB.", + "default": "=settings.qna.endpointkey" + }, + "hostname": { + "$ref": "#/definitions/stringExpression", + "title": "Hostname", + "description": "Hostname for your QnA Maker service.", + "default": "=settings.qna.hostname", + "examples": [ + "https://yourserver.azurewebsites.net/qnamaker" + ] + }, + "noAnswer": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Fallback answer", + "description": "Default answer to return when none found in KB.", + "default": "Sorry, I did not find an answer.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "threshold": { + "$ref": "#/definitions/numberExpression", + "title": "Threshold", + "description": "Threshold score to filter results.", + "default": 0.3 + }, + "activeLearningCardTitle": { + "$ref": "#/definitions/stringExpression", + "title": "Active learning card title", + "description": "Title for active learning suggestions card.", + "default": "Did you mean:" + }, + "cardNoMatchText": { + "$ref": "#/definitions/stringExpression", + "title": "Card no match text", + "description": "Text for no match option.", + "default": "None of the above." + }, + "cardNoMatchResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Card no match response", + "description": "Custom response when no match option was selected.", + "default": "Thanks for the feedback.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "strictFilters": { + "$ref": "#/definitions/arrayExpression", + "title": "Strict Filters", + "description": "Metadata filters to use when calling the QnA Maker KB.", + "items": { + "type": "object", + "title": "Metadata filter", + "description": "Metadata filter.", + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of filter property.", + "maximum": 100 + }, + "value": { + "type": "string", + "title": "Value", + "description": "Value to filter on.", + "maximum": 100 + } + } + } + }, + "top": { + "$ref": "#/definitions/numberExpression", + "title": "Top", + "description": "The number of answers you want to retrieve.", + "default": 3 + }, + "isTest": { + "type": "boolean", + "title": "IsTest", + "description": "True, if pointing to Test environment, else false.", + "default": false + }, + "rankerType": { + "$ref": "#/definitions/stringExpression", + "title": "Ranker Type", + "description": "Type of Ranker.", + "oneOf": [ + { + "title": "Standard ranker", + "description": "Standard ranker types.", + "enum": [ + "default", + "questionOnly", + "autoSuggestQuestion" + ], + "default": "default" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.QnAMakerDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.QnAMakerRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "QnAMaker Recognizer", + "description": "Recognizer for generating QnAMatch intents from a KB.", + "type": "object", + "required": [ + "knowledgeBaseId", + "endpointKey", + "hostname", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet." + }, + "knowledgeBaseId": { + "$ref": "#/definitions/stringExpression", + "title": "KnowledgeBase Id", + "description": "KnowledgeBase Id of your QnA Maker KnowledgeBase.", + "default": "settings.qna.knowledgebaseid" + }, + "endpointKey": { + "$ref": "#/definitions/stringExpression", + "title": "Endpoint Key", + "description": "Endpoint key for the QnA Maker KB.", + "default": "settings.qna.endpointkey" + }, + "hostname": { + "$ref": "#/definitions/stringExpression", + "title": "Hostname", + "description": "Hostname for your QnA Maker service.", + "default": "settings.qna.hostname", + "examples": [ + "https://yourserver.azurewebsites.net/qnamaker" + ] + }, + "threshold": { + "$ref": "#/definitions/numberExpression", + "title": "Threshold", + "description": "Threshold score to filter results.", + "default": 0.3 + }, + "strictFilters": { + "$ref": "#/definitions/arrayExpression", + "title": "Strict Filters", + "description": "Metadata filters to use when calling the QnA Maker KB.", + "items": { + "type": "object", + "title": "Metadata filters", + "description": "Metadata filters to use when querying QnA Maker KB.", + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name to filter on.", + "maximum": 100 + }, + "value": { + "type": "string", + "title": "Value", + "description": "Value to restrict filter.", + "maximum": 100 + } + } + } + }, + "top": { + "$ref": "#/definitions/numberExpression", + "title": "Top", + "description": "The number of answers you want to retrieve.", + "default": 3 + }, + "isTest": { + "$ref": "#/definitions/booleanExpression", + "title": "IsTest", + "description": "True, if pointing to Test environment, else false.", + "examples": [ + true, + "=f(x)" + ] + }, + "rankerType": { + "title": "Ranker Type", + "description": "Type of Ranker.", + "oneOf": [ + { + "type": "string", + "title": "Ranker type", + "description": "Type of Ranker.", + "enum": [ + "default", + "questionOnly", + "autoSuggestQuestion" + ], + "default": "default" + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "includeDialogNameInMetadata": { + "$ref": "#/definitions/booleanExpression", + "title": "Include Dialog Name", + "description": "When set to false, the dialog name will not be passed to QnAMaker. (default) is true", + "default": true, + "examples": [ + true, + "=f(x)" + ] + }, + "metadata": { + "$ref": "#/definitions/arrayExpression", + "title": "Metadata filters", + "description": "Metadata filters to use when calling the QnA Maker KB.", + "items": { + "type": "object", + "title": "Metadata filter", + "description": "Metadata filter to use when calling the QnA Maker KB.", + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of value to test." + }, + "value": { + "type": "string", + "title": "Value", + "description": "Value to filter against." + } + } + } + }, + "context": { + "$ref": "#/definitions/objectExpression", + "title": "QnARequestContext", + "description": "Context to use for ranking." + }, + "qnaId": { + "$ref": "#/definitions/integerExpression", + "title": "QnAId", + "description": "A number or expression which is the QnAId to paass to QnAMaker API." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.QnAMakerRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RandomSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "Random rule selector", + "description": "Select most specific true rule.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "seed": { + "type": "integer", + "title": "Random seed", + "description": "Random seed to start random number generation." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RandomSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RecognizerSet": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Recognizer Set", + "description": "Creates the union of the intents and entities of the recognizers in the set.", + "type": "object", + "required": [ + "recognizers", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "recognizers": { + "type": "array", + "title": "Recognizers", + "description": "List of Recognizers defined for this set.", + "items": { + "$kind": "Microsoft.IRecognizer", + "$ref": "#/definitions/Microsoft.IRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RecognizerSet" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RegexEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Regex Entity Recognizer", + "description": "Recognizer which recognizes patterns of input based on regex.", + "type": "object", + "required": [ + "name", + "pattern", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "name": { + "type": "string", + "title": "Name", + "description": "Name of the entity" + }, + "pattern": { + "type": "string", + "title": "Pattern", + "description": "Pattern expressed as regular expression." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RegexEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RegexRecognizer": { + "$role": "implements(Microsoft.IRecognizer)", + "title": "Regex recognizer", + "description": "Use regular expressions to recognize intents and entities from user input.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional unique id using with RecognizerSet. Other recognizers should return 'DeferToRecognizer_{Id}' intent when cross training data for this recognizer." + }, + "intents": { + "type": "array", + "title": "RegEx patterns to intents", + "description": "Collection of patterns to match for an intent.", + "items": { + "type": "object", + "title": "Pattern", + "description": "Intent and regex pattern.", + "properties": { + "intent": { + "type": "string", + "title": "Intent", + "description": "The intent name." + }, + "pattern": { + "type": "string", + "title": "Pattern", + "description": "The regular expression pattern." + } + } + } + }, + "entities": { + "type": "array", + "title": "Entity recognizers", + "description": "Collection of entity recognizers to use.", + "items": { + "$kind": "Microsoft.IEntityRecognizer", + "$ref": "#/definitions/Microsoft.IEntityRecognizer" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RegexRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.RepeatDialog": { + "$role": "implements(Microsoft.IDialog)", + "type": "object", + "title": "Repeat dialog", + "description": "Repeat current dialog.", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "allowLoop": { + "$ref": "#/definitions/booleanExpression", + "title": "AllowLoop", + "description": "Optional condition which if true will allow loop of the repeated dialog.", + "examples": [ + "user.age > 3" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "options": { + "$ref": "#/definitions/objectExpression", + "title": "Options", + "description": "One or more options that are passed to the dialog that is called.", + "additionalProperties": { + "type": "string", + "title": "Options", + "description": "Options for repeating dialog." + } + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the dialog that is called can process the current activity.", + "default": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.RepeatDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ReplaceDialog": { + "$role": "implements(Microsoft.IDialog)", + "type": "object", + "title": "Replace dialog", + "description": "Replace current dialog with another dialog.", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "dialog": { + "oneOf": [ + { + "$kind": "Microsoft.IDialog", + "pattern": "^(?!(=)).*", + "title": "Dialog", + "$ref": "#/definitions/Microsoft.IDialog" + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=settings.dialogId" + ] + } + ], + "title": "Dialog name", + "description": "Name of the dialog to call." + }, + "options": { + "$ref": "#/definitions/objectExpression", + "title": "Options", + "description": "One or more options that are passed to the dialog that is called.", + "additionalProperties": { + "type": "string", + "title": "Options", + "description": "Options for replacing dialog." + } + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the dialog that is called can process the current activity.", + "default": true + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ReplaceDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.ResourceMultiLanguageGenerator": { + "$role": "implements(Microsoft.ILanguageGenerator)", + "title": "Resource Multi-Language Generator", + "description": "MultiLanguage Generator which is bound to resource by resource Id.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional generator ID." + }, + "resourceId": { + "type": "string", + "title": "Resource Id", + "description": "Resource which is the root language generator. Other generaters with the same name and language suffix will be loaded into this generator and used based on the Language Policy.", + "default": "dialog.result" + }, + "languagePolicy": { + "type": "object", + "title": "Language Policy", + "description": "Set alternate language policy for this generator. If not set, the global language policy will be used." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.ResourceMultiLanguageGenerator" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SendActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send an activity", + "description": "Respond with an activity.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/stringExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + "user.age > 3" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "Activity to send.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SendActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SetProperties": { + "$role": "implements(Microsoft.IDialog)", + "title": "Set property", + "description": "Set one or more property values.", + "type": "object", + "required": [ + "assignments", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "assignments": { + "type": "array", + "title": "Assignments", + "description": "Property value assignments to set.", + "items": { + "type": "object", + "title": "Assignment", + "description": "Property assignment.", + "properties": { + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "New value or expression.", + "examples": [ + "='milk'", + "=dialog.favColor", + "=dialog.favColor == 'red'" + ] + } + } + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SetProperties" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SetProperty": { + "$role": "implements(Microsoft.IDialog)", + "title": "Set property", + "description": "Set property to a value.", + "type": "object", + "required": [ + "property", + "value", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property (named location to store information).", + "examples": [ + "user.age" + ] + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "New value or expression.", + "examples": [ + "='milk'", + "=dialog.favColor", + "=dialog.favColor == 'red'" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SetProperty" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SignOutUser": { + "$role": "implements(Microsoft.IDialog)", + "title": "Sign Out User", + "description": "Sign a user out that was logged in previously using OAuthInput.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "userId": { + "$ref": "#/definitions/stringExpression", + "title": "ActivityId", + "description": "expression to an activityId to get the members. If none is defined then the current activity id will be used.", + "examples": [ + "=$lastActivity" + ] + }, + "connectionName": { + "$ref": "#/definitions/stringExpression", + "title": "Connection Name", + "description": "Connection name that was used with OAuthInput to log a user in." + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SignOutUser" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SkillDialog": { + "$role": "implements(Microsoft.IDialog)", + "title": "Begin a skill dialog", + "description": "Begin a remote skill dialog.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the skill dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=f(x)" + ] + }, + "activityProcessed": { + "$ref": "#/definitions/booleanExpression", + "title": "Activity Processed", + "description": "When set to false, the skill will be started using the activity in the current turn context instead of the activity in the Activity property.", + "default": true, + "examples": [ + true, + "=f(x)" + ] + }, + "resultProperty": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store any value returned by the dialog that is called.", + "examples": [ + "dialog.userName" + ] + }, + "botId": { + "$ref": "#/definitions/stringExpression", + "title": "Skill host bot ID", + "description": "The Microsoft App ID that will be calling the skill.", + "default": "=settings.MicrosoftAppId" + }, + "skillHostEndpoint": { + "$ref": "#/definitions/stringExpression", + "title": "Skill host", + "description": "The callback Url for the skill host.", + "default": "=settings.skillHostEndpoint", + "examples": [ + "https://mybot.contoso.com/api/skills/" + ] + }, + "connectionName": { + "$ref": "#/definitions/stringExpression", + "title": "OAuth Connection Name (SSO)", + "description": "The OAuth Connection Name, that would be used to perform Single SignOn with a skill.", + "default": "=settings.connectionName" + }, + "skillAppId": { + "$ref": "#/definitions/stringExpression", + "title": "Skill App ID", + "description": "The Microsoft App ID for the skill." + }, + "skillEndpoint": { + "$ref": "#/definitions/stringExpression", + "title": "Skill endpoint ", + "description": "The /api/messages endpoint for the skill.", + "examples": [ + "https://myskill.contoso.com/api/messages/" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "The activity to send to the skill.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SkillDialog" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.StaticActivityTemplate": { + "$role": "implements(Microsoft.IActivityTemplate)", + "title": "Microsoft Static Activity Template", + "description": "This allows you to define a static Activity object", + "type": "object", + "required": [ + "activity", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "activity": { + "$ref": "#/definitions/Microsoft.IActivityTemplate/oneOf/1", + "title": "Activity", + "description": "A static Activity to used.", + "required": [ + "type" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.StaticActivityTemplate" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.SwitchCondition": { + "$role": "implements(Microsoft.IDialog)", + "title": "Switch condition", + "description": "Execute different actions based on the value of a property.", + "type": "object", + "required": [ + "condition", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "condition": { + "$ref": "#/definitions/stringExpression", + "title": "Condition", + "description": "Property to evaluate.", + "examples": [ + "user.favColor" + ] + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "cases": { + "type": "array", + "title": "Cases", + "description": "Actions for each possible condition.", + "items": { + "type": "object", + "title": "Case", + "description": "Case and actions.", + "required": [ + "value", + "actions" + ], + "properties": { + "value": { + "type": [ + "number", + "integer", + "boolean", + "string" + ], + "title": "Value", + "description": "The value to compare the condition with.", + "examples": [ + "red", + "true", + "13" + ] + }, + "actions": { + "type": "array", + "title": "Actions", + "description": "Actions to execute.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + } + } + } + }, + "default": { + "type": "array", + "title": "Default", + "description": "Actions to execute if none of the cases meet the condition.", + "items": { + "$kind": "Microsoft.IDialog", + "$ref": "#/definitions/Microsoft.IDialog" + } + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.SwitchCondition" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TemperatureEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Temperature Recognizer", + "description": "Recognizer which recognizes temperatures.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TemperatureEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TemplateEngineLanguageGenerator": { + "$role": "implements(Microsoft.ILanguageGenerator)", + "title": "Template Multi-Language Generator", + "description": "Template Generator which allows only inline evaluation of templates.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional generator ID." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TemplateEngineLanguageGenerator" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TextInput": { + "$role": [ + "implements(Microsoft.IDialog)", + "extends(Microsoft.InputDialog)" + ], + "type": "object", + "title": "Text input dialog", + "description": "Collection information - Ask for a word or sentence.", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "defaultValue": { + "$ref": "#/definitions/stringExpression", + "title": "Default value", + "description": "'Property' will be set to the value of this expression when max turn count is exceeded.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "value": { + "$ref": "#/definitions/stringExpression", + "title": "Value", + "description": "'Property' will be set to the value of this expression unless it evaluates to null.", + "examples": [ + "hello world", + "Hello ${user.name}", + "=concat(user.firstname, user.lastName)" + ] + }, + "outputFormat": { + "$ref": "#/definitions/stringExpression", + "title": "Output format", + "description": "Expression to format the output.", + "examples": [ + "=toUpper(this.value)", + "${toUpper(this.value)}" + ] + }, + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "default": false, + "examples": [ + false, + "=user.isVip" + ] + }, + "prompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Initial prompt", + "description": "Message to send to collect information.", + "examples": [ + "What is your birth date?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "unrecognizedPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Unrecognized prompt", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "invalidPrompt": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Invalid prompt", + "description": "Message to send when the user input does not meet any validation expression.", + "examples": [ + "Sorry, '{this.value}' does not work. I need a number between 1-150. What is your age?" + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "defaultValueResponse": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Default value response", + "description": "Message to send when max turn count (if specified) has been exceeded and the default value is selected as the value.", + "examples": [ + "Sorry, I'm having trouble understanding you. I will just use {this.options.defaultValue} for now. You can say 'I'm 36 years old' to change it." + ], + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "maxTurnCount": { + "$ref": "#/definitions/integerExpression", + "title": "Max turn count", + "description": "Maximum number of re-prompt attempts to collect information.", + "default": 3, + "examples": [ + 3, + "=settings.xyz" + ] + }, + "validations": { + "type": "array", + "title": "Validation expressions", + "description": "Expression to validate user input.", + "items": { + "$ref": "#/definitions/condition", + "title": "Condition", + "description": "Expression which needs to met for the input to be considered valid", + "examples": [ + "int(this.value) > 1 && int(this.value) <= 150", + "count(this.value) < 300" + ] + } + }, + "property": { + "$ref": "#/definitions/stringExpression", + "title": "Property", + "description": "Property to store collected information. Input will be skipped if property has value (unless 'Always prompt' is true).", + "examples": [ + "$birthday", + "dialog.${user.name}", + "=f(x)" + ] + }, + "alwaysPrompt": { + "$ref": "#/definitions/booleanExpression", + "title": "Always prompt", + "description": "Collect information even if the specified 'property' is not empty.", + "default": false, + "examples": [ + false, + "=$val" + ] + }, + "allowInterruptions": { + "$ref": "#/definitions/booleanExpression", + "title": "Allow Interruptions", + "description": "A boolean expression that determines whether the parent should be allowed to interrupt the input.", + "default": true, + "examples": [ + true, + "=user.xyz" + ] + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TextInput" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TextTemplate": { + "$role": "implements(Microsoft.ITextTemplate)", + "title": "Microsoft TextTemplate", + "description": "Use LG Templates to create text", + "type": "object", + "required": [ + "template", + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "template": { + "title": "Template", + "description": "Language Generator template to evaluate to create the text.", + "type": "string" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TextTemplate" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TraceActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send a TraceActivity", + "description": "Send a trace activity to the transcript logger and/ or Bot Framework Emulator.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "name": { + "$ref": "#/definitions/stringExpression", + "title": "Name", + "description": "Name of the trace activity" + }, + "label": { + "$ref": "#/definitions/stringExpression", + "title": "Label", + "description": "Label for the trace activity (used to identify it in a list of trace activities.)" + }, + "valueType": { + "$ref": "#/definitions/stringExpression", + "title": "Value type", + "description": "Type of value" + }, + "value": { + "$ref": "#/definitions/valueExpression", + "title": "Value", + "description": "Property that holds the value to send as trace activity." + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TraceActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.TrueSelector": { + "$role": "implements(Microsoft.ITriggerSelector)", + "title": "True Trigger Selector", + "description": "Selector for all true events", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.TrueSelector" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.UpdateActivity": { + "$role": "implements(Microsoft.IDialog)", + "title": "Send an activity", + "description": "Respond with an activity.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Optional id for the dialog" + }, + "disabled": { + "$ref": "#/definitions/booleanExpression", + "title": "Disabled", + "description": "Optional condition which if true will disable this action.", + "examples": [ + true, + "=user.age > 3" + ] + }, + "activityId": { + "$ref": "#/definitions/stringExpression", + "title": "Activity Id", + "description": "An string expression with the activity id to update.", + "examples": [ + "=dialog.lastActivityId" + ] + }, + "activity": { + "$kind": "Microsoft.IActivityTemplate", + "title": "Activity", + "description": "Activity to send.", + "$ref": "#/definitions/Microsoft.IActivityTemplate" + }, + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.UpdateActivity" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "Microsoft.UrlEntityRecognizer": { + "$role": "implements(Microsoft.IEntityRecognizer)", + "title": "Confirmation Url Recognizer", + "description": "Recognizer which recognizes urls.", + "type": "object", + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$", + "const": "Microsoft.UrlEntityRecognizer" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "arrayExpression": { + "$role": "expression", + "title": "Array or expression", + "description": "Array or expression to evaluate.", + "oneOf": [ + { + "type": "array", + "title": "Array", + "description": "Array constant." + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "booleanExpression": { + "$role": "expression", + "title": "Boolean or expression", + "description": "Boolean constant or expression to evaluate.", + "oneOf": [ + { + "type": "boolean", + "title": "Boolean", + "description": "Boolean constant.", + "default": false, + "examples": [ + false + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=user.isVip" + ] + } + ] + }, + "component": { + "required": [ + "$kind" + ], + "additionalProperties": false, + "patternProperties": { + "^\\$": { + "title": "Tooling property", + "description": "Open ended property for tooling." + } + }, + "properties": { + "$kind": { + "title": "Kind of dialog object", + "description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)", + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9.]*$" + }, + "$designer": { + "title": "Designer information", + "type": "object", + "description": "Extra information for the Bot Framework Composer." + } + } + }, + "condition": { + "$role": "expression", + "title": "Boolean condition", + "description": "Boolean constant or expression to evaluate.", + "oneOf": [ + { + "$ref": "#/definitions/expression" + }, + { + "type": "boolean", + "title": "Boolean", + "description": "Boolean value.", + "default": true, + "examples": [ + false + ] + } + ] + }, + "equalsExpression": { + "type": "string", + "title": "Expression", + "description": "Expression starting with =.", + "pattern": "^=.*\\S.*", + "examples": [ + "=user.name" + ] + }, + "expression": { + "type": "string", + "title": "Expression", + "description": "Expression to evaluate.", + "pattern": "^.*\\S.*", + "examples": [ + "user.age > 13" + ] + }, + "integerExpression": { + "$role": "expression", + "title": "Integer or expression", + "description": "Integer constant or expression to evaluate.", + "oneOf": [ + { + "type": "integer", + "title": "Integer", + "description": "Integer constant.", + "default": 0, + "examples": [ + 15 + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=user.age" + ] + } + ] + }, + "numberExpression": { + "$role": "expression", + "title": "Number or expression", + "description": "Number constant or expression to evaluate.", + "oneOf": [ + { + "type": "number", + "title": "Number", + "description": "Number constant.", + "default": 0, + "examples": [ + 15.5 + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=dialog.quantity" + ] + } + ] + }, + "objectExpression": { + "$role": "expression", + "title": "Object or expression", + "description": "Object or expression to evaluate.", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Object constant." + }, + { + "$ref": "#/definitions/equalsExpression" + } + ] + }, + "role": { + "title": "$role", + "description": "Defines the role played in the dialog schema from [expression|interface|implements($kind)|extends($kind)].", + "type": "string", + "pattern": "^((expression)|(interface)|(implements\\([a-zA-Z][a-zA-Z0-9.]*\\))|(extends\\([a-zA-Z][a-zA-Z0-9.]*\\)))$" + }, + "stringExpression": { + "$role": "expression", + "title": "String or expression", + "description": "Interpolated string or expression to evaluate.", + "oneOf": [ + { + "type": "string", + "title": "String", + "description": "Interpolated string", + "pattern": "^(?!(=)).*", + "examples": [ + "Hello ${user.name}" + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=concat('x','y','z')" + ] + } + ] + }, + "valueExpression": { + "$role": "expression", + "title": "Any or expression", + "description": "Any constant or expression to evaluate.", + "oneOf": [ + { + "type": "object", + "title": "Object", + "description": "Object constant." + }, + { + "type": "array", + "title": "Array", + "description": "Array constant." + }, + { + "type": "string", + "title": "String", + "description": "Interpolated string.", + "pattern": "^(?!(=)).*", + "examples": [ + "Hello ${user.name}" + ] + }, + { + "type": "boolean", + "title": "Boolean", + "description": "Boolean constant", + "examples": [ + false + ] + }, + { + "type": "number", + "title": "Number", + "description": "Number constant.", + "examples": [ + 15.5 + ] + }, + { + "$ref": "#/definitions/equalsExpression", + "examples": [ + "=..." + ] + } + ] + } + } } diff --git a/runtime/dotnet/azurewebapp/Schemas/update.cmd b/runtime/dotnet/azurewebapp/Schemas/update.cmd index fa70ae4f47..c5cbecf0ec 100644 --- a/runtime/dotnet/azurewebapp/Schemas/update.cmd +++ b/runtime/dotnet/azurewebapp/Schemas/update.cmd @@ -1,2 +1,2 @@ cd .. -bf dialog:merge *.csproj -o schema/sdk.schema -v -b "" \ No newline at end of file +bf dialog:merge *.csproj -o schema/sdk.schema -v \ No newline at end of file diff --git a/runtime/dotnet/azurewebapp/Startup.cs b/runtime/dotnet/azurewebapp/Startup.cs index cb1cae6566..6b22122668 100644 --- a/runtime/dotnet/azurewebapp/Startup.cs +++ b/runtime/dotnet/azurewebapp/Startup.cs @@ -3,16 +3,18 @@ using System; using System.IO; -using Microsoft.ApplicationInsights; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; using Microsoft.Bot.Builder; -using Microsoft.Bot.Builder.ApplicationInsights; +using Microsoft.Bot.Builder.AI.Luis; +using Microsoft.Bot.Builder.AI.QnA; using Microsoft.Bot.Builder.Azure; using Microsoft.Bot.Builder.BotFramework; +using Microsoft.Bot.Builder.Dialogs; +using Microsoft.Bot.Builder.Dialogs.Adaptive; +using Microsoft.Bot.Builder.Dialogs.Declarative; using Microsoft.Bot.Builder.Dialogs.Declarative.Resources; using Microsoft.Bot.Builder.Integration.ApplicationInsights.Core; using Microsoft.Bot.Builder.Integration.AspNet.Core; @@ -82,13 +84,12 @@ public IStorage ConfigureStorage(BotSettings settings) public BotFrameworkHttpAdapter GetBotAdapter(IStorage storage, BotSettings settings, UserState userState, ConversationState conversationState, IServiceProvider s) { - HostContext.Current.Set(Configuration); - var adapter = new BotFrameworkHttpAdapter(new ConfigurationCredentialProvider(this.Configuration)); adapter .UseStorage(storage) - .UseState(userState, conversationState); + .UseBotState(userState, conversationState) + .Use(new RegisterClassMiddleware(Configuration)); // Configure Middlewares ConfigureTranscriptLoggerMiddleware(adapter, settings); @@ -122,6 +123,14 @@ public void ConfigureServices(IServiceCollection services) // Register AuthConfiguration to enable custom claim validation. services.AddSingleton(); + // register components. + ComponentRegistration.Add(new DialogsComponentRegistration()); + ComponentRegistration.Add(new DeclarativeComponentRegistration()); + ComponentRegistration.Add(new AdaptiveComponentRegistration()); + ComponentRegistration.Add(new LanguageGenerationComponentRegistration()); + ComponentRegistration.Add(new QnAMakerComponentRegistration()); + ComponentRegistration.Add(new LuisComponentRegistration()); + // Register the skills client and skills request handler. services.AddSingleton(); services.AddHttpClient(); diff --git a/runtime/dotnet/core/ComposerBot.cs b/runtime/dotnet/core/ComposerBot.cs index 584bdbd50a..c6a50d5002 100644 --- a/runtime/dotnet/core/ComposerBot.cs +++ b/runtime/dotnet/core/ComposerBot.cs @@ -29,8 +29,6 @@ public class ComposerBot : ActivityHandler public ComposerBot(ConversationState conversationState, UserState userState, ResourceExplorer resourceExplorer, BotFrameworkClient skillClient, SkillConversationIdFactoryBase conversationIdFactory, IBotTelemetryClient telemetryClient, string rootDialog, string defaultLocale) { - HostContext.Current.Set(skillClient); - HostContext.Current.Set(conversationIdFactory); this.conversationState = conversationState; this.userState = userState; this.dialogState = conversationState.CreateProperty("DialogState"); @@ -40,8 +38,10 @@ public ComposerBot(ConversationState conversationState, UserState userState, Res this.telemetryClient = telemetryClient; LoadRootDialogAsync(); + this.dialogManager.InitialTurnState.Set(skillClient); + this.dialogManager.InitialTurnState.Set(conversationIdFactory); } - + public override async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken)) { AdaptiveDialog rootDialog = (AdaptiveDialog)this.dialogManager.RootDialog; @@ -50,7 +50,7 @@ public ComposerBot(ConversationState conversationState, UserState userState, Res rootDialog.AutoEndDialog = true; } else - { + { rootDialog.AutoEndDialog = false; } diff --git a/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj b/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj index 4b0d8eb858..9d35f8fc66 100644 --- a/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj +++ b/runtime/dotnet/core/Microsoft.BotFramework.Composer.Core.csproj @@ -13,16 +13,18 @@ - - - - - - - - - - + + + + + + + + + + + + diff --git a/runtime/dotnet/tests/ActionsTests.cs b/runtime/dotnet/tests/ActionsTests.cs index 43b7675601..0767f86d7e 100644 --- a/runtime/dotnet/tests/ActionsTests.cs +++ b/runtime/dotnet/tests/ActionsTests.cs @@ -5,6 +5,7 @@ using Microsoft.Bot.Builder.Adapters; using Microsoft.Bot.Builder.Dialogs; using Microsoft.Bot.Builder.Dialogs.Adaptive; +using Microsoft.Bot.Builder.Dialogs.Declarative; using Microsoft.Bot.Builder.Dialogs.Declarative.Resources; using Microsoft.Bot.Schema; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -32,6 +33,12 @@ private static string getFolderPath(string path) public static void ClassInitialize(TestContext context) { string path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, samplesDirectory)); + + // register components. + ComponentRegistration.Add(new DialogsComponentRegistration()); + ComponentRegistration.Add(new DeclarativeComponentRegistration()); + ComponentRegistration.Add(new AdaptiveComponentRegistration()); + ComponentRegistration.Add(new LanguageGenerationComponentRegistration()); } public TestContext TestContext { get; set; } @@ -219,14 +226,14 @@ private TestFlow BuildTestFlow(string folderPath, bool sendTrace = false) resourceExplorer.AddFolder(folderPath); adapter .UseStorage(storage) - .UseState(userState, convoState) + .UseBotState(userState, convoState) .Use(new TranscriptLoggerMiddleware(new FileTranscriptLogger())); var resource = resourceExplorer.GetResource("actionssample.dialog"); - var dialog = resourceExplorer.LoadType(resource); + var dialog = resourceExplorer.LoadType(resource); DialogManager dm = new DialogManager(dialog) .UseResourceExplorer(resourceExplorer) - .UseLanguageGeneration(); ; + .UseLanguageGeneration(); return new TestFlow(adapter, async (turnContext, cancellationToken) => { diff --git a/runtime/dotnet/tests/ControllingConversationTests.cs b/runtime/dotnet/tests/ControllingConversationTests.cs index 82a70df767..8922c9b099 100644 --- a/runtime/dotnet/tests/ControllingConversationTests.cs +++ b/runtime/dotnet/tests/ControllingConversationTests.cs @@ -5,6 +5,7 @@ using Microsoft.Bot.Builder.Adapters; using Microsoft.Bot.Builder.Dialogs; using Microsoft.Bot.Builder.Dialogs.Adaptive; +using Microsoft.Bot.Builder.Dialogs.Declarative; using Microsoft.Bot.Builder.Dialogs.Declarative.Resources; using Microsoft.Bot.Schema; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -30,6 +31,12 @@ public static void ClassInitialize(TestContext context) { string path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, samplesDirectory, "ControllingConversationFlowSample")); resourceExplorer.AddFolder(path); + + // register components. + ComponentRegistration.Add(new DialogsComponentRegistration()); + ComponentRegistration.Add(new DeclarativeComponentRegistration()); + ComponentRegistration.Add(new AdaptiveComponentRegistration()); + ComponentRegistration.Add(new LanguageGenerationComponentRegistration()); } [ClassCleanup] @@ -108,7 +115,7 @@ private TestFlow BuildTestFlow(bool sendTrace = false) var adapter = new TestAdapter(TestAdapter.CreateConversation(TestContext.TestName), sendTrace); adapter .UseStorage(storage) - .UseState(userState, convoState) + .UseBotState(userState, convoState) .Use(new TranscriptLoggerMiddleware(new FileTranscriptLogger())); var resource = resourceExplorer.GetResource("controllingconversationflowsample.dialog"); diff --git a/runtime/dotnet/tests/InputsTests.cs b/runtime/dotnet/tests/InputsTests.cs index af4d05e4f9..f0ef055d87 100644 --- a/runtime/dotnet/tests/InputsTests.cs +++ b/runtime/dotnet/tests/InputsTests.cs @@ -5,6 +5,7 @@ using Microsoft.Bot.Builder.Adapters; using Microsoft.Bot.Builder.Dialogs; using Microsoft.Bot.Builder.Dialogs.Adaptive; +using Microsoft.Bot.Builder.Dialogs.Declarative; using Microsoft.Bot.Builder.Dialogs.Declarative.Resources; using Microsoft.Bot.Schema; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -30,6 +31,12 @@ public static void ClassInitialize(TestContext context) { string path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, samplesDirectory, "AskingQuestionsSample")); resourceExplorer.AddFolder(path); + + // register components. + ComponentRegistration.Add(new DialogsComponentRegistration()); + ComponentRegistration.Add(new DeclarativeComponentRegistration()); + ComponentRegistration.Add(new AdaptiveComponentRegistration()); + ComponentRegistration.Add(new LanguageGenerationComponentRegistration()); } [ClassCleanup] @@ -129,7 +136,7 @@ private TestFlow BuildTestFlow(bool sendTrace = false) var adapter = new TestAdapter(TestAdapter.CreateConversation(TestContext.TestName), sendTrace); adapter .UseStorage(storage) - .UseState(userState, convoState) + .UseBotState(userState, convoState) .Use(new TranscriptLoggerMiddleware(new FileTranscriptLogger())); var resource = resourceExplorer.GetResource("askingquestionssample.dialog"); diff --git a/runtime/dotnet/tests/MessageTests.cs b/runtime/dotnet/tests/MessageTests.cs index ebbe91da15..09b27ca711 100644 --- a/runtime/dotnet/tests/MessageTests.cs +++ b/runtime/dotnet/tests/MessageTests.cs @@ -5,6 +5,7 @@ using Microsoft.Bot.Builder.Adapters; using Microsoft.Bot.Builder.Dialogs; using Microsoft.Bot.Builder.Dialogs.Adaptive; +using Microsoft.Bot.Builder.Dialogs.Declarative; using Microsoft.Bot.Builder.Dialogs.Declarative.Resources; using Microsoft.Bot.Schema; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -30,6 +31,12 @@ public static void ClassInitialize(TestContext context) { string path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, samplesDirectory, "RespondingWithTextSample")); resourceExplorer.AddFolder(path); + + // register components. + ComponentRegistration.Add(new DialogsComponentRegistration()); + ComponentRegistration.Add(new DeclarativeComponentRegistration()); + ComponentRegistration.Add(new AdaptiveComponentRegistration()); + ComponentRegistration.Add(new LanguageGenerationComponentRegistration()); } [ClassCleanup] @@ -83,7 +90,7 @@ private TestFlow BuildTestFlow(bool sendTrace = false) var adapter = new TestAdapter(TestAdapter.CreateConversation(TestContext.TestName), sendTrace); adapter .UseStorage(storage) - .UseState(userState, convoState) + .UseBotState(userState, convoState) .Use(new TranscriptLoggerMiddleware(new FileTranscriptLogger())); var resource = resourceExplorer.GetResource("respondingwithtextsample.dialog"); diff --git a/runtime/dotnet/tests/ToDoBotTests.cs b/runtime/dotnet/tests/ToDoBotTests.cs index e09471f527..87996bedeb 100644 --- a/runtime/dotnet/tests/ToDoBotTests.cs +++ b/runtime/dotnet/tests/ToDoBotTests.cs @@ -5,6 +5,7 @@ using Microsoft.Bot.Builder.Adapters; using Microsoft.Bot.Builder.Dialogs; using Microsoft.Bot.Builder.Dialogs.Adaptive; +using Microsoft.Bot.Builder.Dialogs.Declarative; using Microsoft.Bot.Builder.Dialogs.Declarative.Resources; using Microsoft.Bot.Schema; using Microsoft.VisualStudio.TestTools.UnitTesting; @@ -30,6 +31,12 @@ public static void ClassInitialize(TestContext context) { string path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, samplesDirectory, "TodoSample")); resourceExplorer.AddFolder(path); + + // register components. + ComponentRegistration.Add(new DialogsComponentRegistration()); + ComponentRegistration.Add(new DeclarativeComponentRegistration()); + ComponentRegistration.Add(new AdaptiveComponentRegistration()); + ComponentRegistration.Add(new LanguageGenerationComponentRegistration()); } [ClassCleanup] @@ -83,7 +90,7 @@ private TestFlow BuildTestFlow(bool sendTrace = false) var adapter = new TestAdapter(TestAdapter.CreateConversation(TestContext.TestName), sendTrace); adapter .UseStorage(storage) - .UseState(userState, convoState) + .UseBotState(userState, convoState) .Use(new TranscriptLoggerMiddleware(new FileTranscriptLogger())); var resource = resourceExplorer.GetResource("todosample.dialog"); diff --git a/scripts/generate-sdk-enum.js b/scripts/generate-sdk-enum.js new file mode 100644 index 0000000000..2741203ac3 --- /dev/null +++ b/scripts/generate-sdk-enum.js @@ -0,0 +1,33 @@ +const fs = require('fs'); +const path = require('path'); + +const showHelp = process.argv.includes('--help'); + +if (showHelp) { + const help = `Run this script when the schema updates to generate an enum +which includes all of the types in the schema. + +Usage: + node scripts/generate-sdk-enum.js + node scripts/generate-sdk-enum.js /path/to/schema +`; + + console.log(help); + process.exit(0); +} + +const schemaPath = process.argv[2] || path.resolve(__dirname, '../runtime/dotnet/azurewebapp/schemas/sdk.schema'); + +const schema = JSON.parse(fs.readFileSync(schemaPath, 'utf-8')); +const types = Object.keys(schema.definitions).reduce((all, defName) => { + + if (defName.startsWith('Microsoft.') && !defName.startsWith('Microsoft.Test')) { + all.push(defName); + } + + return all; +}, []); +let uType = 'export enum SDKKinds {\n'; +uType += types.map(t => ` ${t.replace('Microsoft.', '').replace('.', '')} = '${t}',`).join('\n'); +uType += '\n}'; +console.log(uType);