diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/AdaptiveTestingComponentRegistration.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/AdaptiveTestingComponentRegistration.cs
index 734c1b6e02..38675aee23 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/AdaptiveTestingComponentRegistration.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/AdaptiveTestingComponentRegistration.cs
@@ -2,11 +2,8 @@
// Licensed under the MIT License.
using System.Collections.Generic;
-using Microsoft.Bot.Builder.AI.Luis;
-using Microsoft.Bot.Builder.AI.Luis.Testing;
using Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.Actions;
using Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.HttpRequestMocks;
-using Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.Mocks;
using Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.TestActions;
using Microsoft.Bot.Builder.Dialogs.Adaptive.Testing.UserTokenMocks;
using Microsoft.Bot.Builder.Dialogs.Debugging;
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/DialogInspector.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/DialogInspector.cs
index 19ec1f38a8..ed0af8a7e0 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/DialogInspector.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/DialogInspector.cs
@@ -15,12 +15,12 @@ namespace Microsoft.Bot.Builder.Dialogs.Adaptive.Testing
/// Delegate for inspecting or modifying dialog state.
///
/// Dialog context.
- public delegate void Inspector(DialogContext dc);
+ public delegate void DialogContextInspector(DialogContext dc);
///
/// Class for inspecting current dialog context.
///
- public class DialogInspector
+ internal class DialogInspector
{
private string _rootDialogId;
private readonly string _dialogStateProperty;
@@ -127,7 +127,7 @@ public Dialog RootDialog
/// Inspector for analyzing/modifying dialog context.
/// Cancellation token.
/// result of the running the logic against the activity.
- public async Task InspectAsync(ITurnContext context, Inspector inspector, CancellationToken cancellationToken = default)
+ public async Task InspectAsync(ITurnContext context, DialogContextInspector inspector, CancellationToken cancellationToken = default)
{
// This class just lets you load & save memory in parallel
var botStateSet = new BotStateSet();
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.MemoryAssertions.schema b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.MemoryAssertions.schema
index a011f2c3d4..f834b96f10 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.MemoryAssertions.schema
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/Schemas/Microsoft.Test.MemoryAssertions.schema
@@ -20,6 +20,11 @@
"user.vip == true"
]
}
+ },
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "The description of what the assertion is testing"
}
}
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/AssertReplyActivity.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/AssertReplyActivity.cs
index ce0c8343ac..0ca13a273f 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/AssertReplyActivity.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/AssertReplyActivity.cs
@@ -85,7 +85,7 @@ public virtual void ValidateReply(Activity activity)
}
///
- public override async Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public override async Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
var timeout = (int)Timeout;
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/CustomEvent.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/CustomEvent.cs
index e6877dde75..cc7da3f173 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/CustomEvent.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/CustomEvent.cs
@@ -53,7 +53,7 @@ public CustomEvent([CallerFilePath] string path = "", [CallerLineNumber] int lin
public object Value { get; set; }
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
if (Name == null)
{
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/MemoryAssertions.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/MemoryAssertions.cs
index 22229d5227..f3c9666d08 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/MemoryAssertions.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/MemoryAssertions.cs
@@ -36,6 +36,13 @@ public MemoryAssertions([CallerFilePath] string path = "", [CallerLineNumber] in
RegisterSourcePath(path, line);
}
+ ///
+ /// Gets or sets the description of this assertion.
+ ///
+ /// Description of what this assertion is.
+ [JsonProperty("description")]
+ public string Description { get; set; }
+
///
/// Gets the assertions.
///
@@ -44,27 +51,27 @@ public MemoryAssertions([CallerFilePath] string path = "", [CallerLineNumber] in
public List Assertions { get; } = new List();
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
- var activity = new Activity();
- activity.ApplyConversationReference(adapter.Conversation, isIncoming: true);
- activity.Type = "event";
- activity.Name = "MemoryAssertions";
- activity.Value = Assertions;
- await adapter.ProcessActivityAsync(
- activity,
- async (turnContext, cancellationToken) => await inspector.InspectAsync(turnContext, (dc) =>
- {
- foreach (var assertion in Assertions)
+ if (inspector != null)
+ {
+ await inspector((dc) =>
{
- var (val, error) = Expression.Parse(assertion).TryEvaluate(dc.State);
- if (error != null || !val)
+ foreach (var assertion in Assertions)
{
- throw new Exception($"{assertion} failed");
+ var (val, error) = Expression.Parse(assertion).TryEvaluate(dc.State);
+ if (error != null || !val)
+ {
+ throw new Exception($"{assertion} failed");
+ }
}
- }
- }).ConfigureAwait(false)).ConfigureAwait(false);
- Trace.TraceInformation($"[Turn Ended => MemoryAssertions passed]");
+ }).ConfigureAwait(false);
+ Trace.TraceInformation($"[Turn Ended => {Description} MemoryAssertions passed]");
+ }
+ else
+ {
+ Trace.TraceInformation($"[Turn Ended => No inspector for {Description} MemoryAssertions]");
+ }
}
}
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/SetProperties.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/SetProperties.cs
index 50e28d89ee..cc56358d0a 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/SetProperties.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/SetProperties.cs
@@ -1,6 +1,7 @@
// Licensed under the MIT License.
// Copyright (c) Microsoft Corporation. All rights reserved.
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.CompilerServices;
@@ -45,23 +46,23 @@ public SetProperties([CallerFilePath] string path = "", [CallerLineNumber] int l
public List Assignments { get; } = new List();
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
- var activity = new Activity();
- activity.ApplyConversationReference(adapter.Conversation, isIncoming: true);
- activity.Type = "event";
- activity.Name = "SetProperties";
- activity.Value = Assignments;
- await adapter.ProcessActivityAsync(
- activity,
- async (turnContext, cancellationToken) => await inspector.InspectAsync(turnContext, (dc) =>
- {
- foreach (var assignment in Assignments)
- {
- dc.State.SetValue(assignment.Property.Value, assignment.Value.Value);
- }
- }).ConfigureAwait(false)).ConfigureAwait(false);
- Trace.TraceInformation($"[Turn Ended => SetProperties completed]");
+ if (inspector != null)
+ {
+ await inspector((dc) =>
+ {
+ foreach (var assignment in Assignments)
+ {
+ dc.State.SetValue(assignment.Property.Value, assignment.Value.Value);
+ }
+ }).ConfigureAwait(false);
+ Trace.TraceInformation($"[Turn Ended => SetProperties completed]");
+ }
+ else
+ {
+ throw new Exception("No inspector to use for setting properties");
+ }
}
}
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/TestAction.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/TestAction.cs
index fca895198b..d32134e84a 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/TestAction.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/TestAction.cs
@@ -7,6 +7,13 @@
namespace Microsoft.Bot.Builder.Dialogs.Adaptive.Testing
{
+ ///
+ /// Allow inspecting/modifying the current dialog context.
+ ///
+ /// Inspector for looking at current dialog context.
+ /// A representing the asynchronous operation.
+ public delegate Task Inspector(DialogContextInspector inspector);
+
///
/// Abstract base class for scripted actions.
///
@@ -19,7 +26,7 @@ public abstract class TestAction
/// Logic for the bot to use.
/// Inspector for dialog context.
/// async task.
- public abstract Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector);
+ public abstract Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null);
///
/// Registers the path to file and callers line.
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserActivity.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserActivity.cs
index 225c15868d..33a0e2918a 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserActivity.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserActivity.cs
@@ -53,7 +53,7 @@ public UserActivity([CallerFilePath] string path = "", [CallerLineNumber] int li
public string User { get; set; }
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
if (Activity == null)
{
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserConversationUpdate.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserConversationUpdate.cs
index 776dd392c5..4d70235ca0 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserConversationUpdate.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserConversationUpdate.cs
@@ -50,7 +50,7 @@ public UserConversationUpdate([CallerFilePath] string path = "", [CallerLineNumb
public List MembersRemoved { get; } = new List();
///
- public override async Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public override async Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
var activity = adapter.MakeActivity();
activity.Type = ActivityTypes.ConversationUpdate;
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserDelay.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserDelay.cs
index a7873bc653..386b9a9ee1 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserDelay.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserDelay.cs
@@ -42,7 +42,7 @@ public UserDelay([CallerFilePath] string path = "", [CallerLineNumber] int line
public uint Timespan { get; set; }
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
await Task.Delay((int)Timespan).ConfigureAwait(false);
Trace.TraceInformation($"[Turn Ended => {Timespan} ms processing UserDelay[{Timespan}]");
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserSays.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserSays.cs
index 8cf5f45f39..7c51bb00bd 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserSays.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserSays.cs
@@ -52,7 +52,7 @@ public UserSays([CallerFilePath] string path = "", [CallerLineNumber] int line =
public string User { get; set; }
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
if (Text == null)
{
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserTyping.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserTyping.cs
index 96b63a2f0b..ae57cb3cee 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserTyping.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestActions/UserTyping.cs
@@ -43,7 +43,7 @@ public UserTyping([CallerFilePath] string path = "", [CallerLineNumber] int line
public string User { get; set; }
///
- public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, DialogInspector inspector)
+ public async override Task ExecuteAsync(TestAdapter adapter, BotCallbackHandler callback, Inspector inspector = null)
{
var typing = adapter.MakeActivity();
typing.Type = ActivityTypes.Typing;
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs
index fa39ac6606..30501ba21f 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive.Testing/TestScript.cs
@@ -160,12 +160,23 @@ public async Task ExecuteAsync(ResourceExplorer resourceExplorer, [CallerMemberN
userToken.Setup(adapter);
}
- var inspector = new DialogInspector(Dialog, resourceExplorer);
+ async Task Inspect(DialogContextInspector inspector)
+ {
+ var di = new DialogInspector(Dialog, resourceExplorer);
+ var activity = new Activity();
+ activity.ApplyConversationReference(adapter.Conversation, isIncoming: true);
+ activity.Type = "event";
+ activity.Name = "inspector";
+ await adapter.ProcessActivityAsync(
+ activity,
+ async (turnContext, cancellationToken) => await di.InspectAsync(turnContext, inspector).ConfigureAwait(false)).ConfigureAwait(false);
+ }
+
if (callback != null)
{
foreach (var testAction in Script)
{
- await testAction.ExecuteAsync(adapter, callback, inspector).ConfigureAwait(false);
+ await testAction.ExecuteAsync(adapter, callback, Inspect).ConfigureAwait(false);
}
}
else
@@ -176,7 +187,7 @@ public async Task ExecuteAsync(ResourceExplorer resourceExplorer, [CallerMemberN
foreach (var testAction in Script)
{
- await testAction.ExecuteAsync(adapter, dm.OnTurnAsync, inspector).ConfigureAwait(false);
+ await testAction.ExecuteAsync(adapter, dm.OnTurnAsync, Inspect).ConfigureAwait(false);
}
}
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperties.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperties.cs
index 750d648c77..c752a56221 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperties.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperties.cs
@@ -87,9 +87,6 @@ public DeleteProperties([CallerFilePath] string callerPath = "", [CallerLineNumb
{
dc.State.RemoveValue(property.GetValue(dc.State));
}
-
- // Explicit state change resets retries
- dc.State.RemoveValue(DialogPath.Retries);
}
return await dc.EndDialogAsync(cancellationToken: cancellationToken).ConfigureAwait(false);
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperty.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperty.cs
index c44271dfaf..ce103ee476 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperty.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/DeleteProperty.cs
@@ -95,9 +95,6 @@ public DeleteProperty(string property, [CallerFilePath] string callerPath = "",
dc.State.RemoveValue(Property.GetValue(dc.State));
- // Explicit state change resets retries
- dc.State.RemoveValue(DialogPath.Retries);
-
return await dc.EndDialogAsync(cancellationToken: cancellationToken).ConfigureAwait(false);
}
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/EditArray.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/EditArray.cs
index e851035b6e..855576d691 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/EditArray.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/EditArray.cs
@@ -245,9 +245,6 @@ public enum ArrayChangeType
dc.State.SetValue(property, array);
- // Explicit state change resets retries
- dc.State.RemoveValue(DialogPath.Retries);
-
if (ResultProperty != null)
{
dc.State.SetValue(this.ResultProperty.GetValue(dc.State), result);
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperties.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperties.cs
index 562ff6de0e..d0a3a9dc6b 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperties.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperties.cs
@@ -93,13 +93,9 @@ public SetProperties([CallerFilePath] string callerPath = "", [CallerLineNumber]
}
value = value?.ReplaceJTokenRecursively(dc.State);
-
dc.State.SetValue(propValue.Property.GetValue(dc.State), value);
}
- // Explicit state change resets retries
- dc.State.RemoveValue(DialogPath.Retries);
-
return await dc.EndDialogAsync(cancellationToken: cancellationToken).ConfigureAwait(false);
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperty.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperty.cs
index 2eab21b00d..ec6e9eddb1 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperty.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/Actions/SetProperty.cs
@@ -101,12 +101,8 @@ public SetProperty([CallerFilePath] string callerPath = "", [CallerLineNumber] i
}
value = value?.ReplaceJTokenRecursively(dc.State);
-
dc.State.SetValue(this.Property.GetValue(dc.State), value);
- // Explicit state change resets retries
- dc.State.RemoveValue(DialogPath.Retries);
-
return await dc.EndDialogAsync(cancellationToken: cancellationToken).ConfigureAwait(false);
}
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveDialog.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveDialog.cs
index c55e766fd4..d7c8712795 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveDialog.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/AdaptiveDialog.cs
@@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
-using System.ComponentModel.Design;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
@@ -904,6 +903,12 @@ private async Task ProcessQueuesAsync(ActionContext actionContext, Cancell
val = nextAssignment.Alternatives.ToList();
}
+ if (nextAssignment.RaisedCount++ == 0)
+ {
+ // Reset retries when new form event is first issued
+ actionContext.State.RemoveValue(DialogPath.Retries);
+ }
+
evt = new DialogEvent() { Name = nextAssignment.Event, Value = val, Bubble = false };
if (nextAssignment.Event == AdaptiveEvents.AssignEntity)
{
diff --git a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/EntityAssignment.cs b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/EntityAssignment.cs
index e546360914..a7c2ebf4e4 100644
--- a/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/EntityAssignment.cs
+++ b/libraries/Microsoft.Bot.Builder.Dialogs.Adaptive/EntityAssignment.cs
@@ -52,6 +52,15 @@ public class EntityAssignment
[JsonProperty("isExpected")]
public bool IsExpected { get; set; }
+ ///
+ /// Gets or sets the number of times event has been raised.
+ ///
+ ///
+ /// The number of times event has been raised.
+ ///
+ [JsonProperty("raisedCount")]
+ public uint RaisedCount { get; set; } = 0;
+
///
/// Gets the alternative entity assignments.
///
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/AskTests.cs b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/AskTests.cs
index 9c27b63454..d5d30276fb 100644
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/AskTests.cs
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/AskTests.cs
@@ -22,31 +22,19 @@ public AskTests(ResourceExplorerFixture resourceExplorerFixture)
}
[Fact]
- public async Task AskRetriesSetProperty()
+ public async Task AskRetriesAssign()
{
await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer);
}
[Fact]
- public async Task AskRetriesSetProperties()
+ public async Task AskRetriesOnChooseEntity()
{
await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer);
}
[Fact]
- public async Task AskRetriesDeleteProperty()
- {
- await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer);
- }
-
- [Fact]
- public async Task AskRetriesDeleteProperties()
- {
- await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer);
- }
-
- [Fact]
- public async Task AskRetriesEditArray()
+ public async Task AskRetriesOnChooseProperty()
{
await TestUtils.RunTestScript(_resourceExplorerFixture.ResourceExplorer);
}
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesDeleteProperties.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesAssign.test.dialog
similarity index 88%
rename from tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesDeleteProperties.test.dialog
rename to tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesAssign.test.dialog
index 66d595095b..39c00748bf 100644
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesDeleteProperties.test.dialog
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesAssign.test.dialog
@@ -51,12 +51,6 @@
{
"$kind": "Microsoft.SendActivity",
"activity": "Set bread to rye"
- },
- {
- "$kind": "Microsoft.DeleteProperties",
- "properties": [
- "$Bread"
- ]
}
]
}
@@ -83,9 +77,23 @@
"$kind": "Microsoft.Test.MemoryAssertions",
"assertions": [
"$retries == 0"
- ]
+ ],
+ "description": "Ensure retries is initialized"
},
- {
+ {
+ "$kind": "Microsoft.Test.UserSays",
+ "text": "no entities"
+ },
+ {
+ "$kind": "Microsoft.Test.AssertReply",
+ "text": "Bread?"
+ },
+ {
+ "$kind": "Microsoft.Test.MemoryAssertions",
+ "assertions": [
+ "$retries == 1"
+ ]
+ }, {
"$kind": "Microsoft.Test.UserSays",
"text": "rye"
},
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesDeleteProperty.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesOnChooseEntity.test.dialog
similarity index 68%
rename from tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesDeleteProperty.test.dialog
rename to tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesOnChooseEntity.test.dialog
index c0d58bc229..5d9945a054 100644
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesDeleteProperty.test.dialog
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesOnChooseEntity.test.dialog
@@ -4,7 +4,9 @@
"description": "Test retries from Ask with DeleteProperty",
"httpRequestMocks": [
"LuisNoEntities.mock",
- "LuisBreadEntity.mock"
+ "LuisBreadEntity.mock",
+ "LuisBreadEntities.mock",
+
],
"dialog": {
"$kind": "Microsoft.AdaptiveDialog",
@@ -42,6 +44,18 @@
}
]
},
+ {
+ "$kind": "Microsoft.OnChooseEntity",
+ "actions": [
+ {
+ "$kind": "Microsoft.Ask",
+ "activity": "Choose",
+ "expectedProperties": [
+ "Bread"
+ ]
+ }
+ ]
+ },
{
"$kind": "Microsoft.OnAssignEntity",
"operation": "Add()",
@@ -53,8 +67,9 @@
"activity": "Set bread to rye"
},
{
- "$kind": "Microsoft.DeleteProperty",
- "property": "$Bread"
+ "$kind": "Microsoft.SetProperty",
+ "property": "$Bread",
+ "value": "rye"
}
]
}
@@ -83,6 +98,34 @@
"$retries == 0"
]
},
+ {
+ "$kind": "Microsoft.Test.UserSays",
+ "text": "wheat"
+ },
+ {
+ "$kind": "Microsoft.Test.AssertReply",
+ "text": "Choose"
+ },
+ {
+ "$kind": "Microsoft.Test.MemoryAssertions",
+ "assertions": [
+ "$retries == 0"
+ ]
+ },
+ {
+ "$kind": "Microsoft.Test.UserSays",
+ "text": "no entities"
+ },
+ {
+ "$kind": "Microsoft.Test.AssertReply",
+ "text": "Choose"
+ },
+ {
+ "$kind": "Microsoft.Test.MemoryAssertions",
+ "assertions": [
+ "$retries == 1"
+ ]
+ },
{
"$kind": "Microsoft.Test.UserSays",
"text": "rye"
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesEditArray.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesOnChooseProperty.test.dialog
similarity index 58%
rename from tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesEditArray.test.dialog
rename to tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesOnChooseProperty.test.dialog
index ffdb789555..6b7a6e6602 100644
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesEditArray.test.dialog
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesOnChooseProperty.test.dialog
@@ -4,7 +4,9 @@
"description": "Test retries from Ask with EditArray",
"httpRequestMocks": [
"LuisNoEntities.mock",
- "LuisBreadEntity.mock"
+ "LuisBreadEntity.mock",
+ "LuisProperties.mock",
+ "LuisMeat.mock"
],
"dialog": {
"$kind": "Microsoft.AdaptiveDialog",
@@ -17,7 +19,7 @@
"IncludeAPIResults": true
}
},
- "schema": "oneProperty.json",
+ "schema": "threeProperties.json",
"triggers": [
{
"$kind": "Microsoft.OnBeginDialog",
@@ -42,20 +44,37 @@
}
]
},
+ {
+ "$kind": "Microsoft.OnChooseProperty",
+ "actions": [
+ {
+ "$kind": "Microsoft.Ask",
+ "activity": "Choose",
+ "expectedProperties": [
+ "PropertyToChange"
+ ]
+ }
+ ]
+ },
{
"$kind": "Microsoft.OnAssignEntity",
"operation": "Add()",
- "property": "Bread",
- "entity": "BreadEntity",
+ "property": "Meat",
+ "entity": "MeatEntity",
"actions": [
{
"$kind": "Microsoft.SendActivity",
- "activity": "Set bread to rye"
+ "activity": "Set meat to none"
},
{
- "$kind": "Microsoft.EditArray",
- "itemsProperty": "$Bread",
- "changeType": "clear"
+ "$kind": "Microsoft.SetProperty",
+ "property": "$Meat",
+ "value": "@MeatEntity"
+ },
+ {
+ "$kind": "Microsoft.SetProperty",
+ "property": "$Bread",
+ "value": "rye"
}
]
}
@@ -86,11 +105,40 @@
},
{
"$kind": "Microsoft.Test.UserSays",
- "text": "rye"
+ "text": "none"
+ },
+ {
+ "$kind": "Microsoft.Test.AssertReply",
+ "text": "Choose"
+ },
+ {
+ "$kind": "Microsoft.Test.MemoryAssertions",
+ "assertions": [
+ "$retries == 0"
+ ],
+ "description": "Reset after OnChooseProperty"
+ },
+ {
+ "$kind": "Microsoft.Test.UserSays",
+ "text": "no entities"
+ },
+ {
+ "$kind": "Microsoft.Test.AssertReply",
+ "text": "Choose"
+ },
+ {
+ "$kind": "Microsoft.Test.MemoryAssertions",
+ "assertions": [
+ "$retries == 1"
+ ]
+ },
+ {
+ "$kind": "Microsoft.Test.UserSays",
+ "text": "meat"
},
{
"$kind": "Microsoft.Test.AssertReply",
- "text": "Set bread to rye"
+ "text": "Set meat to none"
},
{
"$kind": "Microsoft.Test.MemoryAssertions",
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesSetProperties.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesSetProperties.test.dialog
deleted file mode 100644
index 70a940f4e9..0000000000
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesSetProperties.test.dialog
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "$schema": "../../../tests.schema",
- "$kind": "Microsoft.Test.Script",
- "description": "Test retries from Ask with SetProperties",
- "httpRequestMocks": [
- "LuisNoEntities.mock",
- "LuisBreadEntity.mock"
- ],
- "dialog": {
- "$kind": "Microsoft.AdaptiveDialog",
- "recognizer": {
- "$kind": "Microsoft.LuisRecognizer",
- "applicationId": "00000000-0000-0000-0000-000000000000",
- "endpointKey": "00000000000000000000000000000000",
- "endpoint": "https://westus.api.cognitive.microsoft.com",
- "predictionOptions": {
- "IncludeAPIResults": true
- }
- },
- "schema": "oneProperty.json",
- "triggers": [
- {
- "$kind": "Microsoft.OnBeginDialog",
- "actions": [
- {
- "$kind": "Microsoft.SendActivity",
- "activity": "welcome"
- }
- ]
- },
- {
- "$kind": "Microsoft.OnEndOfActions",
- "condition": "=!$Bread",
- "priority": 0,
- "actions": [
- {
- "$kind": "Microsoft.Ask",
- "activity": "Bread?",
- "expectedProperties": [
- "Bread"
- ]
- }
- ]
- },
- {
- "$kind": "Microsoft.OnAssignEntity",
- "operation": "Add()",
- "property": "Bread",
- "entity": "BreadEntity",
- "actions": [
- {
- "$kind": "Microsoft.SendActivity",
- "activity": "Set bread to rye"
- },
- {
- "$kind": "Microsoft.SetProperties",
- "assignments": [
- {
- "property": "$Bread",
- "value": "=@BreadEntity"
- }
- ]
- }
- ]
- }
- ]
- },
- "script": [
- {
- "$kind": "Microsoft.Test.UserConversationUpdate",
- "membersAdded": [
- "Bot",
- "User"
- ],
- "membersRemoved": []
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "welcome"
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "Bread?"
- },
- {
- "$kind": "Microsoft.Test.MemoryAssertions",
- "assertions": [
- "$retries == 0"
- ]
- },
- {
- "$kind": "Microsoft.Test.UserSays",
- "text": "rye"
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "Set bread to rye"
- },
- {
- "$kind": "Microsoft.Test.MemoryAssertions",
- "assertions": [
- "!$retries"
- ]
- }
- ]
-}
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesSetProperty.test.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesSetProperty.test.dialog
deleted file mode 100644
index 2ec690b57c..0000000000
--- a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/AskRetriesSetProperty.test.dialog
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "$schema": "../../../tests.schema",
- "$kind": "Microsoft.Test.Script",
- "description": "Test retries from Ask with SetProperty",
- "httpRequestMocks": [
- "LuisNoEntities.mock",
- "LuisBreadEntity.mock"
- ],
- "dialog": {
- "$kind": "Microsoft.AdaptiveDialog",
- "recognizer": {
- "$kind": "Microsoft.LuisRecognizer",
- "applicationId": "00000000-0000-0000-0000-000000000000",
- "endpointKey": "00000000000000000000000000000000",
- "endpoint": "https://westus.api.cognitive.microsoft.com",
- "predictionOptions": {
- "IncludeAPIResults": true
- }
- },
- "schema": "oneProperty.json",
- "triggers": [
- {
- "$kind": "Microsoft.OnBeginDialog",
- "actions": [
- {
- "$kind": "Microsoft.SendActivity",
- "activity": "welcome"
- }
- ]
- },
- {
- "$kind": "Microsoft.OnEndOfActions",
- "condition": "=!$Bread",
- "priority": 0,
- "actions": [
- {
- "$kind": "Microsoft.Ask",
- "activity": "Bread?",
- "expectedProperties": [
- "Bread"
- ]
- }
- ]
- },
- {
- "$kind": "Microsoft.OnAssignEntity",
- "operation": "Add()",
- "property": "Bread",
- "entity": "BreadEntity",
- "actions": [
- {
- "$kind": "Microsoft.SendActivity",
- "activity": "Set bread to rye"
- },
- {
- "$kind": "Microsoft.SetProperty",
- "property": "$Bread",
- "value": "=@BreadEntity"
- }
- ]
- }
- ]
- },
- "script": [
- {
- "$kind": "Microsoft.Test.UserConversationUpdate",
- "membersAdded": [
- "Bot",
- "User"
- ],
- "membersRemoved": []
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "welcome"
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "Bread?"
- },
- {
- "$kind": "Microsoft.Test.MemoryAssertions",
- "assertions": [
- "$retries == 0"
- ]
- },
- {
- "$kind": "Microsoft.Test.UserSays",
- "text": "no entities"
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "Bread?"
- },
- {
- "$kind": "Microsoft.Test.MemoryAssertions",
- "assertions": [
- "$retries == 1"
- ]
- },
- {
- "$kind": "Microsoft.Test.UserSays",
- "text": "rye"
- },
- {
- "$kind": "Microsoft.Test.AssertReply",
- "text": "Set bread to rye"
- },
- {
- "$kind": "Microsoft.Test.MemoryAssertions",
- "assertions": [
- "!$retries"
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisBreadEntities.mock.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisBreadEntities.mock.dialog
new file mode 100644
index 0000000000..fd8a8e55e2
--- /dev/null
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisBreadEntities.mock.dialog
@@ -0,0 +1,63 @@
+{
+ "$schema": "../../../tests.schema",
+ "$kind": "Microsoft.Test.HttpRequestSequenceMock",
+ "method": "POST",
+ "url": "https://westus.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/00000000-0000-0000-0000-000000000000/*",
+ "body": "\"query\": \"wheat\"",
+ "responses": [
+ {
+ "content": {
+ "query": "wheat",
+ "prediction": {
+ "topIntent": "none",
+ "intents": {
+ "sandwich": {
+ "score": 0.9
+ }
+ },
+ "entities": {
+ "Bread": [
+ {
+ "BreadEntity": [
+ [
+ "wheat1", "wheat2"
+ ]
+ ],
+ "$instance": {
+ "BreadEntity": [
+ {
+ "type": "BreadEntity",
+ "text": "wheat",
+ "startIndex": 0,
+ "length": 5,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "$instance": {
+ "Bread": [
+ {
+ "type": "Bread",
+ "text": "wheat",
+ "startIndex": 0,
+ "length": 5,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisMeat.mock.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisMeat.mock.dialog
new file mode 100644
index 0000000000..2dc6477299
--- /dev/null
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisMeat.mock.dialog
@@ -0,0 +1,42 @@
+{
+ "$schema": "../../../tests.schema",
+ "$kind": "Microsoft.Test.HttpRequestSequenceMock",
+ "method": "POST",
+ "url": "https://westus.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/00000000-0000-0000-0000-000000000000/*",
+ "body": "\"query\": \"meat\"",
+ "responses": [
+ {
+ "content": {
+ "query": "Meat",
+ "prediction": {
+ "topIntent": "none",
+ "intents": {
+ "sandwich": {
+ "score": 0.9
+ }
+ },
+ "entities": {
+ "Meat": [
+ {}
+ ],
+ "$instance": {
+ "Meat": [
+ {
+ "type": "Meat",
+ "text": "Meat",
+ "startIndex": 0,
+ "length": 4,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisProperties.mock.dialog b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisProperties.mock.dialog
new file mode 100644
index 0000000000..0671a0e7c3
--- /dev/null
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/LuisProperties.mock.dialog
@@ -0,0 +1,100 @@
+{
+ "$schema": "../../../tests.schema",
+ "$kind": "Microsoft.Test.HttpRequestSequenceMock",
+ "method": "POST",
+ "url": "https://westus.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/00000000-0000-0000-0000-000000000000/*",
+ "body": "\"query\": \"none\"",
+ "responses": [
+ {
+ "content": {
+ "query": "none",
+ "prediction": {
+ "topIntent": "none",
+ "intents": {
+ "sandwich": {
+ "score": 0.9
+ }
+ },
+ "entities": {
+ "Meat": [
+ {
+ "MeatEntity": [
+ [
+ "none"
+ ]
+ ],
+ "$instance": {
+ "MeatEntity": [
+ {
+ "type": "MeatEntity",
+ "text": "none",
+ "startIndex": 0,
+ "length": 4,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "Cheese": [
+ {
+ "CheeseEntity": [
+ [
+ "none"
+ ]
+ ],
+ "$instance": {
+ "CheeseEntity": [
+ {
+ "type": "CheeseEntity",
+ "text": "none",
+ "startIndex": 0,
+ "length": 4,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "$instance": {
+ "Meat": [
+ {
+ "type": "Meat",
+ "text": "none",
+ "startIndex": 0,
+ "length": 4,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ],
+ "Cheese": [
+ {
+ "type": "Cheese",
+ "text": "none",
+ "startIndex": 0,
+ "length": 4,
+ "modelTypeId": 1,
+ "modelType": "Entity Extractor",
+ "recognitionSources": [
+ "model"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/threeProperties.json b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/threeProperties.json
new file mode 100644
index 0000000000..5678f0a6c5
--- /dev/null
+++ b/tests/Microsoft.Bot.Builder.Dialogs.Adaptive.Tests/Tests/AskTests/threeProperties.json
@@ -0,0 +1,55 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema",
+ "type": "object",
+ "properties": {
+ "Bread": {
+ "type": "string",
+ "enum": [
+ "multiGrainWheat",
+ "rye",
+ "white",
+ "wholeWheat"
+ ],
+ "$entities": [
+ "BreadEntity"
+ ]
+ },
+ "Cheese": {
+ "type": "string",
+ "enum": [
+ "none"
+ ],
+ "$entities": [
+ "CheeseEntity"
+ ]
+ },
+ "Meat": {
+ "type": "string",
+ "enum": [
+ "none"
+ ],
+ "$entities": [
+ "MeatEntity"
+ ]
+ },
+ "PropertyToChange": {
+ "type": "string",
+ "$entities": [
+ "Bread",
+ "Cheese",
+ "Meat"
+ ]
+ }
+ },
+ "required": [
+ "Bread"
+ ],
+ "$operations": [
+ "Add()"
+ ],
+ "$defaultOperation": {
+ "": {
+ "": "Add()"
+ }
+ }
+}
diff --git a/tests/Microsoft.Bot.Builder.TestBot.Json/testbot.schema b/tests/Microsoft.Bot.Builder.TestBot.Json/testbot.schema
index 146d43ba92..17ac9f84b7 100644
--- a/tests/Microsoft.Bot.Builder.TestBot.Json/testbot.schema
+++ b/tests/Microsoft.Bot.Builder.TestBot.Json/testbot.schema
@@ -1,10827 +1,12247 @@
{
- "$schema": "https://schemas.botframework.com/schemas/component/v1.0/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.BeginSkill"
- },
- {
- "$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.StaticActivityTemplate"
- },
- {
- "$ref": "#/definitions/Microsoft.SwitchCondition"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnAppBasedLinkQuery"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnCardAction"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnChannelCreated"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnChannelDeleted"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnChannelRenamed"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnFileConsent"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionCardButtonClicked"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionConfigurationQuerySettingUrl"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionConfigurationSetting"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionFetchTask"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionQuery"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionSelectItem"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionSubmitAction"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnO365ConnectorCardAction"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnTaskModuleFetch"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnTaskModuleSubmit"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnTeamRenamed"
- },
- {
- "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer"
- },
- {
- "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertCondition"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertReply"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertReplyActivity"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertReplyOneOf"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.CustomEvent"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.Script"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserActivity"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserConversationUpdate"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserDelay"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserSays"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserTyping"
- },
- {
- "$ref": "#/definitions/Microsoft.TextInput"
- },
- {
- "$ref": "#/definitions/Microsoft.TextTemplate"
- },
- {
- "$ref": "#/definitions/Microsoft.TraceActivity"
- },
- {
- "$ref": "#/definitions/Microsoft.TrueSelector"
- },
- {
- "$ref": "#/definitions/Microsoft.UpdateActivity"
- },
- {
- "$ref": "#/definitions/Microsoft.UrlEntityRecognizer"
- },
- {
- "$ref": "#/definitions/Testbot.JavascriptAction"
- },
- {
- "$ref": "#/definitions/Testbot.Multiply"
- }
- ],
- "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.",
- "examples": [
- [
- "age",
- "name"
- ]
- ]
- },
- "defaultOperation": {
- "$ref": "#/definitions/objectExpression",
- "title": "Default Operation",
- "description": "Sets the default operation for each property and entity that will be used when no operation is recognized in the response to this Ask.",
- "examples": [
- {
- "number": "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.BeginSkill": {
- "$role": "implements(Microsoft.IDialog)",
- "title": "Begin a skill",
- "description": "Begin a remote skill.",
- "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.BeginSkill"
- },
- "$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": "A property to store the result of this action. The result can include any of the 4 properties from the HTTP response: statusCode, reasonPhrase, content, and headers. If the content is JSON it will be a deserialized object. The values can be accessed via .content for example.",
- "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.Test.AssertCondition"
- },
- {
- "$ref": "#/definitions/Microsoft.BeginDialog"
- },
- {
- "$ref": "#/definitions/Microsoft.BeginSkill"
- },
- {
- "$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.TextInput"
- },
- {
- "$ref": "#/definitions/Testbot.JavascriptAction"
- },
- {
- "$ref": "#/definitions/Testbot.Multiply"
- }
- ]
- },
- "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.QnAMakerRecognizer"
- },
- {
- "$ref": "#/definitions/Microsoft.LuisRecognizer"
- },
- {
- "$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"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnAppBasedLinkQuery"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnCardAction"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnChannelCreated"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnChannelDeleted"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnChannelRenamed"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnFileConsent"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionCardButtonClicked"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionConfigurationQuerySettingUrl"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionConfigurationSetting"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionFetchTask"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionQuery"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionSelectItem"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnMessagingExtensionSubmitAction"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnO365ConnectorCardAction"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnTaskModuleFetch"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnTaskModuleSubmit"
- },
- {
- "$ref": "#/definitions/Microsoft.Teams.OnTeamRenamed"
- }
- ]
- },
- "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"
- }
- ]
- },
- "strictFiltersCompoundOperationType": {
- "title": "Strict Filters Compound OperationType",
- "description": "Join operator for Strict Filters.",
- "oneOf": [
- {
- "type": "string",
- "title": "Strict Filters Compound OperationType",
- "description": "Value of Join Operator to be used as Conjunction with Strict Filter Values",
- "enum": [
- "AND",
- "OR"
- ],
- "default": "AND"
- },
- {
- "$ref": "#/definitions/equalsExpression"
- }
- ]
+ "$schema": "https://schemas.botframework.com/schemas/component/v1.0/component.schema",
+ "type": "object",
+ "title": "Component kinds",
+ "description": "These are all of the kinds that can be created by the loader.",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/AzureQueues.ContinueConversationLater"
+ },
+ {
+ "$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.BeginSkill"
+ },
+ {
+ "$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.OnContinueConversation"
+ },
+ {
+ "$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.OnInstallationUpdateActivity"
+ },
+ {
+ "$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.OrchestratorRecognizer"
+ },
+ {
+ "$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.StaticActivityTemplate"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.SwitchCondition"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TelemetryTrackEvent"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TemperatureEntityRecognizer"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TemplateEngineLanguageGenerator"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertCondition"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertReply"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertReplyActivity"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertReplyOneOf"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.CustomEvent"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.HttpRequestSequenceMock"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.MemoryAssertions"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.Script"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.SetProperties"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserActivity"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserConversationUpdate"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserDelay"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserSays"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserTokenBasicMock"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserTyping"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TextInput"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TextTemplate"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.ThrowException"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TraceActivity"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.TrueSelector"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.UpdateActivity"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.UrlEntityRecognizer"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnAppBasedLinkQuery"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnCardAction"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelCreated"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelDeleted"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelRenamed"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelRestored"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnFileConsent"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionCardButtonClicked"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionConfigurationQuerySettingUrl"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionConfigurationSetting"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionFetchTask"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionQuery"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionSelectItem"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionSubmitAction"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnO365ConnectorCardAction"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTaskModuleFetch"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTaskModuleSubmit"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamArchived"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamDeleted"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamHardDeleted"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamRenamed"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamRestored"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamUnarchived"
+ },
+ {
+ "$ref": "#/definitions/Testbot.JavascriptAction"
+ },
+ {
+ "$ref": "#/definitions/Testbot.Multiply"
+ }
+ ],
+ "definitions": {
+ "AzureQueues.ContinueConversationLater": {
+ "$role": "implements(Microsoft.IDialog)",
+ "title": "Continue Conversation Later (Queue)",
+ "description": "Continue conversation at later time (via Azure Storage Queue).",
+ "type": "object",
+ "required": [
+ "date",
+ "connectionString",
+ "$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"
+ ]
+ },
+ "date": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Date",
+ "description": "Date in the future as a ISO string when the conversation should continue.",
+ "examples": [
+ "=addHours(utcNow(), 1)"
+ ]
+ },
+ "connectionString": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Connection String",
+ "description": "Connection string for connecting to an Azure Storage account.",
+ "examples": [
+ "=settings.connectionString"
+ ]
+ },
+ "queueName": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Queue Name",
+ "description": "Name of the queue that your azure function is bound to.",
+ "examples": [
+ "activities"
+ ],
+ "default": "activities"
+ },
+ "value": {
+ "$ref": "#/definitions/valueExpression",
+ "title": "Value",
+ "description": "Value to send in the activity.value."
+ },
+ "$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": "AzureQueues.ContinueConversationLater"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "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": {
+ "$ref": "#/definitions/booleanExpression",
+ "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": [
+ {
+ "$ref": "#/definitions/schema"
+ },
+ {
+ "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.",
+ "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()",
+ "Remove()"
+ ]
+ },
+ "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/botframework.json/definitions/Attachment",
+ "title": "Object",
+ "description": "Attachment 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/botframework.json/definitions/Attachment",
+ "title": "Object",
+ "description": "Attachment 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.BeginSkill": {
+ "$role": "implements(Microsoft.IDialog)",
+ "title": "Begin a skill",
+ "description": "Begin a remote skill.",
+ "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"
+ },
+ "allowInterruptions": {
+ "$ref": "#/definitions/booleanExpression",
+ "title": "Allow Interruptions",
+ "description": "A boolean expression that determines whether the parent should be allowed to interrupt the skill.",
+ "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.BeginSkill"
+ },
+ "$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/botframework.json/definitions/CardAction",
+ "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": ", "
},
- "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."
- }
- }
- }
- },
- "strictFiltersCompoundOperationType": {
- "$ref": "#/definitions/stringExpression",
- "title": "StrictFilters Compound Operation Type",
- "description": "Type of Operation for Strict Filters.",
- "oneOf": [
- "title": "StrictFiltersCompoundOperationType",
- "description": "Metadata filter to use when calling the QnA Maker KB.",
- "enum": [
- "AND",
- "OR"
- ],
- "default": "AND"
- },
- {
- "$ref": "#/definitions/equalsExpression"
- }
- ]
- },
- "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.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.Teams.OnAppBasedLinkQuery": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnAppBasedLinkQuery",
- "description": "Actions triggered when a Teams activity is received with activity.name == 'composeExtension/queryLink'.",
- "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.Teams.OnAppBasedLinkQuery"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnCardAction": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnCardAction",
- "description": "Actions triggered when a Teams InvokeActivity is received with no activity.name.",
- "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.Teams.OnCardAction"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnChannelCreated": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnChannelCreated",
- "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelCreated'.",
- "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.Teams.OnChannelCreated"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnChannelDeleted": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnChannelDeleted",
- "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelDeleted'.",
- "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.Teams.OnChannelDeleted"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnChannelRenamed": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnChannelRenamed",
- "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelRenamed'.",
- "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.Teams.OnChannelRenamed"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnFileConsent": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnFileConsent",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name == 'fileConsent/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.Teams.OnFileConsent"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionCardButtonClicked": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMessagingExtensionCardButtonClicked",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/onCardButtonClicked'.",
- "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.Teams.OnMessagingExtensionCardButtonClicked"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionConfigurationQuerySettingUrl": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMessagingExtensionConfingurationQuerySettingURl",
- "description": "Actions triggered when a Teams InvokeActivity is received with name='composeExtension/querySettingUrl'.",
- "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.Teams.OnMessagingExtensionConfigurationQuerySettingUrl"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionConfigurationSetting": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMessagingExtensionConfigurationSetting",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/setting'.",
- "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.Teams.OnMessagingExtensionConfigurationSetting"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionFetchTask": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMesssagingExtensionFetchTask",
- "description": "Actions triggered when a Teams InvokeActivity is received when activity.name='composeExtension/fetchTask'.",
- "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.Teams.OnMessagingExtensionFetchTask"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionQuery": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMessagingExtensionsQuery",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/query'.",
- "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.Teams.OnMessagingExtensionQuery"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionSelectItem": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMessagingExtensionSelectItem",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/selectItem'.",
- "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.Teams.OnMessagingExtensionSelectItem"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnMessagingExtensionSubmitAction": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnMessagingExtensionSubmitAction",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/submitAction'.",
- "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.Teams.OnMessagingExtensionSubmitAction"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnO365ConnectorCardAction": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnO365ConnectorCardAction",
- "description": "Actions triggered when a Teams InvokeActivity is received for 'actionableMessage/executeAction'.",
- "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.Teams.OnO365ConnectorCardAction"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnTaskModuleFetch": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnTaskModuleFetch",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='task/fetch'.",
- "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.Teams.OnTaskModuleFetch"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnTaskModuleSubmit": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnTaskModuleSubmit",
- "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='task/submit'.",
- "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.Teams.OnTaskModuleSubmit"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Teams.OnTeamRenamed": {
- "$role": [
- "implements(Microsoft.ITrigger)",
- "extends(Microsoft.OnCondition)"
- ],
- "title": "OnTeamRenamed",
- "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamRenamed'.",
- "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.Teams.OnTeamRenamed"
- },
- "$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.Test.AssertCondition": {
- "$role": "implements(Microsoft.IDialog)",
- "title": "Assert Condition",
- "description": "Assert condition is true.",
- "type": "object",
- "required": [
- "condition",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "condition": {
- "$ref": "#/definitions/condition",
- "title": "Condition",
- "description": "Expression to evalute",
- "examples": [
- "user.age > 10"
- ]
- },
- "description": {
- "type": "string",
- "title": "Description",
- "description": "Description of what the condition is testing"
- },
- "$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.Test.AssertCondition"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.AssertReply": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Assert Reply",
- "description": "Asserts that a reply text is valid.",
- "type": "object",
- "required": [
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "text": {
- "type": "string",
- "title": "Reply Text",
- "description": "Expected reply text"
- },
- "exact": {
- "type": "boolean",
- "title": "Exact Match",
- "description": "If true then an exact match must happen, if false then the reply activity.text must contain the reply text. [Default:false]"
- },
- "description": {
- "type": "string",
- "title": "Description",
- "description": "The description of what the assertion is testing"
- },
- "timeout": {
- "type": "number",
- "title": "Timeout",
- "description": "The amount of time in milliseconds to wait for a reply (default is 3000)"
- },
- "assertions": {
- "type": "array",
- "title": "Assertions to perform to validate Activity that is sent by the dialog",
- "description": "Sequence of expressions which must evaluate to true.",
- "items": {
- "$ref": "#/definitions/condition",
- "title": "Assertion",
- "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
- "examples": [
- "user.vip == 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.Test.AssertReply"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.AssertReplyActivity": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Assert Reply Activity",
- "description": "Asserts that a reply activity is valid.",
- "type": "object",
- "required": [
- "assertions",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "description": {
- "type": "string",
- "title": "Description",
- "description": "The description of what the assertion is testing"
- },
- "timeout": {
- "type": "number",
- "title": "Timeout",
- "description": "The amount of time in milliseconds to wait for a reply (default is 3000)"
- },
- "assertions": {
- "type": "array",
- "title": "Assertions to perform to validate Activity that is sent by the dialog",
- "description": "Sequence of expressions which must evaluate to true.",
- "items": {
- "$ref": "#/definitions/condition",
- "title": "Assertion",
- "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
- "examples": [
- "user.vip == 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.Test.AssertReplyActivity"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.AssertReplyOneOf": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Assert Reply OneOf",
- "description": "Asserts that a reply text is one of multiple optional responses.",
- "type": "object",
- "required": [
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "text": {
- "type": "array",
- "title": "Replies",
- "description": "Expected replies (one of which must match).",
- "items": {
- "type": "string",
- "title": "Expected reply",
- "description": "Expected reply."
- }
- },
- "exact": {
- "type": "boolean",
- "title": "Exact Match",
- "description": "If true then an exact match must happen, if false then the reply activity.text must contain the reply text. [Default:false]"
- },
- "description": {
- "type": "string",
- "title": "Description",
- "description": "The description of what the assertion is testing"
- },
- "timeout": {
- "type": "number",
- "title": "Timeout",
- "description": "The amount of time in milliseconds to wait for a reply (default is 3000)"
- },
- "assertions": {
- "type": "array",
- "title": "Assertions to perform to validate Activity that is sent by the dialog",
- "description": "Sequence of expressions which must evaluate to true.",
- "items": {
- "$ref": "#/definitions/condition",
- "title": "Assertion",
- "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
- "examples": [
- "user.vip == 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.Test.AssertReplyOneOf"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.ITestAction": {
- "title": "Microsoft Test ITestAction",
- "description": "Components which derive from TestAction class",
- "$role": "interface",
- "oneOf": [
- {
- "type": "string",
- "title": "Reference to Microsoft.Test.ITestAction",
- "description": "Reference to Microsoft.Test.ITestAction .dialog file."
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertReply"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertReplyActivity"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.AssertReplyOneOf"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.CustomEvent"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserActivity"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserConversationUpdate"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserDelay"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserSays"
- },
- {
- "$ref": "#/definitions/Microsoft.Test.UserTyping"
- }
- ]
- },
- "Microsoft.Test.Script": {
- "$role": [],
- "title": "Test Script",
- "description": "Defines a sequence of test actions to perform to validate the behavior of dialogs.",
- "type": "object",
- "required": [
- "dialog",
- "script",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "dialog": {
- "$kind": "Microsoft.IDialog",
- "title": "Dialog",
- "description": "The root dialog to execute the test script against.",
- "$ref": "#/definitions/Microsoft.IDialog"
- },
- "description": {
- "type": "string",
- "title": "Description",
- "description": "Description of the test script"
- },
- "script": {
- "type": "array",
- "title": "Test actions",
- "description": "Sequence of test actions to execute.",
- "items": {
- "$kind": "Microsoft.Test.ITestAction",
- "$ref": "#/definitions/Microsoft.Test.ITestAction"
- }
- },
- "locale": {
- "type": "string",
- "title": "Locale",
- "description": "Set the locale for the user utterances in the script.",
- "default": "en-us"
- },
- "enableTrace": {
- "type": "boolean",
- "title": "Enable Trace Activity",
- "description": "Enable trace activities in the unit test (default is false)",
- "default": false
- },
- "$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.Test.Script"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.CustomEvent": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "User Event",
- "description": "Sends event to the bot from the user.",
- "type": "object",
- "required": [
- "name",
- "value",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "name": {
- "type": "string",
- "title": "Event Name",
- "description": "Event name to send to the bot."
- },
- "value": {
- "type": "object",
- "title": "Event value",
- "description": "Event value to send to the bot."
- },
- "$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.Test.CustomEvent"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.UserActivity": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Send Activity",
- "description": "Sends activity to the bot.",
- "type": "object",
- "required": [
- "activity",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "activity": {
- "type": "object",
- "title": "Activity",
- "description": "Activity to send to bot.",
- "additionalProperties": true
- },
- "user": {
- "type": "string",
- "title": "User Name",
- "description": "The activity.from.id and activity.from.name will be this if specified."
- },
- "$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.Test.UserActivity"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.UserConversationUpdate": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Send ConversationUpdate",
- "description": "Sends ConversationUpdate activity to the bot.",
- "type": "object",
- "required": [
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "membersAdded": {
- "type": "array",
- "title": "Members Added",
- "description": "Names of the members to add",
- "items": {
- "type": "string",
- "title": "Name",
- "description": "Name of member to add."
- }
- },
- "membersRemoved": {
- "type": "array",
- "title": "Members Removed",
- "description": "Names of the members to remove",
- "items": {
- "type": "string",
- "title": "Name",
- "description": "Name of member to remove."
- }
- },
- "$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.Test.UserConversationUpdate"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.UserDelay": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Delay Execution",
- "description": "Delays text script for time period.",
- "type": "object",
- "required": [
- "timespan",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "timespan": {
- "type": "number",
- "title": "Timespan",
- "description": "The amount of time in milliseconds to delay the execution of the test script"
- },
- "$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.Test.UserDelay"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.UserSays": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "User Text",
- "description": "Sends text to the bot from the user.",
- "type": "object",
- "required": [
- "text",
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "text": {
- "type": "string",
- "title": "Text",
- "description": "Text to send to the bot."
- },
- "user": {
- "type": "string",
- "title": "User Name",
- "description": "The activity.from.id and activity.from.name will be this if specified."
- },
- "$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.Test.UserSays"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Microsoft.Test.UserTyping": {
- "$role": "implements(Microsoft.Test.ITestAction)",
- "title": "Send Typing",
- "description": "Sends typing activity to the bot.",
- "type": "object",
- "required": [
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "user": {
- "type": "string",
- "title": "User Name",
- "description": "The activity.from.id and activity.from.name will be this if specified."
- },
- "$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.Test.UserTyping"
- },
- "$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."
- }
- }
- },
- "Testbot.JavascriptAction": {
- "$role": "implements(Microsoft.IDialog)",
- "title": "Javascript Action",
- "description": "This gives you the ability to execute javascript to manipulate memory",
- "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,
- "=f(x)"
- ]
- },
- "script": {
- "type": "string",
- "title": "Script",
- "description": "name of the script file, or javascript function with function: doAction(memory, args) => result"
- },
- "options": {
- "$ref": "#/definitions/objectExpression",
- "title": "Options",
- "description": "One or more options that are passed to the function as args.",
- "additionalProperties": {
- "type": "string",
- "title": "Options"
- }
- },
- "resultProperty": {
- "$ref": "#/definitions/stringExpression",
- "title": "Property",
- "description": "Property to store any value returned by the javascript function.",
- "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": "Testbot.JavascriptAction"
- },
- "$designer": {
- "title": "Designer information",
- "type": "object",
- "description": "Extra information for the Bot Framework Composer."
- }
- }
- },
- "Testbot.Multiply": {
- "$role": "implements(Microsoft.IDialog)",
- "title": "Multiply",
- "description": "This will return the result of arg1*arg2",
- "type": "object",
- "required": [
- "$kind"
- ],
- "additionalProperties": false,
- "patternProperties": {
- "^\\$": {
- "title": "Tooling property",
- "description": "Open ended property for tooling."
- }
- },
- "properties": {
- "arg1": {
- "$ref": "#/definitions/numberExpression",
- "title": "Arg1",
- "description": "Value from callers memory to use as arg 1"
- },
- "arg2": {
- "$ref": "#/definitions/numberExpression",
- "title": "Arg2",
- "description": "Value from callers memory to use as arg 2"
- },
- "result": {
- "$ref": "#/definitions/stringExpression",
- "title": "Result",
- "description": "Property to store the result in"
- },
- "$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": "Testbot.Multiply"
- },
- "$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": [
- "=..."
- ]
- }
- ]
- }
- }
+ "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/botframework.json/definitions/CardAction",
+ "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/expression",
+ "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": "A property to store the result of this action. The result can include any of the 4 properties from the HTTP response: statusCode, reasonPhrase, content, and headers. If the content is JSON it will be a deserialized object. The values can be accessed via .content for example.",
+ "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",
+ "binary"
+ ],
+ "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"
+ },
+ {
+ "$ref": "#/definitions/botframework.json/definitions/Activity",
+ "required": [
+ "type"
+ ]
+ },
+ {
+ "$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/AzureQueues.ContinueConversationLater"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.AdaptiveDialog"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertCondition"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.BeginDialog"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.BeginSkill"
+ },
+ {
+ "$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.TelemetryTrackEvent"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.ThrowException"
+ },
+ {
+ "$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.TextInput"
+ },
+ {
+ "$ref": "#/definitions/Testbot.JavascriptAction"
+ },
+ {
+ "$ref": "#/definitions/Testbot.Multiply"
+ }
+ ]
+ },
+ "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.OrchestratorRecognizer"
+ },
+ {
+ "$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.OnContinueConversation"
+ },
+ {
+ "$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.OnInstallationUpdateActivity"
+ },
+ {
+ "$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/Teams.OnAppBasedLinkQuery"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnCardAction"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelCreated"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelDeleted"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelRenamed"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnChannelRestored"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnFileConsent"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionCardButtonClicked"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionConfigurationQuerySettingUrl"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionConfigurationSetting"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionFetchTask"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionQuery"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionSelectItem"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnMessagingExtensionSubmitAction"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnO365ConnectorCardAction"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTaskModuleFetch"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTaskModuleSubmit"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamArchived"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamDeleted"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamHardDeleted"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamRenamed"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamRestored"
+ },
+ {
+ "$ref": "#/definitions/Teams.OnTeamUnarchived"
+ }
+ ]
+ },
+ "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."
+ },
+ "version": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "LUIS Version",
+ "description": "Optional version to target. If null then predictionOptions.Slot is used."
+ },
+ "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": {
+ "$ref": "#/definitions/booleanExpression",
+ "title": "Include all intents",
+ "description": "True for all intents, false for only top intent."
+ },
+ "includeInstanceData": {
+ "$ref": "#/definitions/booleanExpression",
+ "title": "Include $instance",
+ "description": "True to include $instance metadata in the LUIS response."
+ },
+ "log": {
+ "$ref": "#/definitions/booleanExpression",
+ "title": "Log utterances",
+ "description": "True to log utterances on LUIS service."
+ },
+ "preferExternalEntities": {
+ "$ref": "#/definitions/booleanExpression",
+ "title": "Prefer External Entities",
+ "description": "True to prefer external entities to those generated by LUIS models."
+ },
+ "slot": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Slot",
+ "description": "Slot to use for talking to LUIS service like production or staging."
+ }
+ }
+ },
+ "$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)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "On cancel dialog",
+ "description": "Actions to perform on cancel dialog 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.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.OnContinueConversation": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "On Continue Conversation",
+ "description": "Actions to perform when a conversation is started up again from a ContinueConversationLater action.",
+ "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.OnContinueConversation"
+ },
+ "$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.OnInstallationUpdateActivity": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "On InstallationUpdate activity",
+ "description": "Actions to perform on receipt of an activity with type 'InstallationUpdate'.",
+ "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.OnInstallationUpdateActivity"
+ },
+ "$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 or 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.OrchestratorRecognizer": {
+ "$role": "implements(Microsoft.IRecognizer)",
+ "title": "Orchestrator Recognizer",
+ "description": "Orchestrator recognizer.",
+ "type": "object",
+ "required": [
+ "model",
+ "shapShot",
+ "$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."
+ },
+ "modelPath": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Model",
+ "description": "NLR model file path.",
+ "default": "=settings.orchestrator.modelpath"
+ },
+ "snapshotPath": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Endpoint Key",
+ "description": "SnapShot file path.",
+ "default": "=settings.orchestrator.shapshotpath"
+ },
+ "entityRecognizers": {
+ "type": "array",
+ "title": "Entity recognizers",
+ "description": "Collection of entity recognizers to use.",
+ "items": {
+ "$kind": "Microsoft.IEntityRecognizer",
+ "$ref": "#/definitions/Microsoft.IEntityRecognizer"
+ }
+ },
+ "disambiguationScoreThreshold": {
+ "$ref": "#/definitions/numberExpression",
+ "title": "Threshold",
+ "description": "Recognizer returns ChooseIntent (disambiguation) if other intents are classified within this score of the top scoring intent.",
+ "default": 0.05,
+ "examples": [
+ "=true",
+ "=turn.scoreThreshold",
+ "=settings.orchestrator.disambigScoreThreshold"
+ ]
+ },
+ "detectAmbiguousIntents": {
+ "$ref": "#/definitions/booleanExpression",
+ "title": "Detect ambiguous intents",
+ "description": "If true, recognizer will look for ambiguous intents (intents with close recognition scores from top scoring intent).",
+ "default": false,
+ "examples": [
+ "=true",
+ "=turn.detectAmbiguousIntents",
+ "=settings.orchestrator.detectAmbiguousIntents"
+ ]
+ },
+ "$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.OrchestratorRecognizer"
+ },
+ "$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"
+ }
+ ]
+ },
+ "strictFiltersJoinOperator": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "StrictFiltersJoinOperator",
+ "description": "Join operator for Strict Filters.",
+ "oneOf": [
+ {
+ "title": "Join Operator",
+ "description": "Value of Join Operator to be used as conjunction with Strict Filter values.",
+ "enum": [
+ "AND",
+ "OR"
+ ],
+ "default": "AND"
+ },
+ {
+ "$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"
+ }
+ ]
+ },
+ "strictFiltersJoinOperator": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "StrictFiltersJoinOperator",
+ "description": "Join operator for Strict Filters.",
+ "oneOf": [
+ {
+ "title": "Join Operator",
+ "description": "Value of Join Operator to be used as onjuction with Strict Filter values.",
+ "enum": [
+ "AND",
+ "OR"
+ ],
+ "default": "AND"
+ },
+ {
+ "$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": "UserId",
+ "description": "Expression to an user to signout. Default is user.id.",
+ "default": "=user.id"
+ },
+ "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.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/botframework.json/definitions/Activity",
+ "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.TelemetryTrackEvent": {
+ "$role": "implements(Microsoft.IDialog)",
+ "type": "object",
+ "title": "Telemetry - Track Event",
+ "description": "Track a custom event using the registered Telemetry Client.",
+ "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"
+ ]
+ },
+ "eventName": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Event Name",
+ "description": "The name of the event to track.",
+ "examples": [
+ "MyEventStarted",
+ "MyEventCompleted"
+ ]
+ },
+ "properties": {
+ "type": "object",
+ "title": "Properties",
+ "description": "One or more properties to attach to the event being tracked.",
+ "additionalProperties": {
+ "$ref": "#/definitions/stringExpression"
+ }
+ },
+ "$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.TelemetryTrackEvent"
+ },
+ "$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.Test.AssertCondition": {
+ "$role": "implements(Microsoft.IDialog)",
+ "title": "Assert Condition",
+ "description": "Assert condition is true.",
+ "type": "object",
+ "required": [
+ "condition",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "condition": {
+ "$ref": "#/definitions/condition",
+ "title": "Condition",
+ "description": "Expression to evalute",
+ "examples": [
+ "user.age > 10"
+ ]
+ },
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "Description of what the condition is testing"
+ },
+ "$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.Test.AssertCondition"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.AssertReply": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Assert Reply",
+ "description": "Asserts that a reply text is valid.",
+ "type": "object",
+ "required": [
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "text": {
+ "type": "string",
+ "title": "Reply Text",
+ "description": "Expected reply text"
+ },
+ "exact": {
+ "type": "boolean",
+ "title": "Exact Match",
+ "description": "If true then an exact match must happen, if false then the reply activity.text must contain the reply text. [Default:false]"
+ },
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "The description of what the assertion is testing"
+ },
+ "timeout": {
+ "type": "number",
+ "title": "Timeout",
+ "description": "The amount of time in milliseconds to wait for a reply (default is 3000)"
+ },
+ "assertions": {
+ "type": "array",
+ "title": "Assertions to perform to validate Activity that is sent by the dialog",
+ "description": "Sequence of expressions which must evaluate to true.",
+ "items": {
+ "$ref": "#/definitions/condition",
+ "title": "Assertion",
+ "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
+ "examples": [
+ "user.vip == 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.Test.AssertReply"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.AssertReplyActivity": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Assert Reply Activity",
+ "description": "Asserts that a reply activity is valid.",
+ "type": "object",
+ "required": [
+ "assertions",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "The description of what the assertion is testing"
+ },
+ "timeout": {
+ "type": "number",
+ "title": "Timeout",
+ "description": "The amount of time in milliseconds to wait for a reply (default is 3000)"
+ },
+ "assertions": {
+ "type": "array",
+ "title": "Assertions to perform to validate Activity that is sent by the dialog",
+ "description": "Sequence of expressions which must evaluate to true.",
+ "items": {
+ "$ref": "#/definitions/condition",
+ "title": "Assertion",
+ "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
+ "examples": [
+ "user.vip == 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.Test.AssertReplyActivity"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.AssertReplyOneOf": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Assert Reply OneOf",
+ "description": "Asserts that a reply text is one of multiple optional responses.",
+ "type": "object",
+ "required": [
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "text": {
+ "type": "array",
+ "title": "Replies",
+ "description": "Expected replies (one of which must match).",
+ "items": {
+ "type": "string",
+ "title": "Expected reply",
+ "description": "Expected reply."
+ }
+ },
+ "exact": {
+ "type": "boolean",
+ "title": "Exact Match",
+ "description": "If true then an exact match must happen, if false then the reply activity.text must contain the reply text. [Default:false]"
+ },
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "The description of what the assertion is testing"
+ },
+ "timeout": {
+ "type": "number",
+ "title": "Timeout",
+ "description": "The amount of time in milliseconds to wait for a reply (default is 3000)"
+ },
+ "assertions": {
+ "type": "array",
+ "title": "Assertions to perform to validate Activity that is sent by the dialog",
+ "description": "Sequence of expressions which must evaluate to true.",
+ "items": {
+ "$ref": "#/definitions/condition",
+ "title": "Assertion",
+ "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
+ "examples": [
+ "user.vip == 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.Test.AssertReplyOneOf"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.CustomEvent": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "User Event",
+ "description": "Sends event to the bot from the user.",
+ "type": "object",
+ "required": [
+ "name",
+ "value",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Event Name",
+ "description": "Event name to send to the bot."
+ },
+ "value": {
+ "type": "object",
+ "title": "Event value",
+ "description": "Event value to send to the bot."
+ },
+ "$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.Test.CustomEvent"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.HttpRequestSequenceMock": {
+ "$role": "implements(Microsoft.Test.IHttpRequestMock)",
+ "title": "HttpRequest Sequence Mock",
+ "description": "Mock HttpRequest in sequence order.",
+ "type": "object",
+ "required": [
+ "url",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "method": {
+ "type": "string",
+ "title": "HTTP method",
+ "description": "HTTP method to match. If null, match to any method.",
+ "enum": [
+ "GET",
+ "POST",
+ "PATCH",
+ "PUT",
+ "DELETE"
+ ],
+ "examples": [
+ "GET",
+ "POST"
+ ]
+ },
+ "url": {
+ "type": "string",
+ "title": "Url",
+ "description": "URL to match. Absolute or relative, may contain * wildcards.",
+ "examples": [
+ "https://contoso.com"
+ ]
+ },
+ "matchType": {
+ "type": "string",
+ "title": "Body Match Type",
+ "description": "The match type for body.",
+ "enum": [
+ "Exact",
+ "Partial"
+ ],
+ "examples": [
+ "Exact",
+ "Partial"
+ ],
+ "default": "Partial"
+ },
+ "body": {
+ "type": "string",
+ "title": "Body",
+ "description": "The body to match against request's body.",
+ "examples": [
+ "content"
+ ]
+ },
+ "responses": {
+ "type": "array",
+ "title": "Responses",
+ "description": "Sequence of responses to reply. The last one will be repeated.",
+ "items": {
+ "type": "object",
+ "title": "HttpResponseMock",
+ "description": "Mocked http response.",
+ "properties": {
+ "statusCode": {
+ "title": "Status Code",
+ "description": "The status code. Default is OK(200).",
+ "oneOf": [
+ {
+ "type": "string",
+ "title": "String Status Code",
+ "description": "Use string as status code.",
+ "enum": [
+ "Continue",
+ "SwitchingProtocols",
+ "OK",
+ "Created",
+ "Accepted",
+ "NonAuthoritativeInformation",
+ "NoContent",
+ "ResetContent",
+ "PartialContent",
+ "Ambiguous",
+ "MultipleChoices",
+ "Moved",
+ "MovedPermanently",
+ "Found",
+ "Redirect",
+ "RedirectMethod",
+ "SeeOther",
+ "NotModified",
+ "UseProxy",
+ "Unused",
+ "RedirectKeepVerb",
+ "TemporaryRedirect",
+ "BadRequest",
+ "Unauthorized",
+ "PaymentRequired",
+ "Forbidden",
+ "NotFound",
+ "MethodNotAllowed",
+ "NotAcceptable",
+ "ProxyAuthenticationRequired",
+ "RequestTimeout",
+ "Conflict",
+ "Gone",
+ "LengthRequired",
+ "PreconditionFailed",
+ "RequestEntityTooLarge",
+ "RequestUriTooLong",
+ "UnsupportedMediaType",
+ "RequestedRangeNotSatisfiable",
+ "ExpectationFailed",
+ "UpgradeRequired",
+ "InternalServerError",
+ "NotImplemented",
+ "BadGateway",
+ "ServiceUnavailable",
+ "GatewayTimeout",
+ "HttpVersionNotSupported"
+ ],
+ "examples": [
+ "OK"
+ ]
+ },
+ {
+ "type": "number",
+ "title": "Number Status Code",
+ "description": "Use number as status code.",
+ "examples": [
+ 200
+ ]
+ }
+ ],
+ "default": "OK"
+ },
+ "reasonPhrase": {
+ "type": "string",
+ "title": "Reason Phrase",
+ "description": "The reason phrase.",
+ "examples": [
+ "Server is stolen."
+ ]
+ },
+ "contentType": {
+ "type": "string",
+ "title": "ContentType",
+ "description": "Content type of response.",
+ "enum": [
+ "String",
+ "ByteArray"
+ ],
+ "examples": [
+ "String"
+ ],
+ "default": "String"
+ },
+ "content": {
+ "title": "Content",
+ "description": "Content of response.",
+ "oneOf": [
+ {
+ "type": "string",
+ "title": "String content",
+ "description": "Use string as content.",
+ "examples": [
+ "string response"
+ ]
+ },
+ {
+ "type": "object",
+ "title": "Object content",
+ "description": "Use object as content. It will be serialized to string.",
+ "examples": [
+ {
+ "data": "object response"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "$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.Test.HttpRequestSequenceMock"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.IHttpRequestMock": {
+ "title": "Microsoft Test IHttpRequestMock",
+ "description": "Components which derive from HttpRequestMock class",
+ "$role": "interface",
+ "oneOf": [
+ {
+ "type": "string",
+ "title": "Reference to Microsoft.Test.IHttpRequestMock",
+ "description": "Reference to Microsoft.Test.IHttpRequestMock .dialog file."
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.HttpRequestSequenceMock"
+ }
+ ]
+ },
+ "Microsoft.Test.IPropertyMock": {
+ "title": "Microsoft Test IPropertyMock",
+ "description": "Components which derive from PropertyMock class",
+ "$role": "interface"
+ },
+ "Microsoft.Test.ITestAction": {
+ "title": "Microsoft Test ITestAction",
+ "description": "Components which derive from TestAction class",
+ "$role": "interface",
+ "oneOf": [
+ {
+ "type": "string",
+ "title": "Reference to Microsoft.Test.ITestAction",
+ "description": "Reference to Microsoft.Test.ITestAction .dialog file."
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertReply"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertReplyActivity"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.AssertReplyOneOf"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.CustomEvent"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.MemoryAssertions"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.SetProperties"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserActivity"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserConversationUpdate"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserDelay"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserSays"
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserTyping"
+ }
+ ]
+ },
+ "Microsoft.Test.IUserTokenMock": {
+ "title": "Microsoft Test IUserTokenMock",
+ "description": "Components which derive from UserTokenMock class",
+ "$role": "interface",
+ "oneOf": [
+ {
+ "type": "string",
+ "title": "Reference to Microsoft.Test.IUserTokenMock",
+ "description": "Reference to Microsoft.Test.IUserTokenMock .dialog file."
+ },
+ {
+ "$ref": "#/definitions/Microsoft.Test.UserTokenBasicMock"
+ }
+ ]
+ },
+ "Microsoft.Test.MemoryAssertions": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Memory assertions",
+ "description": "Run assertions against current memory.",
+ "type": "object",
+ "required": [
+ "assertions",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "assertions": {
+ "type": "array",
+ "title": "Assertions against memory",
+ "description": "Sequence of expressions which must evaluate to true.",
+ "items": {
+ "$ref": "#/definitions/condition",
+ "title": "Assertion",
+ "description": "Assertion as an expression, which must evaluate to true or it will fail the test script.",
+ "examples": [
+ "user.vip == true"
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "The description of what the assertion is testing"
+ },
+ "$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.Test.MemoryAssertions"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.Script": {
+ "$role": [],
+ "title": "Test Script",
+ "description": "Defines a sequence of test actions to perform to validate the behavior of dialogs.",
+ "type": "object",
+ "required": [
+ "dialog",
+ "script",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "dialog": {
+ "$kind": "Microsoft.IDialog",
+ "title": "Dialog",
+ "description": "The root dialog to execute the test script against.",
+ "$ref": "#/definitions/Microsoft.IDialog"
+ },
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "Description of the test script"
+ },
+ "httpRequestMocks": {
+ "type": "array",
+ "title": "Http Request Mocks",
+ "description": "Mock data for Microsoft.HttpRequest.",
+ "items": {
+ "$kind": "Microsoft.Test.IHttpRequestMock",
+ "$ref": "#/definitions/Microsoft.Test.IHttpRequestMock"
+ }
+ },
+ "userTokenMocks": {
+ "type": "array",
+ "title": "User Token Mocks",
+ "description": "Mock data for Microsoft.OAuthInput.",
+ "items": {
+ "$kind": "Microsoft.Test.IUserTokenMock",
+ "$ref": "#/definitions/Microsoft.Test.IUserTokenMock"
+ }
+ },
+ "script": {
+ "type": "array",
+ "title": "Test actions",
+ "description": "Sequence of test actions to execute.",
+ "items": {
+ "$kind": "Microsoft.Test.ITestAction",
+ "$ref": "#/definitions/Microsoft.Test.ITestAction"
+ }
+ },
+ "locale": {
+ "type": "string",
+ "title": "Locale",
+ "description": "Set the locale for the user utterances in the script.",
+ "default": "en-us"
+ },
+ "enableTrace": {
+ "type": "boolean",
+ "title": "Enable Trace Activity",
+ "description": "Enable trace activities in the unit test (default is false)",
+ "default": false
+ },
+ "$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.Test.Script"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.SetProperties": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Set properties",
+ "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": {
+ "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.Test.SetProperties"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.UserActivity": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Send Activity",
+ "description": "Sends activity to the bot.",
+ "type": "object",
+ "required": [
+ "activity",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "activity": {
+ "type": "object",
+ "title": "Activity",
+ "description": "Activity to send to bot.",
+ "additionalProperties": true
+ },
+ "user": {
+ "type": "string",
+ "title": "User Name",
+ "description": "The activity.from.id and activity.from.name will be this if specified."
+ },
+ "$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.Test.UserActivity"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.UserConversationUpdate": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Send ConversationUpdate",
+ "description": "Sends ConversationUpdate activity to the bot.",
+ "type": "object",
+ "required": [
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "membersAdded": {
+ "type": "array",
+ "title": "Members Added",
+ "description": "Names of the members to add",
+ "items": {
+ "type": "string",
+ "title": "Name",
+ "description": "Name of member to add."
+ }
+ },
+ "membersRemoved": {
+ "type": "array",
+ "title": "Members Removed",
+ "description": "Names of the members to remove",
+ "items": {
+ "type": "string",
+ "title": "Name",
+ "description": "Name of member to remove."
+ }
+ },
+ "$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.Test.UserConversationUpdate"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.UserDelay": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Delay Execution",
+ "description": "Delays text script for time period.",
+ "type": "object",
+ "required": [
+ "timespan",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "timespan": {
+ "type": "number",
+ "title": "Timespan",
+ "description": "The amount of time in milliseconds to delay the execution of the test script"
+ },
+ "$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.Test.UserDelay"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.UserSays": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "User Text",
+ "description": "Sends text to the bot from the user.",
+ "type": "object",
+ "required": [
+ "text",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "text": {
+ "type": "string",
+ "title": "Text",
+ "description": "Text to send to the bot."
+ },
+ "user": {
+ "type": "string",
+ "title": "User Name",
+ "description": "The activity.from.id and activity.from.name will be this if specified."
+ },
+ "$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.Test.UserSays"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.UserTokenBasicMock": {
+ "$role": "implements(Microsoft.Test.IUserTokenMock)",
+ "title": "Microsoft Test UserTokenBasicMock",
+ "description": "Mock Basic UserToken",
+ "type": "object",
+ "required": [
+ "connectionName",
+ "token",
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "connectionName": {
+ "type": "string",
+ "title": "Connection Name",
+ "description": "The connection name.",
+ "examples": [
+ "graph"
+ ]
+ },
+ "channelId": {
+ "type": "string",
+ "title": "Channel ID",
+ "description": "The channel ID. If empty, same as adapter.Conversation.ChannelId.",
+ "examples": [
+ "test"
+ ]
+ },
+ "userId": {
+ "type": "string",
+ "title": "User ID",
+ "description": "The user ID. If empty, same as adapter.Conversation.User.Id.",
+ "examples": [
+ "user1"
+ ]
+ },
+ "token": {
+ "type": "string",
+ "title": "Token",
+ "description": "The token to store.",
+ "examples": [
+ "token"
+ ]
+ },
+ "magicCode": {
+ "type": "string",
+ "title": "Magic Code",
+ "description": "The optional magic code to associate with this token.",
+ "examples": [
+ "000000"
+ ]
+ },
+ "$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.Test.UserTokenBasicMock"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Microsoft.Test.UserTyping": {
+ "$role": "implements(Microsoft.Test.ITestAction)",
+ "title": "Send Typing",
+ "description": "Sends typing activity to the bot.",
+ "type": "object",
+ "required": [
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "user": {
+ "type": "string",
+ "title": "User Name",
+ "description": "The activity.from.id and activity.from.name will be this if specified."
+ },
+ "$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.Test.UserTyping"
+ },
+ "$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.ThrowException": {
+ "$role": "implements(Microsoft.IDialog)",
+ "title": "Throw an exception",
+ "description": "Throw an exception. Capture this exception with OnError trigger.",
+ "type": "object",
+ "required": [
+ "errorValue",
+ "$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"
+ ]
+ },
+ "errorValue": {
+ "$ref": "#/definitions/valueExpression",
+ "title": "Error value",
+ "description": "Error value to throw."
+ },
+ "$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.ThrowException"
+ },
+ "$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."
+ }
+ }
+ },
+ "Teams.OnAppBasedLinkQuery": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsAppBasedLinkQuery",
+ "description": "Actions triggered when a Teams activity is received with activity.name == 'composeExtension/queryLink'.",
+ "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": "Teams.OnAppBasedLinkQuery"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnCardAction": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsCardAction",
+ "description": "Actions triggered when a Teams InvokeActivity is received with no activity.name.",
+ "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": "Teams.OnCardAction"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnChannelCreated": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsChannelCreated",
+ "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelCreated'.",
+ "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": "Teams.OnChannelCreated"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnChannelDeleted": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsChannelDeleted",
+ "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelDeleted'.",
+ "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": "Teams.OnChannelDeleted"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnChannelRenamed": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsChannelRenamed",
+ "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelRenamed'.",
+ "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": "Teams.OnChannelRenamed"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnChannelRestored": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsChannelRestored",
+ "description": "Actions triggered when a Teams ConversationUpdateActivity with channelData.eventType == 'channelRestored'.",
+ "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": "Teams.OnChannelRestored"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnFileConsent": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsFileConsent",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name == 'fileConsent/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": "Teams.OnFileConsent"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionCardButtonClicked": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionCardButtonClicked",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/onCardButtonClicked'.",
+ "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": "Teams.OnMessagingExtensionCardButtonClicked"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionConfigurationQuerySettingUrl": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionConfigurationQuerySettingUrl",
+ "description": "Actions triggered when a Teams InvokeActivity is received with name='composeExtension/querySettingUrl'.",
+ "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": "Teams.OnMessagingExtensionConfigurationQuerySettingUrl"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionConfigurationSetting": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionConfigurationSetting",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/setting'.",
+ "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": "Teams.OnMessagingExtensionConfigurationSetting"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionFetchTask": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionFetchTask",
+ "description": "Actions triggered when a Teams InvokeActivity is received when activity.name='composeExtension/fetchTask'.",
+ "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": "Teams.OnMessagingExtensionFetchTask"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionQuery": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionQuery",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/query'.",
+ "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": "Teams.OnMessagingExtensionQuery"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionSelectItem": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionSelectItem",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/selectItem'.",
+ "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": "Teams.OnMessagingExtensionSelectItem"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnMessagingExtensionSubmitAction": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsMessagingExtensionSubmitAction",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='composeExtension/submitAction'.",
+ "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": "Teams.OnMessagingExtensionSubmitAction"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnO365ConnectorCardAction": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsO365ConnectorCardAction",
+ "description": "Actions triggered when a Teams InvokeActivity is received for 'actionableMessage/executeAction'.",
+ "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": "Teams.OnO365ConnectorCardAction"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTaskModuleFetch": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTaskModuleFetch",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='task/fetch'.",
+ "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": "Teams.OnTaskModuleFetch"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTaskModuleSubmit": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTaskModuleSubmit",
+ "description": "Actions triggered when a Teams InvokeActivity is received with activity.name='task/submit'.",
+ "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": "Teams.OnTaskModuleSubmit"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTeamArchived": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTeamArchived",
+ "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamArchived'.",
+ "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": "Teams.OnTeamArchived"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTeamDeleted": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTeamDeleted",
+ "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamDeleted'.",
+ "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": "Teams.OnTeamDeleted"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTeamHardDeleted": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTeamHardDeleted",
+ "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamHardDeleted'.",
+ "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": "Teams.OnTeamHardDeleted"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTeamRenamed": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTeamRenamed",
+ "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamRenamed'.",
+ "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": "Teams.OnTeamRenamed"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTeamRestored": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTeamRestored",
+ "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamRestored'.",
+ "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": "Teams.OnTeamRestored"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Teams.OnTeamUnarchived": {
+ "$role": [
+ "implements(Microsoft.ITrigger)",
+ "extends(Microsoft.OnCondition)"
+ ],
+ "title": "OnTeamsTeamUnarchived",
+ "description": "Actions triggered when a Teams ConversationUpdate with channelData.eventType == 'teamUnarchived'.",
+ "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": "Teams.OnTeamUnarchived"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Testbot.JavascriptAction": {
+ "$role": "implements(Microsoft.IDialog)",
+ "title": "Javascript Action",
+ "description": "This gives you the ability to execute javascript to manipulate memory",
+ "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,
+ "=f(x)"
+ ]
+ },
+ "script": {
+ "type": "string",
+ "title": "Script",
+ "description": "name of the script file, or javascript function with function: doAction(memory, args) => result"
+ },
+ "options": {
+ "$ref": "#/definitions/objectExpression",
+ "title": "Options",
+ "description": "One or more options that are passed to the function as args.",
+ "additionalProperties": {
+ "type": "string",
+ "title": "Options",
+ "description": "Options for action."
+ }
+ },
+ "resultProperty": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Property",
+ "description": "Property to store any value returned by the javascript function.",
+ "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": "Testbot.JavascriptAction"
+ },
+ "$designer": {
+ "title": "Designer information",
+ "type": "object",
+ "description": "Extra information for the Bot Framework Composer."
+ }
+ }
+ },
+ "Testbot.Multiply": {
+ "$role": "implements(Microsoft.IDialog)",
+ "title": "Multiply",
+ "description": "This will return the result of arg1*arg2",
+ "type": "object",
+ "required": [
+ "$kind"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^\\$": {
+ "title": "Tooling property",
+ "description": "Open ended property for tooling."
+ }
+ },
+ "properties": {
+ "arg1": {
+ "$ref": "#/definitions/numberExpression",
+ "title": "Arg1",
+ "description": "Value from callers memory to use as arg 1"
+ },
+ "arg2": {
+ "$ref": "#/definitions/numberExpression",
+ "title": "Arg2",
+ "description": "Value from callers memory to use as arg 2"
+ },
+ "result": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "Result",
+ "description": "Property to store the result in"
+ },
+ "$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": "Testbot.Multiply"
+ },
+ "$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": {
+ "$role": "expression",
+ "type": "string",
+ "title": "Expression",
+ "description": "Expression starting with =.",
+ "pattern": "^=.*\\S.*",
+ "examples": [
+ "=user.name"
+ ]
+ },
+ "expression": {
+ "$role": "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": [
+ "=..."
+ ]
+ }
+ ]
+ },
+ "schema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "Core schema meta-schema",
+ "definitions": {
+ "schemaArray": {
+ "type": "array",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "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"
+ ],
+ "default": true,
+ "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/schema/definitions/nonNegativeInteger"
+ },
+ "minLength": {
+ "$ref": "#/definitions/schema/definitions/nonNegativeIntegerDefault0"
+ },
+ "pattern": {
+ "type": "string",
+ "format": "regex"
+ },
+ "additionalItems": {
+ "$ref": "#/definitions/schema"
+ },
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/schema"
+ },
+ {
+ "$ref": "#/definitions/schema/definitions/schemaArray"
+ }
+ ],
+ "default": true
+ },
+ "maxItems": {
+ "$ref": "#/definitions/schema/definitions/nonNegativeInteger"
+ },
+ "minItems": {
+ "$ref": "#/definitions/schema/definitions/nonNegativeIntegerDefault0"
+ },
+ "uniqueItems": {
+ "type": "boolean",
+ "default": false
+ },
+ "contains": {
+ "$ref": "#/definitions/schema"
+ },
+ "maxProperties": {
+ "$ref": "#/definitions/schema/definitions/nonNegativeInteger"
+ },
+ "minProperties": {
+ "$ref": "#/definitions/schema/definitions/nonNegativeIntegerDefault0"
+ },
+ "required": {
+ "$ref": "#/definitions/schema/definitions/stringArray"
+ },
+ "additionalProperties": {
+ "$ref": "#/definitions/schema"
+ },
+ "definitions": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "properties": {
+ "type": "object",
+ "default": {},
+ "additionalProperties": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "patternProperties": {
+ "type": "object",
+ "propertyNames": {
+ "format": "regex"
+ },
+ "default": {},
+ "additionalProperties": {
+ "$ref": "#/definitions/schema"
+ }
+ },
+ "dependencies": {
+ "type": "object",
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/schema"
+ },
+ {
+ "$ref": "#/definitions/schema/definitions/stringArray"
+ }
+ ]
+ }
+ },
+ "propertyNames": {
+ "$ref": "#/definitions/schema"
+ },
+ "const": true,
+ "enum": {
+ "type": "array",
+ "minItems": 1,
+ "uniqueItems": true,
+ "items": true
+ },
+ "type": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/schema/definitions/simpleTypes"
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/schema/definitions/simpleTypes"
+ },
+ "minItems": 1,
+ "uniqueItems": true
+ }
+ ]
+ },
+ "format": {
+ "type": "string"
+ },
+ "contentMediaType": {
+ "type": "string"
+ },
+ "contentEncoding": {
+ "type": "string"
+ },
+ "if": {
+ "$ref": "#/definitions/schema"
+ },
+ "then": {
+ "$ref": "#/definitions/schema"
+ },
+ "else": {
+ "$ref": "#/definitions/schema"
+ },
+ "allOf": {
+ "$ref": "#/definitions/schema/definitions/schemaArray"
+ },
+ "anyOf": {
+ "$ref": "#/definitions/schema/definitions/schemaArray"
+ },
+ "oneOf": {
+ "$ref": "#/definitions/schema/definitions/schemaArray"
+ },
+ "not": {
+ "$ref": "#/definitions/schema"
+ }
+ }
+ },
+ "botframework.json": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "definitions": {
+ "ChannelAccount": {
+ "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"
+ }
+ }
+ },
+ "ConversationAccount": {
+ "description": "Channel account information for a conversation",
+ "title": "ConversationAccount",
+ "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"
+ }
+ }
+ },
+ "MessageReaction": {
+ "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"
+ }
+ }
+ },
+ "CardAction": {
+ "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"
+ }
+ }
+ },
+ "SuggestedActions": {
+ "description": "SuggestedActions that can be performed",
+ "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": {
+ "$ref": "#/definitions/botframework.json/definitions/CardAction"
+ }
+ }
+ }
+ },
+ "Attachment": {
+ "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"
+ }
+ }
+ },
+ "Entity": {
+ "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"
+ }
+ }
+ },
+ "ConversationReference": {
+ "description": "An object relating to a particular point in a conversation",
+ "title": "ConversationReference",
+ "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/botframework.json/definitions/ChannelAccount",
+ "title": "user"
+ },
+ "bot": {
+ "$ref": "#/definitions/botframework.json/definitions/ChannelAccount",
+ "description": "Bot participating in this conversation",
+ "title": "bot"
+ },
+ "conversation": {
+ "$ref": "#/definitions/botframework.json/definitions/ConversationAccount",
+ "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"
+ }
+ }
+ },
+ "TextHighlight": {
+ "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": "Represents a reference to a programmatic action",
+ "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/botframework.json/definitions/Entity"
+ }
+ }
+ }
+ },
+ "Activity": {
+ "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/botframework.json/definitions/ChannelAccount",
+ "description": "Identifies the sender of the message.",
+ "title": "from"
+ },
+ "conversation": {
+ "$ref": "#/definitions/botframework.json/definitions/ConversationAccount",
+ "description": "Identifies the conversation to which the activity belongs.",
+ "title": "conversation"
+ },
+ "recipient": {
+ "$ref": "#/definitions/botframework.json/definitions/ChannelAccount",
+ "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": {
+ "$ref": "#/definitions/botframework.json/definitions/ChannelAccount"
+ }
+ },
+ "membersRemoved": {
+ "description": "The collection of members removed from the conversation.",
+ "type": "array",
+ "title": "membersRemoved",
+ "items": {
+ "$ref": "#/definitions/botframework.json/definitions/ChannelAccount"
+ }
+ },
+ "reactionsAdded": {
+ "description": "The collection of reactions added to the conversation.",
+ "type": "array",
+ "title": "reactionsAdded",
+ "items": {
+ "$ref": "#/definitions/botframework.json/definitions/MessageReaction"
+ }
+ },
+ "reactionsRemoved": {
+ "description": "The collection of reactions removed from the conversation.",
+ "type": "array",
+ "title": "reactionsRemoved",
+ "items": {
+ "$ref": "#/definitions/botframework.json/definitions/MessageReaction"
+ }
+ },
+ "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.",
+ "$ref": "#/definitions/botframework.json/definitions/SuggestedActions",
+ "title": "suggestedActions"
+ },
+ "attachments": {
+ "description": "Attachments",
+ "type": "array",
+ "title": "attachments",
+ "items": {
+ "$ref": "#/definitions/botframework.json/definitions/Attachment"
+ }
+ },
+ "entities": {
+ "description": "Represents the entities that were mentioned in the message.",
+ "type": "array",
+ "title": "entities",
+ "items": {
+ "$ref": "#/definitions/botframework.json/definitions/Entity"
+ }
+ },
+ "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.",
+ "$ref": "#/definitions/botframework.json/definitions/ConversationReference",
+ "title": "relatesTo"
+ },
+ "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": {
+ "$ref": "#/definitions/botframework.json/definitions/TextHighlight"
+ }
+ },
+ "semanticAction": {
+ "$ref": "#/definitions/botframework.json/definitions/SemanticAction",
+ "description": "An optional programmatic action accompanying this request",
+ "title": "semanticAction"
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/tests/tests.schema b/tests/tests.schema
index 3df31c7b0c..c293d18d3a 100644
--- a/tests/tests.schema
+++ b/tests/tests.schema
@@ -3621,30 +3621,6 @@
{
"$ref": "#/definitions/Microsoft.Test.AssertCondition"
},
- {
- "$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.TextInput"
- },
{
"$ref": "#/definitions/Microsoft.BeginDialog"
},
@@ -3747,6 +3723,30 @@
{
"$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.TextInput"
+ },
{
"$ref": "#/definitions/Testbot.JavascriptAction"
},
@@ -3853,10 +3853,10 @@
"type": "string"
},
{
- "$ref": "#/definitions/Microsoft.OrchestratorRecognizer"
+ "$ref": "#/definitions/Microsoft.LuisRecognizer"
},
{
- "$ref": "#/definitions/Microsoft.LuisRecognizer"
+ "$ref": "#/definitions/Microsoft.OrchestratorRecognizer"
},
{
"$ref": "#/definitions/Microsoft.QnAMakerRecognizer"
@@ -7166,14 +7166,14 @@
}
]
},
- "strictFiltersCompoundOperationType": {
+ "strictFiltersJoinOperator": {
"$ref": "#/definitions/stringExpression",
- "title": "strictFiltersCompoundOperationType",
+ "title": "StrictFiltersJoinOperator",
"description": "Join operator for Strict Filters.",
"oneOf": [
{
- "title": "StrictFilters CompoundOperation Type",
- "description": "Value of Join Operator to be used as Conjunction with Strict Filter Value.",
+ "title": "Join Operator",
+ "description": "Value of Join Operator to be used as conjunction with Strict Filter values.",
"enum": [
"AND",
"OR"
@@ -7309,6 +7309,25 @@
}
]
},
+ "strictFiltersJoinOperator": {
+ "$ref": "#/definitions/stringExpression",
+ "title": "StrictFiltersJoinOperator",
+ "description": "Join operator for Strict Filters.",
+ "oneOf": [
+ {
+ "title": "Join Operator",
+ "description": "Value of Join Operator to be used as onjuction with Strict Filter values.",
+ "enum": [
+ "AND",
+ "OR"
+ ],
+ "default": "AND"
+ },
+ {
+ "$ref": "#/definitions/equalsExpression"
+ }
+ ]
+ },
"includeDialogNameInMetadata": {
"$ref": "#/definitions/booleanExpression",
"title": "Include Dialog Name",
@@ -8841,6 +8860,11 @@
]
}
},
+ "description": {
+ "type": "string",
+ "title": "Description",
+ "description": "The description of what the assertion is testing"
+ },
"$kind": {
"title": "Kind of dialog object",
"description": "Defines the valid properties for the component you are configuring (from a dialog .schema file)",
diff --git a/tests/tests.uischema b/tests/tests.uischema
index f3ee1621bb..76325a4da7 100644
--- a/tests/tests.uischema
+++ b/tests/tests.uischema
@@ -27,55 +27,16 @@
"form": {
"helpLink": "https://aka.ms/bfc-ask-for-user-input",
"label": "Prompt for a file or an attachment",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "Attachment Input"
}
},
- "Microsoft.ChoiceInput": {
- "form": {
- "helpLink": "https://aka.ms/bfc-ask-for-user-input",
- "label": "Prompt with multi-choice",
- "subtitle": "Choice Input"
- }
- },
- "Microsoft.ConfirmInput": {
- "form": {
- "helpLink": "https://aka.ms/bfc-ask-for-user-input",
- "label": "Prompt for confirmation",
- "subtitle": "Confirm Input"
- }
- },
- "Microsoft.DateTimeInput": {
- "form": {
- "helpLink": "https://aka.ms/bfc-ask-for-user-input",
- "label": "Prompt for a date or a time",
- "subtitle": "Date Time Input"
- }
- },
- "Microsoft.NumberInput": {
- "form": {
- "helpLink": "https://aka.ms/bfc-ask-for-user-input",
- "label": "Prompt for a number",
- "subtitle": "Number Input"
- }
- },
- "Microsoft.OAuthInput": {
- "form": {
- "helpLink": "https://aka.ms/bfc-using-oauth",
- "label": "OAuth login",
- "order": [
- "connectionName",
- "*"
- ],
- "subtitle": "OAuth Input"
- }
- },
- "Microsoft.TextInput": {
- "form": {
- "helpLink": "https://aka.ms/bfc-ask-for-user-input",
- "label": "Prompt for text",
- "subtitle": "Text Input"
- }
- },
"Microsoft.BeginDialog": {
"form": {
"helpLink": "https://aka.ms/bfc-understanding-dialogs",
@@ -86,6 +47,13 @@
"resultProperty",
"*"
],
+ "properties": {
+ "resultProperty": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "Begin Dialog"
}
},
@@ -93,6 +61,13 @@
"form": {
"helpLink": "https://aka.ms/bf-composer-docs-connect-skill",
"label": "Connect to a skill",
+ "properties": {
+ "resultProperty": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "Skill Dialog"
}
},
@@ -109,12 +84,54 @@
"subtitle": "Cancel All Dialogs"
}
},
+ "Microsoft.ChoiceInput": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-ask-for-user-input",
+ "label": "Prompt with multi-choice",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
+ "subtitle": "Choice Input"
+ }
+ },
+ "Microsoft.ConfirmInput": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-ask-for-user-input",
+ "label": "Prompt for confirmation",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
+ "subtitle": "Confirm Input"
+ }
+ },
"Microsoft.ContinueLoop": {
"form": {
"label": "Continue loop",
"subtitle": "Continue loop"
}
},
+ "Microsoft.DateTimeInput": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-ask-for-user-input",
+ "label": "Prompt for a date or a time",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
+ "subtitle": "Date Time Input"
+ }
+ },
"Microsoft.DebugBreak": {
"form": {
"label": "Debug Break"
@@ -124,6 +141,13 @@
"form": {
"helpLink": "https://aka.ms/bfc-using-memory",
"label": "Delete properties",
+ "properties": {
+ "properties": {
+ "intellisenseScopes": [
+ "user-variables"
+ ]
+ }
+ },
"subtitle": "Delete Properties"
}
},
@@ -131,6 +155,13 @@
"form": {
"helpLink": "https://aka.ms/bfc-using-memory",
"label": "Delete a property",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "user-variables"
+ ]
+ }
+ },
"subtitle": "Delete Property"
}
},
@@ -144,6 +175,18 @@
"form": {
"helpLink": "https://aka.ms/bfc-using-memory",
"label": "Edit an array property",
+ "properties": {
+ "itemsProperty": {
+ "intellisenseScopes": [
+ "user-variables"
+ ]
+ },
+ "resultProperty": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "Edit Array"
}
},
@@ -179,6 +222,23 @@
"itemsProperty",
"*"
],
+ "properties": {
+ "index": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ },
+ "itemsProperty": {
+ "intellisenseScopes": [
+ "user-variables"
+ ]
+ },
+ "value": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "For Each"
}
},
@@ -194,6 +254,23 @@
"pageSize",
"*"
],
+ "properties": {
+ "itemsProperty": {
+ "intellisenseScopes": [
+ "user-variables"
+ ]
+ },
+ "page": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ },
+ "pageIndex": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "For Each Page"
}
},
@@ -208,6 +285,13 @@
"headers",
"*"
],
+ "properties": {
+ "resultProperty": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
"subtitle": "HTTP Request"
}
},
@@ -229,95 +313,29 @@
"subtitle": "Log Action"
}
},
- "Microsoft.RepeatDialog": {
- "form": {
- "helpLink": "https://aka.ms/bfc-understanding-dialogs",
- "label": "Repeat this dialog",
- "order": [
- "options",
- "*"
- ],
- "subtitle": "Repeat Dialog"
- }
- },
- "Microsoft.ReplaceDialog": {
- "form": {
- "helpLink": "https://aka.ms/bfc-understanding-dialogs",
- "label": "Replace this dialog",
- "order": [
- "dialog",
- "options",
- "*"
- ],
- "subtitle": "Replace Dialog"
- }
- },
- "Microsoft.SendActivity": {
- "form": {
- "helpLink": "https://aka.ms/bfc-send-activity",
- "label": "Send a response",
- "order": [
- "activity",
- "*"
- ],
- "subtitle": "Send Activity"
- }
- },
- "Microsoft.SetProperties": {
- "form": {
- "helpLink": "https://aka.ms/bfc-using-memory",
- "label": "Set properties",
- "subtitle": "Set Properties"
- }
- },
- "Microsoft.SetProperty": {
- "form": {
- "helpLink": "https://aka.ms/bfc-using-memory",
- "label": "Set a property",
- "subtitle": "Set Property"
- }
- },
- "Microsoft.SignOutUser": {
- "form": {
- "label": "Sign out user",
- "subtitle": "Signout User"
- }
- },
- "Microsoft.SwitchCondition": {
+ "Microsoft.NumberInput": {
"form": {
- "helpLink": "https://aka.ms/bfc-controlling-conversation-flow",
- "hidden": [
- "default"
- ],
- "label": "Branch: Switch (multiple options)",
+ "helpLink": "https://aka.ms/bfc-ask-for-user-input",
+ "label": "Prompt for a number",
"properties": {
- "cases": {
- "hidden": [
- "actions"
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
]
}
},
- "subtitle": "Switch Condition"
- }
- },
- "Microsoft.ThrowException": {
- "form": {
- "label": "Throw an exception",
- "subtitle": "Throw an exception"
- }
- },
- "Microsoft.TraceActivity": {
- "form": {
- "helpLink": "https://aka.ms/bfc-debugging-bots",
- "label": "Emit a trace event",
- "subtitle": "Trace Activity"
+ "subtitle": "Number Input"
}
},
- "Microsoft.RegexRecognizer": {
+ "Microsoft.OAuthInput": {
"form": {
- "hidden": [
- "entities"
- ]
+ "helpLink": "https://aka.ms/bfc-using-oauth",
+ "label": "OAuth login",
+ "order": [
+ "connectionName",
+ "*"
+ ],
+ "subtitle": "OAuth Input"
}
},
"Microsoft.OnActivity": {
@@ -583,5 +601,133 @@
],
"subtitle": "Unknown intent recognized"
}
+ },
+ "Microsoft.RegexRecognizer": {
+ "form": {
+ "hidden": [
+ "entities"
+ ]
+ }
+ },
+ "Microsoft.RepeatDialog": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-understanding-dialogs",
+ "label": "Repeat this dialog",
+ "order": [
+ "options",
+ "*"
+ ],
+ "subtitle": "Repeat Dialog"
+ }
+ },
+ "Microsoft.ReplaceDialog": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-understanding-dialogs",
+ "label": "Replace this dialog",
+ "order": [
+ "dialog",
+ "options",
+ "*"
+ ],
+ "subtitle": "Replace Dialog"
+ }
+ },
+ "Microsoft.SendActivity": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-send-activity",
+ "label": "Send a response",
+ "order": [
+ "activity",
+ "*"
+ ],
+ "subtitle": "Send Activity"
+ }
+ },
+ "Microsoft.SetProperties": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-using-memory",
+ "label": "Set properties",
+ "properties": {
+ "assignments": {
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ }
+ }
+ },
+ "subtitle": "Set Properties"
+ }
+ },
+ "Microsoft.SetProperty": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-using-memory",
+ "label": "Set a property",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
+ "subtitle": "Set Property"
+ }
+ },
+ "Microsoft.SignOutUser": {
+ "form": {
+ "label": "Sign out user",
+ "subtitle": "Signout User"
+ }
+ },
+ "Microsoft.SwitchCondition": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-controlling-conversation-flow",
+ "hidden": [
+ "default"
+ ],
+ "label": "Branch: Switch (multiple options)",
+ "properties": {
+ "cases": {
+ "hidden": [
+ "actions"
+ ]
+ },
+ "condition": {
+ "intellisenseScopes": [
+ "user-variables"
+ ]
+ }
+ },
+ "subtitle": "Switch Condition"
+ }
+ },
+ "Microsoft.TextInput": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-ask-for-user-input",
+ "label": "Prompt for text",
+ "properties": {
+ "property": {
+ "intellisenseScopes": [
+ "variable-scopes"
+ ]
+ }
+ },
+ "subtitle": "Text Input"
+ }
+ },
+ "Microsoft.ThrowException": {
+ "form": {
+ "label": "Throw an exception",
+ "subtitle": "Throw an exception"
+ }
+ },
+ "Microsoft.TraceActivity": {
+ "form": {
+ "helpLink": "https://aka.ms/bfc-debugging-bots",
+ "label": "Emit a trace event",
+ "subtitle": "Trace Activity"
+ }
}
}