This repository was archived by the owner on Jul 9, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 375
feat: BotProject File Schema #3744
Merged
Merged
Changes from 2 commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
51b33db
Added schema for bot project support
40f8661
Merge branch 'main' of https://github.com/microsoft/BotFramework-Comp…
308e392
Add 1.0 botproject schema
b98e1fa
Fix typo
b046925
Merge branch 'main' of https://github.com/microsoft/BotFramework-Comp…
c56e1b1
Updated gitignore
b78d118
Typo fixed
828bee2
Merge branch 'main' into srravich/bot-projects-schema
cwhitten ccf5f88
Merge branch 'main' into srravich/bot-projects-schema
srinaath e9f525a
Merge branch 'main' of https://github.com/microsoft/BotFramework-Comp…
c791838
Merge branch 'srravich/bot-projects-schema' of https://github.com/mic…
5576163
Following sdk.schema approach to specificy object type using ref
d0e2501
Merge branch 'main' into srravich/bot-projects-schema
cwhitten File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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", | ||
| "skills": [ | ||
| { | ||
| "workspace": "file://../Projects/RoomSchedulerSkill", | ||
| "manifest": "room-scheduler-skill-manifest-v2.1.0", | ||
|
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 | ||
| } | ||
| ] | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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": { | ||
|
srinaath marked this conversation as resolved.
Outdated
|
||
| "type": "array", | ||
| "minItems": 0, | ||
|
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" | ||
|
srinaath marked this conversation as resolved.
Outdated
|
||
| }, | ||
| "provisioningProfile": { | ||
| "type": "string", | ||
| "description": "Path to provisioning profile." | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" | ||
| } | ||
| } |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.