Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions Schemas/SampleOfficeVA.botProject.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"$schema": "https://schemas.botframework.com/schemas/botprojects/v0.1/botproject-schema.json",
"name": "OfficeVA",
"workspace": "file://../Projects/OfficeVA",
"provisioningProfile": "file://../Projects/DeploymentProfiles/officeVA.json",
Comment thread
srinaath marked this conversation as resolved.
Outdated
"skills": [
{
"workspace": "file://../Projects/RoomSchedulerSkill",
"manifest": "room-scheduler-skill-manifest-v2.1.0",
Comment thread
srinaath marked this conversation as resolved.
Outdated
"provisioningProfile": "file://../Projects/DeploymentProfiles/roomSchedulerProfile.json",
"remote": false,
"endpointName": "local"
},
{
"manifest": "https://calendar-skill/calendar-skill-manifest-v2.1.0.json",
"remote": true
},
{
"workspace": "file://../Projects/LunchOrderingSkill",
"provisioningProfile": "file://../Projects/DeploymentProfiles/lunchOrderingSkillProfile.json",
"remote": false
}
]
}
71 changes: 71 additions & 0 deletions Schemas/botproject-schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"$id": "https://schemas.botframework.com/schemas/botprojects/v0.1/worskspace.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"$version": "0.1",
"title": "Virtual Assistant and Skills workspace schema",
"description": "This is a schema that captures the relationship between the virtual assistant and its skills.",
"type": "object",
"required": ["$schema", "name", "workspace", "skills"],
"properties": {
"$schema": {
"type": "string",
"format": "uri",
"description": "The schema to verify this workspace file against"
},
"name": {
"type": "string",
"description": "Name of the Virtual Assistant or Root Bot."
},
"workspace": {
"type": "string",
"description": "Path to the virtual assistant or Root Bot. Relative to the workspace file or an absolute path."
},
"provisioningProfile": {
"type": "string",
"description": "Path to provisioning profile."
},
"skills": {
Comment thread
srinaath marked this conversation as resolved.
Outdated
"type": "array",
"minItems": 0,
Comment thread
srinaath marked this conversation as resolved.
Outdated
"uniqueItems": true,
"description": "List of skills callable.",
"items": {
"$ref": "#/definitions/skill"
}
}
},
"definitions": {
"skill": {
"type": "object",
"description": "Properties of a skill.",
"additionalProperties": false,
"required": ["manifest", "remote"],
"properties": {
"manifest": {
"type": "string",
"description": "Path to the manifest file on local file system or a URL to a remote skill."
},
"workspace": {
"type": "string",
"description": "Path to the local skill project. If the workspace is local we use the file protocol as opposed to http/https for remote workspaces."
},
"remote": {
"type": "string",
"description": "Indication if the skill is remote or local skill.",
"$ref": "#/definitions/booleanExpression",
"title": "isRemote",
"default": false
},
"endpointName": {
"type": "string",
"description": "Indicates the name of the skill endpoint to use for writing the skill URL. If skill is remote no need for this property.",
"default": "default"
Comment thread
srinaath marked this conversation as resolved.
Outdated
},
"provisioningProfile": {
"type": "string",
"description": "Path to provisioning profile."
}
}
}
}
}
112 changes: 112 additions & 0 deletions Schemas/provisioningProfile-schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"$id": "https://schemas.botframework.com/schemas/botprojects/v0.1/provisioning.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"$version": "0.1",
"title": "Provisioning profile schema for Bot Projects",
"description": "This is a schema that captures the resource provisioning needs for a bot which maybe a Virtual Assistant or a skill",
"type": "object",
"required": [
"$schema",
"MicrosoftAppId",
"MicrosoftAppPassword",
"accessToken"
],
"additionalProperties": false,
"properties": {
"$schema": {
"type": "string",
"format": "uri",
"description": "The schema to verify this provisioning profile file against"
},
"MicrosoftAppId": {
"type": "string",
"description": "Micorosft App ID of the resource"
},
"MicrosoftAppPassword": {
"type": "string",
"description": "Micorosft App Password of the resource"
},
"name": {
"type": "string",
"description": "Optional name of the publishing target"
},
"accessToken": {
"type": "string",
"description": "Access token for azure account"
},
"applicationInsights": {
"type": "object",
"description": "Application Insights provisioning",
"properties": {
"endpointKey": {
"type": "string",
"description": "Instrumentation key for application insights"
}
}
},
"blobStorage": {
"type": "object",
"description": "Configuring blob storage on azure",
"properties": {
"connectionString": {
"type": "string",
"description": "Connection string for blob storage"
}
}
},
"luis": {
"type": "object",
"description": "LUIS provisioning for a bot",
"properties": {
"endpointKey": {
"type": "string",
"description": "Endpoint key for LUIS provisioning"
},
"authoringKey": {
"type": "string",
"description": "Authoring key for LUIS provisioning"
},
"region": {
"type": "string",
"description": "Region for LUIS provisioning"
},
"endpoint": {
"type": "string",
"description": "LUIS endpoint configuration"
},
"authoringEndpoint": {
"type": "string",
"description": "Authoring endpoint for LUIS"
}
}
},
"qna": {
"type": "object",
"description": "Qna maker provisioning for a bot",
"properties": {
"knowledgebaseid": {
"type": "string",
"description": "Qna maker knowledge base id"
},
"endpoint": {
"type": "string",
"description": "Hostname for QNA maker resource"
}
}
},
"cosmosDb": {
"type": "object",
"description": "Cosmos db provisioning for a bot",
"properties": {
"endpoint": {
"type": "string",
"description": "Endpoint configuration for cosmos db"
},
"authKey": {
"type": "string",
"description": "Authorization key for cosmos db"
}
}
}
}
}
28 changes: 28 additions & 0 deletions Schemas/sampleProvisionProfile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"$schema": "https://schemas.botframework.com/schemas/botprojects/v0.1/provisioningProfile-schema.json",
"accessToken": "SDFSDFSDFSDBNASKDJASDJJLKJSADJLKMXRNZW",
"environment": "dev",
"MicrosoftAppId": "fd38ebff-02e2-427c-234234-234234",
"MicrosoftAppPassword": "XYZSASJDLKASjksdhfks!sfs",
"blobStorage": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=SampleSkill"
},
"cosmosDb": {
"endpoint": "https://todoluissample2-dev.documents.azure.com:443/",
"authKey": "XSFDDSFOHOI"
},
"qna": {
"knowledgebaseId": "6ea9080e0dsfsdfsdfb4c44",
"endpoint": "https://composerdemovenky.cognitiveservices.azure.com/qnamaker/v4.0/knowledgebases/89366431-a501-324324-asdhas"
},
"luis": {
"endpointKey": "234kj23h4asdjajdkjashdkjAAsad",
"authoringKey": "234kjh890aasdhakjs",
"region": "westus",
"endpoint": "https://westus.api.cognitive.microsoft.com/",
"authoringEndpoint": "https://westus.api.cognitive.microsoft.com/"
},
"applicationInsights": {
"endpointKey": "Asdfsdfa23432adsfsdf!sdsad"
}
}