diff --git a/BotProject/CSharp/ComposerDialogs/Main/Main.dialog b/BotProject/CSharp/ComposerDialogs/Main/Main.dialog index d6cce90d1b..cb675db8c8 100644 --- a/BotProject/CSharp/ComposerDialogs/Main/Main.dialog +++ b/BotProject/CSharp/ComposerDialogs/Main/Main.dialog @@ -9,7 +9,7 @@ "actions": [ { "$type": "Microsoft.SendActivity", - "activity": "[bfdactivity-003038]" + "activity": "@{bfdactivity-003038()}" } ] } diff --git a/Composer/packages/client/package.json b/Composer/packages/client/package.json index 8ace22fc27..1a7e6c64b6 100644 --- a/Composer/packages/client/package.json +++ b/Composer/packages/client/package.json @@ -23,7 +23,7 @@ "@emotion/core": "^10.0.7", "@reach/router": "^1.2.1", "axios": "^0.18.0", - "botbuilder-lg": "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz", + "botbuilder-lg": "4.7.0-preview.93464", "format-message": "^6.2.3", "immer": "^2.1.4", "jwt-decode": "^2.2.0", diff --git a/Composer/packages/client/src/ShellApi.ts b/Composer/packages/client/src/ShellApi.ts index 391946b4ad..28188758e9 100644 --- a/Composer/packages/client/src/ShellApi.ts +++ b/Composer/packages/client/src/ShellApi.ts @@ -133,21 +133,7 @@ export const ShellApi: React.FC = () => { const file = lgFiles.find(file => file.id === id); if (!file) throw new Error(`lg file ${id} not found`); - const templates = lgUtil.parse(file.content); - const lines = file.content.split('\n'); - - return templates.map(t => { - const [start, end] = getTemplateBodyRange(t); - const body = lines.slice(start - 1, end).join('\n'); - - return { Name: t.Name, Parameters: t.Parameters, Body: body }; - }); - } - - function getTemplateBodyRange(template) { - const startLineNumber = template.ParseTree._start.line + 1; - const endLineNumber = template.ParseTree._stop.line; - return [startLineNumber, endLineNumber]; + return lgUtil.parse(file.content); } /** @@ -155,7 +141,7 @@ export const ShellApi: React.FC = () => { * @param { * id: string, * templateName: string, - * template: { Name: string, ?Parameters: string[], Body: string } + * template: { name: string, ?parameters: string[], body: string } * } * when templateName exit in current file, will do update * when templateName do not exit in current file, will do create diff --git a/Composer/packages/client/src/extension-container/ExtensionContainer.tsx b/Composer/packages/client/src/extension-container/ExtensionContainer.tsx index 8603f6b565..bb37bc25b1 100644 --- a/Composer/packages/client/src/extension-container/ExtensionContainer.tsx +++ b/Composer/packages/client/src/extension-container/ExtensionContainer.tsx @@ -94,7 +94,7 @@ const shellApi: ShellApi = { return apiClient.apiCall('updateLgTemplate', { id, templateName, - template: { Name: templateName, Body: template }, + template: { name: templateName, body: template }, }); }, diff --git a/Composer/packages/client/src/pages/language-generation/code-editor.tsx b/Composer/packages/client/src/pages/language-generation/code-editor.tsx index 2808d5a30c..9692cf4c8f 100644 --- a/Composer/packages/client/src/pages/language-generation/code-editor.tsx +++ b/Composer/packages/client/src/pages/language-generation/code-editor.tsx @@ -2,7 +2,7 @@ // Licensed under the MIT License. /* eslint-disable react/display-name */ -import React, { useState, useEffect, useMemo, useContext } from 'react'; +import React, { useState, useEffect, useMemo, useContext, useCallback } from 'react'; import { LgEditor, LGOption } from '@bfc/code-editor'; import get from 'lodash/get'; import debounce from 'lodash/debounce'; @@ -33,7 +33,7 @@ export default function CodeEditor(props: CodeEditorProps) { useEffect(() => { // reset content with file.content's initial state if (isEmpty(file)) return; - const value = template ? get(template, 'Body', '') : get(file, 'content', ''); + const value = template ? get(template, 'body', '') : get(file, 'content', ''); setContent(value); }, [fileId, template]); @@ -46,15 +46,15 @@ export default function CodeEditor(props: CodeEditorProps) { const updateLgTemplate = useMemo( () => debounce((body: string) => { - const templateName = get(template, 'Name'); + const templateName = get(template, 'name'); if (!templateName) return; const payload = { file, templateName, template: { - Name: templateName, - Parameters: get(template, 'Parameters'), - Body: body, + name: templateName, + parameters: get(template, 'parameters'), + body, }, }; actions.updateLgTemplate(payload); @@ -74,30 +74,33 @@ export default function CodeEditor(props: CodeEditorProps) { [file] ); - const _onChange = value => { - setContent(value); + const _onChange = useCallback( + value => { + setContent(value); - let diagnostics: Diagnostic[] = []; - if (inlineMode) { - const content = get(file, 'content', ''); - const templateName = get(template, 'Name', ''); - try { - const newContent = lgUtil.updateTemplate(content, templateName, { - Name: templateName, - Parameters: get(template, 'Parameters'), - Body: value, - }); - diagnostics = lgUtil.check(newContent); - updateLgTemplate(value); - } catch (error) { - setErrorMsg(error.message); + let diagnostics: Diagnostic[] = []; + if (inlineMode) { + const content = get(file, 'content', ''); + const templateName = get(template, 'name', ''); + try { + const newContent = lgUtil.updateTemplate(content, templateName, { + name: templateName, + parameters: get(template, 'parameters'), + body: value, + }); + diagnostics = lgUtil.check(newContent); + updateLgTemplate(value); + } catch (error) { + setErrorMsg(error.message); + } + } else { + diagnostics = lgUtil.check(value); + updateLgFile(value); } - } else { - diagnostics = lgUtil.check(value); - updateLgFile(value); - } - setDiagnostics(diagnostics); - }; + setDiagnostics(diagnostics); + }, + [file, template] + ); const lgOption: LGOption = { inline: inlineMode, diff --git a/Composer/packages/client/src/pages/language-generation/index.tsx b/Composer/packages/client/src/pages/language-generation/index.tsx index 0852f5ae22..66b5d9e91e 100644 --- a/Composer/packages/client/src/pages/language-generation/index.tsx +++ b/Composer/packages/client/src/pages/language-generation/index.tsx @@ -3,7 +3,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; -import React, { useContext, Fragment, useEffect, useState, useMemo, Suspense } from 'react'; +import React, { useContext, Fragment, useEffect, useState, useMemo, Suspense, useCallback } from 'react'; import formatMessage from 'format-message'; import { Toggle } from 'office-ui-fabric-react/lib/Toggle'; import { Nav, INavLinkGroup, INavLink } from 'office-ui-fabric-react/lib/Nav'; @@ -107,30 +107,28 @@ const LGPage: React.FC = props => { } }, [lgFiles]); - function onSelect(id) { + const onSelect = useCallback(id => { if (id === '_all') { navigateTo('/language-generation'); } else { navigateTo(`language-generation/${id}`); } - } + }, []); - function onToggleEditMode() { + const onToggleEditMode = useCallback(() => { setEditMode(!editMode); setInlineTemplate(null); - } + }, [editMode]); - // #TODO: get line number from lg parser, then deep link to code editor this - // Line - function onTableViewClickEdit(template: LGTemplate) { + const onTableViewClickEdit = useCallback((template: LGTemplate) => { setInlineTemplate({ - Name: get(template, 'Name', ''), - Parameters: get(template, 'Parameters'), - Body: get(template, 'Body', ''), + name: get(template, 'name', ''), + parameters: get(template, 'parameters'), + body: get(template, 'body', ''), }); navigateTo(`/language-generation`); setEditMode(true); - } + }, []); const toolbarItems = [ { diff --git a/Composer/packages/client/src/pages/language-generation/table-view.tsx b/Composer/packages/client/src/pages/language-generation/table-view.tsx index b6ec6e59a4..5403572fdc 100644 --- a/Composer/packages/client/src/pages/language-generation/table-view.tsx +++ b/Composer/packages/client/src/pages/language-generation/table-view.tsx @@ -3,7 +3,7 @@ /** @jsx jsx */ import { jsx } from '@emotion/core'; -import React, { useContext, useRef, useEffect, useState } from 'react'; +import React, { useContext, useRef, useEffect, useState, useCallback } from 'react'; import debounce from 'lodash/debounce'; import isEmpty from 'lodash/isEmpty'; import { DetailsList, DetailsListLayoutMode, SelectionMode } from 'office-ui-fabric-react/lib/DetailsList'; @@ -54,7 +54,7 @@ const TableView: React.FC = props => { } else { const dialogsTemplates: LGTemplate[] = []; activeDialog.lgTemplates.forEach(item => { - const template = allTemplates.find(t => t.Name === item); + const template = allTemplates.find(t => t.name === item); if (template) { dialogsTemplates.push(template); } @@ -63,40 +63,81 @@ const TableView: React.FC = props => { } }, [lgFile, activeDialog]); - const getTemplatesMoreButtons = (item, index) => { - const buttons = [ - { - key: 'edit', - name: formatMessage('Edit'), - onClick: () => { - onClickEdit(templates[index]); - }, + const onCreateNewTemplate = useCallback(() => { + const newName = lgUtil.increaseNameUtilNotExist(templates, 'TemplateName'); + const payload = { + file: lgFile, + template: { + name: newName, + body: '-TemplateValue', }, - { - key: 'delete', - name: formatMessage('Delete'), - onClick: () => { - onRemoveTemplate(index); + }; + createLgTemplate(payload); + }, [templates, lgFile]); + + const onRemoveTemplate = useCallback( + index => { + const payload = { + file: lgFile, + templateName: templates[index].name, + }; + + removeLgTemplate(payload); + }, + [templates, lgFile] + ); + + const onCopyTemplate = useCallback( + index => { + const name = templates[index].name; + const resolvedName = lgUtil.increaseNameUtilNotExist(templates, `${name}_Copy`); + const payload = { + file: lgFile, + fromTemplateName: name, + toTemplateName: resolvedName, + }; + copyLgTemplate(payload); + }, + [templates, lgFile] + ); + + const getTemplatesMoreButtons = useCallback( + (item, index) => { + const buttons = [ + { + key: 'edit', + name: formatMessage('Edit'), + onClick: () => { + onClickEdit(templates[index]); + }, }, - }, - { - key: 'copy', - name: formatMessage('Make a copy'), - onClick: () => { - onCopyTemplate(index); + { + key: 'delete', + name: formatMessage('Delete'), + onClick: () => { + onRemoveTemplate(index); + }, }, - }, - ]; + { + key: 'copy', + name: formatMessage('Make a copy'), + onClick: () => { + onCopyTemplate(index); + }, + }, + ]; - // do not allow delete/copy template in particular dialog - if (activeDialog) { - buttons.splice(1, 2); - } + // do not allow delete/copy template in particular dialog + if (activeDialog) { + buttons.splice(1, 2); + } - return buttons; - }; + return buttons; + }, + [activeDialog, templates] + ); - const getTableColums = () => { + const getTableColums = useCallback(() => { const tableColums = [ { key: 'name', @@ -107,7 +148,7 @@ const TableView: React.FC = props => { isResizable: true, data: 'string', onRender: item => { - return
#{item.Name}
; + return
#{item.name}
; }, }, { @@ -119,7 +160,7 @@ const TableView: React.FC = props => { data: 'string', isPadded: true, onRender: item => { - return
{item.Body}
; + return
{item.body}
; }, }, @@ -150,13 +191,10 @@ const TableView: React.FC = props => { const templateUsedInDialogMap = {}; // build usedIn map - templates.forEach(template => { - templateUsedInDialogMap[template.Name] = dialogs.reduce((result, dialog) => { - if (dialog.lgTemplates.includes(template.Name)) { - result.push(dialog.id); - } - return result; - }, []); + templates.forEach(({ name }) => { + templateUsedInDialogMap[name] = dialogs + .filter(dialog => dialog.lgTemplates.includes(name)) + .map(dialog => dialog.id); }); const usedInColumn = { @@ -167,7 +205,7 @@ const TableView: React.FC = props => { maxWidth: 200, data: 'string', onRender: item => { - const usedDialogsLinks = templateUsedInDialogMap[item.Name].map(id => { + const usedDialogsLinks = templateUsedInDialogMap[item.name].map(id => { return (
navigateTo(`/dialogs/${id}`)}> {id} @@ -183,9 +221,9 @@ const TableView: React.FC = props => { } return tableColums; - }; + }, [activeDialog, templates]); - function onRenderDetailsHeader(props, defaultRender) { + const onRenderDetailsHeader = useCallback((props, defaultRender) => { return (
@@ -196,8 +234,9 @@ const TableView: React.FC = props => {
); - } - function onRenderDetailsFooter() { + }, []); + + const onRenderDetailsFooter = useCallback(() => { // do not allow add template in particular dialog // cause new tempalte is not used by this dialog yet. if (activeDialog) return
; @@ -209,39 +248,9 @@ const TableView: React.FC = props => {
); - } - - function onCreateNewTemplate() { - const newName = lgUtil.increaseNameUtilNotExist(templates, 'TemplateName'); - const payload = { - file: lgFile, - template: { - Name: newName, - Body: '-TemplateValue', - }, - }; - createLgTemplate(payload); - } - - function onRemoveTemplate(index) { - const payload = { - file: lgFile, - templateName: templates[index].Name, - }; - - removeLgTemplate(payload); - } + }, [activeDialog, templates]); - function onCopyTemplate(index) { - const Name = templates[index].Name; - const resolvedName = lgUtil.increaseNameUtilNotExist(templates, `${Name}_Copy`); - const payload = { - file: lgFile, - fromTemplateName: Name, - toTemplateName: resolvedName, - }; - copyLgTemplate(payload); - } + const getKeyCallback = useCallback(item => item.name, []); return (
@@ -262,7 +271,8 @@ const TableView: React.FC = props => { }} className="table-view-list" columns={getTableColums()} - getKey={item => item.Name} + // getKey={item => item.name} + getKey={getKeyCallback} layoutMode={DetailsListLayoutMode.justified} onRenderDetailsHeader={onRenderDetailsHeader} onRenderDetailsFooter={onRenderDetailsFooter} diff --git a/Composer/packages/client/src/pages/notifications/useNotifications.tsx b/Composer/packages/client/src/pages/notifications/useNotifications.tsx index b35d98d54a..0004803f2e 100644 --- a/Composer/packages/client/src/pages/notifications/useNotifications.tsx +++ b/Composer/packages/client/src/pages/notifications/useNotifications.tsx @@ -36,7 +36,7 @@ export default function useNotifications(filter: string) { const location = `${lgFiles.id}.lg`; locations.add(location); notifactions.push({ - type: DiagnosticSeverity[diagnostic.Severity], + type: DiagnosticSeverity[diagnostic.severity], location, message: createSingleMessage(diagnostic), }); diff --git a/Composer/packages/client/src/utils/lgUtil.ts b/Composer/packages/client/src/utils/lgUtil.ts index f9b764f755..86cae3bf92 100644 --- a/Composer/packages/client/src/utils/lgUtil.ts +++ b/Composer/packages/client/src/utils/lgUtil.ts @@ -15,13 +15,13 @@ const lgStaticChecker = new StaticChecker(); const lgImportResolver = ImportResolver.fileResolver; export interface Template { - Name: string; - Parameters?: string[]; - Body: string; + name: string; + parameters?: string[]; + body: string; } export function isValid(diagnostics: Diagnostic[]): boolean { - return diagnostics.every(d => d.Severity !== DiagnosticSeverity.Error); + return diagnostics.every(d => d.severity !== DiagnosticSeverity.Error); } export function check(content: string, id = ''): Diagnostic[] { @@ -30,14 +30,14 @@ export function check(content: string, id = ''): Diagnostic[] { export function parse(content: string, id = ''): LGTemplate[] { const resource = LGParser.parse(content, id); - return get(resource, 'Templates', []); + return get(resource, 'templates', []); } export function createSingleMessage(diagnostic: Diagnostic): string { - const { Start, End } = diagnostic.Range; - const position = `line ${Start.Line}:${Start.Character} - line ${End.Line}:${End.Character}`; + const { start, end } = diagnostic.range; + const position = `line ${start.line}:${start.character} - line ${end.line}:${end.character}`; - return `${position} \n ${diagnostic.Message}\n`; + return `${position} \n ${diagnostic.message}\n`; } export function combineMessage(diagnostics: Diagnostic[]): string { @@ -62,7 +62,7 @@ export function increaseNameUtilNotExist(templates: LGTemplate[], name: string): let repeatIndex = 0; let newName = name; - while (templates.findIndex(item => item.Name === newName) !== -1) { + while (templates.findIndex(item => item.name === newName) !== -1) { repeatIndex += 1; newName = name + repeatIndex.toString(); } @@ -72,65 +72,65 @@ export function increaseNameUtilNotExist(templates: LGTemplate[], name: string): export function updateTemplate( content: string, templateName: string, - { Name, Parameters = [], Body }: Template + { name, parameters = [], body }: Template ): string { const resource = LGParser.parse(content); // add if not exist - if (resource.Templates.findIndex(t => t.Name === templateName) === -1) { - return resource.addTemplate(Name, Parameters, Body).toString(); + if (resource.templates.findIndex(t => t.name === templateName) === -1) { + return resource.addTemplate(name, parameters, body).toString(); } else { - return resource.updateTemplate(templateName, Name, Parameters, Body).toString(); + return resource.updateTemplate(templateName, name, parameters, body).toString(); } } -// if Name exist, throw error. -export function addTemplate(content: string, { Name, Parameters = [], Body }: Template): string { +// if name exist, throw error. +export function addTemplate(content: string, { name, parameters = [], body }: Template): string { const resource = LGParser.parse(content); - return resource.addTemplate(Name, Parameters, Body).toString(); + return resource.addTemplate(name, parameters, body).toString(); } -// if Name exist, add it anyway, with name like `${Name}1` `${Name}2` +// if name exist, add it anyway, with name like `${name}1` `${name}2` export function addTemplateAnyway( content: string, - { Name = 'TemplateName', Parameters = [], Body = '-TemplateBody' }: Template + { name = 'TemplateName', parameters = [], body = '-TemplateBody' }: Template ): string { const resource = LGParser.parse(content); - const newName = increaseNameUtilNotExist(resource.Templates, Name); + const newName = increaseNameUtilNotExist(resource.templates, name); - return resource.addTemplate(newName, Parameters, Body).toString(); + return resource.addTemplate(newName, parameters, body).toString(); } // if toTemplateName exist, throw error. export function copyTemplate(content: string, fromTemplateName: string, toTemplateName: string): string { const resource = LGParser.parse(content); - const fromTemplate = resource.Templates.find(t => t.Name === fromTemplateName); + const fromTemplate = resource.templates.find(t => t.name === fromTemplateName); if (!fromTemplate) { throw new Error('fromTemplateName no exist'); } - const { Parameters, Body } = fromTemplate; - return resource.addTemplate(toTemplateName, Parameters, Body).toString(); + const { parameters, body } = fromTemplate; + return resource.addTemplate(toTemplateName, parameters, body).toString(); } // if toTemplateName exist, add it anyway, with name like `${toTemplateName}1` `${toTemplateName}2` export function copyTemplateAnyway(content: string, fromTemplateName: string, toTemplateName?: string): string { const resource = LGParser.parse(content); - const fromTemplate = resource.Templates.find(t => t.Name === fromTemplateName); + const fromTemplate = resource.templates.find(t => t.name === fromTemplateName); if (!fromTemplate) { return resource.toString(); } let newName = toTemplateName; if (!newName) { - const copyName = `${fromTemplate.Name}_Copy`; - newName = increaseNameUtilNotExist(resource.Templates, copyName); + const copyName = `${fromTemplate.name}_Copy`; + newName = increaseNameUtilNotExist(resource.templates, copyName); } - const { Parameters, Body } = fromTemplate; - return resource.addTemplate(newName, Parameters, Body).toString(); + const { parameters, body } = fromTemplate; + return resource.addTemplate(newName, parameters, body).toString(); } export function getTemplate(content: string, templateName: string): LGTemplate | undefined { const resource = LGParser.parse(content); - return resource.Templates.find(t => t.Name === templateName); + return resource.templates.find(t => t.name === templateName); } export function removeTemplate(content: string, templateName: string): string { @@ -147,20 +147,26 @@ export function removeTemplates(content: string, templateNames: string[]): strin } export function textFromTemplates(templates: Template[]): string { - let text = ''; + const textBuilder: string[] = []; templates.forEach(template => { - if (template.Name && template.Body !== null && template.Body !== undefined) { - text += `# ${template.Name.trim()}`; - if (template.Parameters && template.Parameters.length > 0) { - text += '(' + template.Parameters.join(', ') + ')'; - } - text += '\n'; - text += `${template.Body.trim()}`; - } + textBuilder.push(`${textFromTemplate(template)}\n`); }); - return text; + return textBuilder.join(''); +} + +export function textFromTemplate(template: Template): string { + const { name, parameters = [], body } = template; + const textBuilder: string[] = []; + if (name && body !== null && body !== undefined) { + textBuilder.push(`# ${name.trim()}`); + if (parameters.length) { + textBuilder.push(`(${parameters.join(', ')})`); + } + textBuilder.push(`\n${template.body.trim()}`); + } + return textBuilder.join(''); } export function checkSingleLgTemplate(template: Template) { diff --git a/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx b/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx index a446baa40b..25625d9076 100644 --- a/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx +++ b/Composer/packages/extensions/obiformeditor/src/Form/widgets/LgEditorWidget.tsx @@ -64,13 +64,13 @@ export const LgEditorWidget: React.FC = props => { const template = (lgFile && lgFile.templates && lgFile.templates.find(template => { - return template.Name === lgName; + return template.name === lgName; })) || { - Name: lgName, - Body: getInitialTemplate(name, value), + name: lgName, + body: getInitialTemplate(name, value), }; - const [localValue, setLocalValue] = useState(template.Body); + const [localValue, setLocalValue] = useState(template.body); const lgOption = { inline: true, content: get(lgFile, 'content', ''), diff --git a/Composer/packages/extensions/visual-designer/demo/src/stories/VisualEditorDemo.js b/Composer/packages/extensions/visual-designer/demo/src/stories/VisualEditorDemo.js index ac85f83823..7e97d641e1 100644 --- a/Composer/packages/extensions/visual-designer/demo/src/stories/VisualEditorDemo.js +++ b/Composer/packages/extensions/visual-designer/demo/src/stories/VisualEditorDemo.js @@ -119,7 +119,7 @@ export class VisualEditorDemo extends Component { return Promise.resolve(''); }, getLgTemplates: () => { - return Promise.resolve([{ Name: 'lg', Body: 'LgTemplate Placeholder.' }]); + return Promise.resolve([{ name: 'lg', body: 'LgTemplate Placeholder.' }]); }, removeLgTemplates: () => { return Promise.resolve(true); diff --git a/Composer/packages/extensions/visual-designer/src/utils/hooks.ts b/Composer/packages/extensions/visual-designer/src/utils/hooks.ts index 901b6dbb23..7cf2a288fd 100644 --- a/Composer/packages/extensions/visual-designer/src/utils/hooks.ts +++ b/Composer/packages/extensions/visual-designer/src/utils/hooks.ts @@ -23,16 +23,16 @@ export const useLgTemplate = (str?: string, dialogId?: string) => { } const templates = getLgTemplates ? await getLgTemplates('common') : []; - const [template] = templates.filter(template => { - return template.Name === templateId; + const [template] = templates.filter(({ name }) => { + return name === templateId; }); if (cancelled) { return; } - if (template && template.Body) { - const [firstLine] = template.Body.split('\n'); + if (template && template.body) { + const [firstLine] = template.body.split('\n'); setTemplateText(firstLine.startsWith('-') ? firstLine.substring(1) : firstLine); } else { setTemplateText(''); diff --git a/Composer/packages/lib/code-editor/demo/src/inlineEditor.tsx b/Composer/packages/lib/code-editor/demo/src/inlineEditor.tsx index 485bfa3844..2ba1c011c0 100644 --- a/Composer/packages/lib/code-editor/demo/src/inlineEditor.tsx +++ b/Composer/packages/lib/code-editor/demo/src/inlineEditor.tsx @@ -15,10 +15,10 @@ const content = `# Greeting1 -Good evening `; -// Body will fill in editor +// body will fill in editor const template = { - Name: 'Greeting2', - Body: `-Good afternoon + name: 'Greeting2', + body: `-Good afternoon -[Greeting3] -[Greeting4]`, }; @@ -30,7 +30,7 @@ const lgOption = { }; export default function App() { - const [value, setValue] = useState(template.Body); + const [value, setValue] = useState(template.body); const onChange = value => { setValue(value); diff --git a/Composer/packages/lib/code-editor/src/LgEditor.tsx b/Composer/packages/lib/code-editor/src/LgEditor.tsx index 9c35bc1c63..02d6f69b7d 100644 --- a/Composer/packages/lib/code-editor/src/LgEditor.tsx +++ b/Composer/packages/lib/code-editor/src/LgEditor.tsx @@ -21,9 +21,9 @@ export interface LGOption { inline: boolean; content: string; template?: { - Name: string; - Parameters?: string[]; - Body: string; + name: string; + parameters?: string[]; + body: string; }; } diff --git a/Composer/packages/lib/indexers/package.json b/Composer/packages/lib/indexers/package.json index 67184bfa1b..8fcdfa7ef7 100644 --- a/Composer/packages/lib/indexers/package.json +++ b/Composer/packages/lib/indexers/package.json @@ -30,7 +30,7 @@ "dependencies": { "@bfc/shared": "*", "botbuilder-expression-parser": "^4.5.11", - "botbuilder-lg": "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz", + "botbuilder-lg": "4.7.0-preview.93464", "lodash": "^4.17.15", "ludown": "^1.3.4" } diff --git a/Composer/packages/lib/indexers/src/lgIndexer.ts b/Composer/packages/lib/indexers/src/lgIndexer.ts index dea21f2d54..c82c3aaf42 100644 --- a/Composer/packages/lib/indexers/src/lgIndexer.ts +++ b/Composer/packages/lib/indexers/src/lgIndexer.ts @@ -34,7 +34,7 @@ function index(files: FileInfo[]): LgFile[] { } function isValid(diagnostics: Diagnostic[]): boolean { - return diagnostics.every(d => d.Severity !== DiagnosticSeverity.Error); + return diagnostics.every(d => d.severity !== DiagnosticSeverity.Error); } function check(content: string, path: string): Diagnostic[] { @@ -43,14 +43,14 @@ function check(content: string, path: string): Diagnostic[] { function parse(content: string, id: string): LgTemplate[] { const resource = LGParser.parse(content, id); - const templates = resource.Templates.map(t => { + const templates = resource.templates.map(t => { return { - Name: t.Name, - Body: t.Body, - Parameters: t.Parameters, - Range: { - startLineNumber: get(t, 'ParseTree._start._line', 0), - endLineNumber: get(t, 'ParseTree._stop._line', 0), + name: t.name, + body: t.body, + parameters: t.parameters, + range: { + startLineNumber: get(t, 'parseTree.start.line', 0), + endLineNumber: get(t, 'parseTree.stop.line', 0), }, }; }); @@ -59,10 +59,10 @@ function parse(content: string, id: string): LgTemplate[] { function combineMessage(diagnostics: Diagnostic[]): string { return diagnostics.reduce((msg, d) => { - const { Start, End } = d.Range; - const position = `line ${Start.Line}:${Start.Character} - line ${End.Line}:${End.Character}`; + const { start, end } = d.range; + const position = `line ${start.line}:${start.character} - line ${end.line}:${end.character}`; - msg += `${position} \n ${d.Message}\n`; + msg += `${position} \n ${d.message}\n`; return msg; }, ''); } diff --git a/Composer/packages/lib/indexers/src/type.ts b/Composer/packages/lib/indexers/src/type.ts index 8a6a270a9e..b4191f2b90 100644 --- a/Composer/packages/lib/indexers/src/type.ts +++ b/Composer/packages/lib/indexers/src/type.ts @@ -86,8 +86,8 @@ export interface CodeRange { } export interface LgTemplate { - Name: string; - Body: string; - Parameters: string[]; - Range: CodeRange; + name: string; + body: string; + parameters: string[]; + range: CodeRange; } diff --git a/Composer/packages/lib/shared/__tests__/lgUtils/models/LgTemplateRef.test.ts b/Composer/packages/lib/shared/__tests__/lgUtils/models/LgTemplateRef.test.ts index 972e42438b..af6d59ba5d 100644 --- a/Composer/packages/lib/shared/__tests__/lgUtils/models/LgTemplateRef.test.ts +++ b/Composer/packages/lib/shared/__tests__/lgUtils/models/LgTemplateRef.test.ts @@ -20,30 +20,30 @@ describe('LgTemplateRef#', () => { it('can output correct strings', () => { const a = new LgTemplateRef('a', undefined); - expect(a.toString()).toEqual('[a()]'); + expect(a.toString()).toEqual('@{a()}'); const b = new LgTemplateRef('b', []); - expect(b.toString()).toEqual('[b()]'); + expect(b.toString()).toEqual('@{b()}'); const c = new LgTemplateRef('c', ['1', '2']); - expect(c.toString()).toEqual('[c(1,2)]'); + expect(c.toString()).toEqual('@{c(1,2)}'); }); describe('parse()', () => { it('should return null when inputs are invalid', () => { expect(LgTemplateRef.parse('')).toEqual(null); expect(LgTemplateRef.parse('xxx')).toEqual(null); - expect(LgTemplateRef.parse('[0]')).toEqual(null); + expect(LgTemplateRef.parse('@{0}')).toEqual(null); }); it('should return LgTemplateRef when inputs are valid', () => { - const a = LgTemplateRef.parse('[bfdactivity-123456]'); + const a = LgTemplateRef.parse('@{bfdactivity-123456()}'); expect(a).toEqual(new LgTemplateRef('bfdactivity-123456')); - const a2 = LgTemplateRef.parse('[bfdactivity-123456()]'); + const a2 = LgTemplateRef.parse('@{bfdactivity-123456()}'); expect(a2).toEqual(new LgTemplateRef('bfdactivity-123456')); - const b = LgTemplateRef.parse('[greeting(1,2)]'); + const b = LgTemplateRef.parse('@{greeting(1,2)}'); expect(b).toEqual(new LgTemplateRef('greeting', ['1', '2'])); }); }); diff --git a/Composer/packages/lib/shared/__tests__/lgUtils/parsers/parseLgTemplateRef.test.ts b/Composer/packages/lib/shared/__tests__/lgUtils/parsers/parseLgTemplateRef.test.ts index 15dc759e62..cc983fdce1 100644 --- a/Composer/packages/lib/shared/__tests__/lgUtils/parsers/parseLgTemplateRef.test.ts +++ b/Composer/packages/lib/shared/__tests__/lgUtils/parsers/parseLgTemplateRef.test.ts @@ -8,15 +8,15 @@ describe('parseLgTemplateRef', () => { it('should return null when inputs are invalid', () => { expect(parseLgTemplateRef('')).toEqual(null); expect(parseLgTemplateRef('xxx')).toEqual(null); - expect(parseLgTemplateRef('[0]')).toEqual(null); - expect(parseLgTemplateRef('hi, [greeting]. [greeting]')).toEqual(null); + expect(parseLgTemplateRef('@{0}')).toEqual(null); + expect(parseLgTemplateRef('hi, @{greeting()}. @{greeting()}')).toEqual(null); }); it('should return LgTemplateRef when inputs are valid', () => { - const a = parseLgTemplateRef('[bfdactivity-123456]'); + const a = parseLgTemplateRef('@{bfdactivity-123456()}'); expect(a).toEqual(new LgTemplateRef('bfdactivity-123456')); - const b = parseLgTemplateRef('[greeting(1,2)]'); + const b = parseLgTemplateRef('@{greeting(1,2)}'); expect(b).toEqual(new LgTemplateRef('greeting', ['1', '2'])); }); }); @@ -24,8 +24,8 @@ describe('parseLgTemplateRef', () => { describe('extractLgTemplateRefs', () => { it('can extract lg refs from input string', () => { expect(extractLgTemplateRefs('Hi')).toEqual([]); - expect(extractLgTemplateRefs('[bfdactivity-123456]')).toEqual([new LgTemplateRef('bfdactivity-123456')]); - expect(extractLgTemplateRefs(`-[Greeting], I'm a fancy bot, [Bye]`)).toEqual([ + expect(extractLgTemplateRefs('@{bfdactivity-123456()}')).toEqual([new LgTemplateRef('bfdactivity-123456')]); + expect(extractLgTemplateRefs(`-@{Greeting()}, I'm a fancy bot, @{Bye()}`)).toEqual([ new LgTemplateRef('Greeting'), new LgTemplateRef('Bye'), ]); diff --git a/Composer/packages/lib/shared/src/lgUtils/parsers/lgPatterns.ts b/Composer/packages/lib/shared/src/lgUtils/parsers/lgPatterns.ts index 0e28a41ca5..bdfcaa6023 100644 --- a/Composer/packages/lib/shared/src/lgUtils/parsers/lgPatterns.ts +++ b/Composer/packages/lib/shared/src/lgUtils/parsers/lgPatterns.ts @@ -3,4 +3,4 @@ export const LgNamePattern = `bfd(\\w+)-(\\d+)`; -export const LgTemplateRefPattern = `\\[([A-Za-z_][-\\w]+)(\\(.*\\))?\\]`; +export const LgTemplateRefPattern = `@\\{([A-Za-z_][-\\w]+)(\\([^\\)]*\\))?\\}`; diff --git a/Composer/packages/lib/shared/src/lgUtils/parsers/parseLgTemplateRef.ts b/Composer/packages/lib/shared/src/lgUtils/parsers/parseLgTemplateRef.ts index 51f60823c3..484c014bec 100644 --- a/Composer/packages/lib/shared/src/lgUtils/parsers/parseLgTemplateRef.ts +++ b/Composer/packages/lib/shared/src/lgUtils/parsers/parseLgTemplateRef.ts @@ -19,8 +19,8 @@ const mapMatchResultToTemplateRef = (matchResult: RegExpMatchArray): LgTemplateR }; /** - * '[greetings()]' => { name: greetings, parameters: []} - * 'hi [greetings()]' => null + * '@{greetings()}' => { name: greetings, parameters: []} + * 'hi @{greetings()}' => null */ export default function parseLgTemplateRef(inputString: LgTemplateRefString): LgTemplateRef | null { if (typeof inputString !== 'string') return null; @@ -35,7 +35,7 @@ export default function parseLgTemplateRef(inputString: LgTemplateRefString): Lg /** * * @param text string - * '-[Greeting], I'm a fancy bot, [Bye]' => [ LgTemplateRef('Greeting'), LgTemplateRef('Bye') ] + * '-@{Greeting()}, I'm a fancy bot, @{Bye()}' => [ LgTemplateRef('Greeting'), LgTemplateRef('Bye') ] */ export function extractLgTemplateRefs(text: string): LgTemplateRef[] { const templateRefs: LgTemplateRef[] = []; diff --git a/Composer/packages/lib/shared/src/lgUtils/stringBuilders/buildLgTemplateRefString.ts b/Composer/packages/lib/shared/src/lgUtils/stringBuilders/buildLgTemplateRefString.ts index 1ef13c74df..d0029c82a2 100644 --- a/Composer/packages/lib/shared/src/lgUtils/stringBuilders/buildLgTemplateRefString.ts +++ b/Composer/packages/lib/shared/src/lgUtils/stringBuilders/buildLgTemplateRefString.ts @@ -7,9 +7,9 @@ import { LgTemplateRefString } from '../models/stringTypes'; import buildLgParamString from './buildLgParamString'; /** - * { name: 'greeting', parameters: ['1'] } => '[greeting(1)]' + * { name: 'greeting', parameters: ['1'] } => '@{greeting(1)}' */ export default function buildLgTemplateRefString(lgTemplateRef: LgTemplateRef): LgTemplateRefString { const { name, parameters } = lgTemplateRef; - return `[${name}${buildLgParamString(parameters)}]`; + return `@{${name}${buildLgParamString(parameters)}}`; } diff --git a/Composer/packages/lib/shared/src/types/shell.ts b/Composer/packages/lib/shared/src/types/shell.ts index 10087b4165..f6918f78b4 100644 --- a/Composer/packages/lib/shared/src/types/shell.ts +++ b/Composer/packages/lib/shared/src/types/shell.ts @@ -88,10 +88,10 @@ export interface CodeRange { } export interface LgTemplate { - Name: string; - Body: string; - Parameters: string[]; - Range: CodeRange; + name: string; + body: string; + parameters: string[]; + range: CodeRange; } export interface ShellData { diff --git a/Composer/packages/server/__tests__/mocks/samplebots/bot1/ComposerDialogs/Main.dialog b/Composer/packages/server/__tests__/mocks/samplebots/bot1/ComposerDialogs/Main.dialog index f813a15a2d..466beb28e8 100644 --- a/Composer/packages/server/__tests__/mocks/samplebots/bot1/ComposerDialogs/Main.dialog +++ b/Composer/packages/server/__tests__/mocks/samplebots/bot1/ComposerDialogs/Main.dialog @@ -3,27 +3,27 @@ "steps": [ { "$type": "Microsoft.TextInput", - "prompt": "[hello] I'm a ToDo bot" + "prompt": "@{hello()} I'm a ToDo bot" }, { "$type": "Microsoft.SendActivity", - "activity": "[bye] See you again" + "activity": "@{bye()} See you again" }, { "$type": "Microsoft.SendActivity", - "activity": "[bye] bye bye again" + "activity": "@{bye()} bye bye again" }, { "$type": "Microsoft.SendActivity", - "activity": "[ShowImage(dialog.attachments[0].contentUrl, dialog.attachments[0].contentType)]" + "activity": "@{ShowImage(dialog.attachments[0].contentUrl, dialog.attachments[0].contentType)}" }, { "$type": "Microsoft.SendActivity", - "activity": "You entered: {user.date[0].value}" + "activity": "You entered: @{user.date[0].value}" }, { "$type": "Microsoft.TextInput", - "activity": "[bye3] See you again" + "activity": "@{bye3()} See you again" }, { "$type": "Microsoft.OnIntent", @@ -36,4 +36,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Actions/Actions.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Actions/Actions.dialog index e378de72c8..5637429292 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Actions/Actions.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Actions/Actions.dialog @@ -18,21 +18,21 @@ "$designer": { "id": "166131" }, - "activity": "[bfdactivity-522200]" + "activity": "@{bfdactivity-522200()}" }, { "$type": "Microsoft.SendActivity", "$designer": { "id": "350559" }, - "activity": "[bfdactivity-350559]" + "activity": "@{bfdactivity-350559()}" }, { "$type": "Microsoft.SendActivity", "$designer": { "id": "309397" }, - "activity": "[bfdactivity-309397]" + "activity": "@{bfdactivity-309397()}" }, { "$type": "Microsoft.SetProperty", @@ -47,7 +47,7 @@ "$designer": { "id": "643043" }, - "activity": "[bfdactivity-797905]" + "activity": "@{bfdactivity-797905()}" }, { "$type": "Microsoft.DeleteProperty", @@ -68,7 +68,7 @@ "$designer": { "id": "166131" }, - "activity": "[bfdactivity-166131]" + "activity": "@{bfdactivity-166131()}" } ], "elseActions": [ @@ -77,11 +77,11 @@ "$designer": { "id": "643043" }, - "activity": "[bfdactivity-643043]" + "activity": "@{bfdactivity-643043()}" } ] } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditActions/EditActions.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditActions/EditActions.dialog index 8fa570999e..0754a946b8 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditActions/EditActions.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditActions/EditActions.dialog @@ -44,9 +44,9 @@ "$designer": { "id": "644042" }, - "activity": "[bfdactivity-644042]" + "activity": "@{bfdactivity-644042()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditArray/EditArray.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditArray/EditArray.dialog index 5f7eeff80f..09e477cc2f 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditArray/EditArray.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EditArray/EditArray.dialog @@ -61,7 +61,7 @@ "$designer": { "id": "666135" }, - "activity": "[bfdactivity-666135]" + "activity": "@{bfdactivity-666135()}" }, { "$type": "Microsoft.Foreach", @@ -72,7 +72,7 @@ "actions": [ { "$type": "Microsoft.SendActivity", - "activity": "{dialog.foreach.index}: {dialog.foreach.value}" + "activity": "@{dialog.foreach.index}: @{dialog.foreach.value}" } ] }, @@ -81,7 +81,7 @@ "$designer": { "id": "763672" }, - "activity": "[bfdactivity-763672]" + "activity": "@{bfdactivity-763672()}" }, { "$type": "Microsoft.ForeachPage", @@ -97,7 +97,7 @@ "actions": [ { "$type": "Microsoft.SendActivity", - "activity": "{dialog.foreach.index}: {dialog.foreach.value}" + "activity": "@{dialog.foreach.index}: @{dialog.foreach.value}" } ], "$designer": { @@ -109,4 +109,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EmitAnEvent/EmitAnEvent.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EmitAnEvent/EmitAnEvent.dialog index 9232ace95e..44771b70b5 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EmitAnEvent/EmitAnEvent.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EmitAnEvent/EmitAnEvent.dialog @@ -57,9 +57,9 @@ "id": "576334", "name": "Send a response" }, - "activity": "[bfdactivity-576334]" + "activity": "@{bfdactivity-576334()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/EndDialog.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/EndDialog.dialog index 60756632c1..8876e80791 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/EndDialog.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/EndDialog.dialog @@ -75,17 +75,17 @@ "$designer": { "id": "604381" }, - "activity": "[bfdactivity-604381]" + "activity": "@{bfdactivity-604381()}" }, { "$type": "Microsoft.SendActivity", "$designer": { "id": "338063" }, - "activity": "[bfdactivity-338063]" + "activity": "@{bfdactivity-338063()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/TellJoke/EndDialog.TellJoke.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/TellJoke/EndDialog.TellJoke.dialog index bfea1f898b..c6f55aaa2d 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/TellJoke/EndDialog.TellJoke.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndDialog/TellJoke/EndDialog.TellJoke.dialog @@ -38,7 +38,7 @@ "$designer": { "id": "150220" }, - "activity": "[bfdactivity-150220]" + "activity": "@{bfdactivity-150220()}" }, { "$type": "Microsoft.EndTurn", @@ -51,10 +51,10 @@ "$designer": { "id": "451180" }, - "activity": "[bfdactivity-451180]" + "activity": "@{bfdactivity-451180()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndTurn/EndTurn.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndTurn/EndTurn.dialog index c73ada2d24..5955912009 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndTurn/EndTurn.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/EndTurn/EndTurn.dialog @@ -17,7 +17,7 @@ "$designer": { "id": "423305" }, - "activity": "[bfdactivity-423305]" + "activity": "@{bfdactivity-423305()}" }, { "$type": "Microsoft.EndTurn", @@ -30,9 +30,9 @@ "$designer": { "id": "448895" }, - "activity": "[bfdactivity-448895]" + "activity": "@{bfdactivity-448895()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/HttpRequest/HttpRequest.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/HttpRequest/HttpRequest.dialog index 0ea91257ee..70543204f3 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/HttpRequest/HttpRequest.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/HttpRequest/HttpRequest.dialog @@ -29,7 +29,7 @@ "$designer": { "id": "229784" }, - "activity": "[bfdactivity-229784]" + "activity": "@{bfdactivity-229784()}" }, { "$type": "Microsoft.TextInput", @@ -79,7 +79,7 @@ "$designer": { "id": "200761" }, - "activity": "[bfdactivity-200761]" + "activity": "@{bfdactivity-200761()}" }, { "$type": "Microsoft.TextInput", @@ -107,9 +107,9 @@ "$designer": { "id": "212615" }, - "activity": "[bfdactivity-212615]" + "activity": "@{bfdactivity-212615()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/IfCondition/IfCondition.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/IfCondition/IfCondition.dialog index 541331ce90..54ba0e40dc 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/IfCondition/IfCondition.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/IfCondition/IfCondition.dialog @@ -38,9 +38,9 @@ "$designer": { "id": "485963" }, - "activity": "[bfdactivity-485963]" + "activity": "@{bfdactivity-485963()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Main/Main.dialog index 145ccad546..e752a55196 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/Main/Main.dialog @@ -263,7 +263,7 @@ "$designer": { "id": "347762" }, - "activity": "[bfdactivity-640616]" + "activity": "@{bfdactivity-640616()}" } ] }, @@ -280,11 +280,11 @@ "$designer": { "id": "640616" }, - "activity": "[bfdactivity-640616]" + "activity": "@{bfdactivity-640616()}" } ] } ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/FortuneTellerDialog/FortuneTellerDialog.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/FortuneTellerDialog/FortuneTellerDialog.dialog index 3d0aca08e2..467e831667 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/FortuneTellerDialog/FortuneTellerDialog.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/FortuneTellerDialog/FortuneTellerDialog.dialog @@ -17,23 +17,23 @@ "$designer": { "id": "554030" }, - "activity": "[bfdactivity-554030]" + "activity": "@{bfdactivity-554030()}" }, { "$type": "Microsoft.SendActivity", "$designer": { "id": "302405" }, - "activity": "[bfdactivity-302405]" + "activity": "@{bfdactivity-302405()}" }, { "$type": "Microsoft.SendActivity", "$designer": { "id": "322106" }, - "activity": "[bfdactivity-322106]" + "activity": "@{bfdactivity-322106()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/Replace.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/Replace.dialog index 7ded237733..9ae29812a1 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/Replace.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/Replace.dialog @@ -78,10 +78,10 @@ "$designer": { "id": "120128" }, - "activity": "[bfdactivity-120128]" + "activity": "@{bfdactivity-120128()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/TellJokeDialog/TellJokeDialog.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/TellJokeDialog/TellJokeDialog.dialog index a64fc91751..de4d046b67 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/TellJokeDialog/TellJokeDialog.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/ReplaceDialog/TellJokeDialog/TellJokeDialog.dialog @@ -17,7 +17,7 @@ "$designer": { "id": "577618" }, - "activity": "[bfdactivity-577618]" + "activity": "@{bfdactivity-577618()}" }, { "$type": "Microsoft.EndTurn", @@ -30,9 +30,9 @@ "$designer": { "id": "286023" }, - "activity": "[bfdactivity-286023]" + "activity": "@{bfdactivity-286023()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog index 844c8b796c..4f45c82a13 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog @@ -52,7 +52,7 @@ "$designer": { "id": "160914" }, - "activity": "[bfdactivity-160914]" + "activity": "@{bfdactivity-160914()}" }, { "$type": "Microsoft.SwitchCondition", @@ -69,7 +69,7 @@ "$designer": { "id": "576002" }, - "activity": "[bfdactivity-576002]" + "activity": "@{bfdactivity-576002()}" } ] }, @@ -81,7 +81,7 @@ "$designer": { "id": "677412" }, - "activity": "[bfdactivity-677412]" + "activity": "@{bfdactivity-677412()}" } ] }, @@ -93,7 +93,7 @@ "$designer": { "id": "700082" }, - "activity": "[bfdactivity-700082]" + "activity": "@{bfdactivity-700082()}" } ] } @@ -102,4 +102,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/TraceAndLog/TraceAndLog.dialog b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/TraceAndLog/TraceAndLog.dialog index be06602efc..1208070b31 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/TraceAndLog/TraceAndLog.dialog +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/TraceAndLog/TraceAndLog.dialog @@ -38,10 +38,10 @@ "$designer": { "id": "219510" }, - "text": "{user.name}", + "text": "@{user.name}", "traceActivity": false } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/common/common.lg index e83f23d78f..6d5a247afa 100644 --- a/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/ActionsSample/ComposerDialogs/common/common.lg @@ -21,10 +21,10 @@ -If each page shows two items, here are the index and values # bfdactivity-644042 --Hello {user.name}, nice to talk to you! +-Hello @{user.name}, nice to talk to you! # bfdactivity-604381 --Hello {user.name}, nice to talk to you! +-Hello @{user.name}, nice to talk to you! # bfdactivity-338063 -I'm a joke bot. To get started say "joke". @@ -42,19 +42,19 @@ -Oh I see! # bfdactivity-229784 --Great! Your pet's name is {user.petname} +-Great! Your pet's name is @{user.petname} # bfdactivity-200761 --Done! You have added a pet named "{user.postResponse.content.name}" with id "{user.postResponse.content.id}" +-Done! You have added a pet named "@{user.postResponse.content.name}" with id "@{user.postResponse.content.id}" # bfdactivity-212615 --Great! I found your pet named "{user.getResponse.content.name}" +-Great! I found your pet named "@{user.getResponse.content.name}" # bfdactivity-485963 --Hello {user.name}, nice to talk to you! +-Hello @{user.name}, nice to talk to you! # bfdactivity-839941 --Hello {user.name}, nice to meet you! +-Hello @{user.name}, nice to meet you! # bfdactivity-554030 -Seeing into your future... @@ -66,7 +66,7 @@ -Potentially a successful demo # bfdactivity-120128 --Hello {user.name}, nice to talk to you! Please either enter 'joke' or 'fortune' to replace the dialog you want. +-Hello @{user.name}, nice to talk to you! Please either enter 'joke' or 'fortune' to replace the dialog you want. # bfdactivity-577618 -Why did the chicken cross the road? @@ -76,13 +76,13 @@ # bfdactivity-166131 --user.age is set to {user.age} +-user.age is set to @{user.age} # bfdactivity-643043 -user.age is set to null # bfdactivity-797905 --user.age is set to {user.age} +-user.age is set to @{user.age} # bfdactivity-309397 -Step 3 @@ -94,7 +94,7 @@ -Step 1 # bfdactivity-160914 --You select: {user.style} +-You select: @{user.style} # bfdactivity-576002 -You select: 1 @@ -106,7 +106,7 @@ -You select: 3 # bfdactivity-640616 --[help] +-@{help()} # bfdactivity-576334 - Say moo to get a response, say emit to emit a event. diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/AttachmentInput/AttachmentInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/AttachmentInput/AttachmentInput.dialog index fcd7b6a6b8..db93d72c61 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/AttachmentInput/AttachmentInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/AttachmentInput/AttachmentInput.dialog @@ -29,9 +29,9 @@ "$designer": { "id": "365176" }, - "activity": "[bfdactivity-365176]" + "activity": "@{bfdactivity-365176()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ChoiceInput/ChoiceInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ChoiceInput/ChoiceInput.dialog index 4722d99a76..846a335a0a 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ChoiceInput/ChoiceInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ChoiceInput/ChoiceInput.dialog @@ -54,9 +54,9 @@ "$designer": { "id": "004212" }, - "activity": "[bfdactivity-004212]" + "activity": "@{bfdactivity-004212()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ConfirmInput/ConfirmInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ConfirmInput/ConfirmInput.dialog index c4ab6a0288..711750dfeb 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ConfirmInput/ConfirmInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/ConfirmInput/ConfirmInput.dialog @@ -36,10 +36,10 @@ "$designer": { "id": "458458" }, - "activity": "[bfdactivity-458458]" + "activity": "@{bfdactivity-458458()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/DateTimeInput/DateTimeInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/DateTimeInput/DateTimeInput.dialog index c938ef21ef..ed217bf51d 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/DateTimeInput/DateTimeInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/DateTimeInput/DateTimeInput.dialog @@ -30,9 +30,9 @@ "$designer": { "id": "828009" }, - "activity": "[bfdactivity-828009]" + "activity": "@{bfdactivity-828009()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/Main/Main.dialog index b323adc3e6..cf64464ab1 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/Main/Main.dialog @@ -58,7 +58,7 @@ "actions": [ { "$type": "Microsoft.SendActivity", - "activity": "[help]" + "activity": "@{help()}" } ], "$designer": { @@ -167,7 +167,7 @@ "$designer": { "id": "068558" }, - "activity": "[bfdactivity-068558]" + "activity": "@{bfdactivity-068558()}" } ], "intent": "CancelIntent" @@ -183,11 +183,11 @@ "$designer": { "id": "581197" }, - "activity": "[bfdactivity-581197]" + "activity": "@{bfdactivity-581197()}" } ] } ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/NumberInput/NumberInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/NumberInput/NumberInput.dialog index 61c04c56a9..d8213b08d1 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/NumberInput/NumberInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/NumberInput/NumberInput.dialog @@ -31,7 +31,7 @@ "$designer": { "id": "303304" }, - "activity": "[bfdactivity-303304]" + "activity": "@{bfdactivity-303304()}" }, { "$type": "Microsoft.NumberInput", @@ -58,7 +58,7 @@ "$designer": { "id": "284482" }, - "activity": "[bfdactivity-284482]" + "activity": "@{bfdactivity-284482()}" } ], "elseActions": [ @@ -67,11 +67,11 @@ "$designer": { "id": "172233" }, - "activity": "[bfdactivity-172233]" + "activity": "@{bfdactivity-172233()}" } ] } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/OAuthInput/OAuthInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/OAuthInput/OAuthInput.dialog index c6b63a4530..d2844505ab 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/OAuthInput/OAuthInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/OAuthInput/OAuthInput.dialog @@ -48,9 +48,9 @@ "$designer": { "id": "991558" }, - "activity": "[bfdactivity-991558]" + "activity": "@{bfdactivity-991558()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/TextInput/TextInput.dialog b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/TextInput/TextInput.dialog index 7b2236197c..4198a235c0 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/TextInput/TextInput.dialog +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/TextInput/TextInput.dialog @@ -29,10 +29,10 @@ "$designer": { "id": "538962" }, - "activity": "[bfdactivity-538962]" + "activity": "@{bfdactivity-538962()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/common/common.lg index 96704a8fa3..65389ff0db 100644 --- a/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/AskingQuestionsSample/ComposerDialogs/common/common.lg @@ -17,50 +17,50 @@ I can show you examples on how to use actions, You can enter number 01-04 # ShowEmailSummary(user) - IF: @{count(user.getGraphEmails.value) == 1} - - You have {count(user.getGraphEmails.value)} email. This email is [ShowEmail(user.getGraphEmails.value[0])]. + - You have\s@{count(user.getGraphEmails.value)} email. This email is @{ShowEmail(user.getGraphEmails.value[0])}. - ELSEIF: @{count(user.getGraphEmails.value) >= 2} - - You have {count(user.getGraphEmails.value)} emails, the first email is [ShowEmail(user.getGraphEmails.value[0])]. + - You have @{count(user.getGraphEmails.value)} emails, the first email is @{ShowEmail(user.getGraphEmails.value[0])}. - ELSEIF: @{count(user.getGraphEmails.value) == 0} - You don't have any email. - ELSE: - You should not be here. # ShowEmail(email) -- {email.subject} +- @{email.subject} # bfdactivity-068558 --[help] +-@{help()} # bfdactivity-004212 --You select: {user.style} +-You select: @{user.style} # bfdactivity-458458 --confirmation: {user.confirmed} +-confirmation: @{user.confirmed} # bfdactivity-828009 --You entered: {user.date[0].value} +-You entered: @{user.date[0].value} # bfdactivity-303304 --Hello, your age is {user.age}! +-Hello, your age is @{user.age}! # bfdactivity-284482 --2 * 2.2 equals {user.result}, that's right! +-2 * 2.2 equals @{user.result}, that's right! # bfdactivity-172233 --2 * 2.2 equals {user.result}, that's wrong! +-2 * 2.2 equals @{user.result}, that's wrong! # bfdactivity-538962 --Hello {user.name}, nice to talk to you! +-Hello @{user.name}, nice to talk to you! # bfdactivity-991558 --[ShowEmailSummary(user)] +-@{ShowEmailSummary(user)} # Welcome -Welcome to input samples. # bfdactivity-365176 --[ShowImage(dialog.attachments[0].contentUrl, dialog.attachments[0].contentType)] +-@{ShowImage(dialog.attachments[0].contentUrl, dialog.attachments[0].contentType)} # bfdactivity-581197 --[help] +-@{help()} diff --git a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachPageStep/ForeachPageStep.dialog b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachPageStep/ForeachPageStep.dialog index 19a4574896..ef083457b6 100644 --- a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachPageStep/ForeachPageStep.dialog +++ b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachPageStep/ForeachPageStep.dialog @@ -61,7 +61,7 @@ "$designer": { "id": "623448" }, - "activity": "[bfdactivity-623448]" + "activity": "@{bfdactivity-623448()}" }, { "$type": "Microsoft.ForeachPage", @@ -86,4 +86,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachStep/ForeachStep.dialog b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachStep/ForeachStep.dialog index 925760ee7a..2a6d986e9e 100644 --- a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachStep/ForeachStep.dialog +++ b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/ForeachStep/ForeachStep.dialog @@ -61,7 +61,7 @@ "$designer": { "id": "638869" }, - "activity": "[bfdactivity-638869]" + "activity": "@{bfdactivity-638869()}" }, { "$type": "Microsoft.Foreach", @@ -72,11 +72,11 @@ "actions": [ { "$type": "Microsoft.SendActivity", - "activity": "{dialog.foreach.index}: {dialog.foreach.value}" + "activity": "@{dialog.foreach.index}: @{dialog.foreach.value}" } ] } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/IfCondition/IfCondition.dialog b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/IfCondition/IfCondition.dialog index c346ad058b..cc91f1fba2 100644 --- a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/IfCondition/IfCondition.dialog +++ b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/IfCondition/IfCondition.dialog @@ -37,7 +37,7 @@ "$designer": { "id": "164444" }, - "activity": "[bfdactivity-164444]" + "activity": "@{bfdactivity-164444()}" } ], "elseActions": [ @@ -46,11 +46,11 @@ "$designer": { "id": "619321" }, - "activity": "[bfdactivity-619321]" + "activity": "@{bfdactivity-619321()}" } ] } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/Main/Main.dialog index 32a9a32fe8..05ccabe24e 100644 --- a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/Main/Main.dialog @@ -163,7 +163,7 @@ "$designer": { "id": "953339" }, - "activity": "[help]" + "activity": "@{help()}" } ] }, @@ -181,11 +181,11 @@ "name": "Send an Activity", "id": "859266" }, - "activity": "[help]" + "activity": "@{help()}" } ] } ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog index 82d7095d51..daaed433c2 100644 --- a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog +++ b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog @@ -53,7 +53,7 @@ "$designer": { "id": "097130" }, - "activity": "[bfdactivity-097130]" + "activity": "@{bfdactivity-097130()}" }, { "$type": "Microsoft.SwitchCondition", @@ -70,7 +70,7 @@ "$designer": { "id": "040464" }, - "activity": "[bfdactivity-040464]" + "activity": "@{bfdactivity-040464()}" } ] }, @@ -82,7 +82,7 @@ "$designer": { "id": "230206" }, - "activity": "[bfdactivity-230206]" + "activity": "@{bfdactivity-230206()}" } ] }, @@ -94,7 +94,7 @@ "$designer": { "id": "604251" }, - "activity": "[bfdactivity-604251]" + "activity": "@{bfdactivity-604251()}" } ] } @@ -103,4 +103,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/common/common.lg index 4ac56f642f..1b2ee0354c 100644 --- a/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/ControllingConversationFlowSample/ComposerDialogs/common/common.lg @@ -1,6 +1,6 @@ # help [Activity - Text = {helpText()} + Text = @{helpText()} SuggestedActions = IfCondition|SwitchCondition|ForeachStep|ForeachPageStep|Cancel|Endturn|RepeatDialog ] @@ -15,13 +15,13 @@ You can also type "Cancel" to cancel any dialog or "Endturn" to explicitly accep -Pushed dialog.id into a list # bfdactivity-164444 --Your age is {user.age} which satisified the condition that was evaluated +-Your age is @{user.age} which satisified the condition that was evaluated # bfdactivity-619321 --Your age is {user.age} which did not satisfy the condition that we evaluated +-Your age is @{user.age} which did not satisfy the condition that we evaluated # bfdactivity-097130 --You selected {user.name} +-You selected @{user.name} # bfdactivity-040464 -This is the logic inside the "Susan" switch block. diff --git a/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/Main/Main.dialog index 3055b3ea58..487263f106 100644 --- a/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/Main/Main.dialog @@ -19,7 +19,7 @@ "$designer": { "id": "003038" }, - "activity": "[bfdactivity-003038]" + "activity": "@{bfdactivity-003038()}" } ] }, @@ -31,4 +31,4 @@ "condition": "toLower(turn.Activity.membersAdded[0].name) != 'bot'" } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/common/common.lg index caddf4a50a..793198d554 100644 --- a/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/EchoBot/ComposerDialogs/common/common.lg @@ -1,2 +1,2 @@ # bfdactivity-003038 -- You said '{turn.activity.text}' +- You said '@{turn.activity.text}' diff --git a/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/GetProfile/GetProfile.dialog b/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/GetProfile/GetProfile.dialog index 4f8703b538..21142b8654 100644 --- a/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/GetProfile/GetProfile.dialog +++ b/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/GetProfile/GetProfile.dialog @@ -21,7 +21,7 @@ "id": "362298" }, "prompt": "What is your name? \\n \\[Suggestions=Why? | No name | Cancel | Reset profile\\]", - "invalidPrompt": "[bfdinvalidPrompt-362298]", + "invalidPrompt": "@{bfdinvalidPrompt-362298()}", "maxTurnCount": 3, "validations": [ "length(this.value) <= 150", @@ -42,7 +42,7 @@ }, "prompt": "Hello {user.profile.name}, how old are you? \\n \\[Suggestions=Why? | Reset profile | Cancel | No age\\]", "unrecognizedPrompt": "Hello {user.profile.name}, how old are you? \\n \\[Suggestions=Why? | Reset profile | Cancel | No age\\]", - "invalidPrompt": "[bfdinvalidPrompt-005947]", + "invalidPrompt": "@{bfdinvalidPrompt-005947()}", "maxTurnCount": 3, "validations": [ "int(this.value) >= 1", @@ -62,7 +62,7 @@ "name": "Send an Activity", "id": "296924" }, - "activity": "[bfdactivity-296924]" + "activity": "@{bfdactivity-296924()}" } ] }, @@ -87,7 +87,7 @@ "name": "Send an Activity", "id": "907674" }, - "activity": "[bfdactivity-907674]" + "activity": "@{bfdactivity-907674()}" } ], "elseActions": [ @@ -97,7 +97,7 @@ "name": "Send an Activity", "id": "558329" }, - "activity": "[bfdactivity-558329]" + "activity": "@{bfdactivity-558329()}" } ] } @@ -125,7 +125,7 @@ "name": "Send an Activity", "id": "074631" }, - "activity": "[bfdactivity-074631]" + "activity": "@{bfdactivity-074631()}" }, { "$type": "Microsoft.SetProperty", @@ -144,7 +144,7 @@ "name": "Send an Activity", "id": "758791" }, - "activity": "[bfdactivity-758791]" + "activity": "@{bfdactivity-758791()}" }, { "$type": "Microsoft.SetProperty", diff --git a/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/Main/Main.dialog index e67eb8e819..13f8cd8bfd 100644 --- a/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/Main/Main.dialog @@ -23,7 +23,7 @@ "name": "Send an Activity", "id": "753396" }, - "activity": "[bfdactivity-753396]" + "activity": "@{bfdactivity-753396()}" } ] }, @@ -75,7 +75,7 @@ "name": "Send an Activity", "id": "032735" }, - "activity": "[bfdactivity-032735]" + "activity": "@{bfdactivity-032735()}" } ] } @@ -95,7 +95,7 @@ "name": "Send an Activity", "id": "650736" }, - "activity": "[bfdactivity-650736]" + "activity": "@{bfdactivity-650736()}" }, { "$type": "Microsoft.CancelAllDialogs", @@ -120,7 +120,7 @@ "name": "Send an Activity", "id": "031899" }, - "activity": "[bfdactivity-031899]" + "activity": "@{bfdactivity-031899()}" }, { "$type": "Microsoft.IfCondition", @@ -136,7 +136,7 @@ "name": "Send an Activity", "id": "309274" }, - "activity": "[bfdactivity-309274]" + "activity": "@{bfdactivity-309274()}" } ], "elseActions": [ @@ -146,7 +146,7 @@ "name": "Send an Activity", "id": "912837" }, - "activity": "[bfdactivity-912837]" + "activity": "@{bfdactivity-912837()}" } ] } @@ -166,7 +166,7 @@ "name": "Send an Activity", "id": "924700" }, - "activity": "[bfdactivity-924700]" + "activity": "@{bfdactivity-924700()}" } ], "intent": "Help" diff --git a/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/common/common.lg index a0e2394507..9bc3ca3466 100644 --- a/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/InterruptionSample/ComposerDialogs/common/common.lg @@ -8,20 +8,20 @@ # bfdactivity-309274 - ``` -Here's what I know about you - +Here's what I know about you - - @{NameReadBack()} - @{AgeReadBack()} ``` # NameReadBack -- IF : {exists(user.profile.name)} - - Name : {user.profile.name} -- ELSE : +- IF : @{exists(user.profile.name)} + - Name : @{user.profile.name} +- ELSE : - Name : unknown # AgeReadBack -- IF : {exists(user.profile.age)} - - Age : {user.profile.age} +- IF : @{exists(user.profile.age)} + - Age : @{user.profile.age} - ELSE: - Age : unknown @@ -29,7 +29,7 @@ Here's what I know about you - - Sure, I've cancelled that. # bfdactivity-296924 -- Hello {user.profile.name}, I have your age as {user.profile.age}. \n \[Suggestions=Reset profile] +- Hello @{user.profile.name}, I have your age as @{user.profile.age}. \n \[Suggestions=Reset profile] # bfdactivity-907674 - I need your age to customize recommediations. \n \[Suggestions=No age | Reset profile | Cancel] @@ -44,7 +44,7 @@ Here's what I know about you - - No worries. I'll set your name as 'Human' for now. # bfdactivity-031899 -- {user.profile.name} +- @{user.profile.name} # bfdactivity-924700 - Hello, I'm the interruption sample bot! \n \[Suggestions=Get started | Reset profile | Cancel | Show profile] @@ -53,7 +53,7 @@ Here's what I know about you - - I've reset your profile. \n \[Suggestions=Get started] # bfdinvalidPrompt-362298 -- Sorry, '{this.value}' does not work. I'm looking for 2-150 characters. What is your name? \n \[Suggestions=Why? | No name | Cancel | Reset profile\] +- Sorry, '@{this.value}' does not work. I'm looking for 2-150 characters. What is your name? \n \[Suggestions=Why? | No name | Cancel | Reset profile\] # bfdinvalidPrompt-005947 -- Sorry, {this.value} does not work. I'm looking for a value between 1-150. What is your age? \n \[Suggestions=Why? | Reset profile | Cancel | No age\] +- Sorry, @{this.value} does not work. I'm looking for a value between 1-150. What is your age? \n \[Suggestions=Why? | Reset profile | Cancel | No age\] diff --git a/Composer/packages/server/assets/projects/QnAMakerLUISSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/QnAMakerLUISSample/ComposerDialogs/Main/Main.dialog index 9ec1098c92..8f0ba2d5b4 100644 --- a/Composer/packages/server/assets/projects/QnAMakerLUISSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/QnAMakerLUISSample/ComposerDialogs/Main/Main.dialog @@ -21,7 +21,7 @@ "id": "266608", "name": "Send a response" }, - "activity": "[bfdactivity-266608]" + "activity": "@{bfdactivity-266608()}" } ] }, @@ -38,7 +38,7 @@ "id": "771838", "name": "Send a response" }, - "activity": "[bfdactivity-771838]" + "activity": "@{bfdactivity-771838()}" } ], "intent": "Help" @@ -79,7 +79,7 @@ "id": "313066", "name": "Send a response" }, - "activity": "[bfdactivity-313066]" + "activity": "@{bfdactivity-313066()}" } ], "intent": "BuySurface" @@ -87,4 +87,4 @@ ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema", "generator": "common.lg" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/Main/Main.dialog index 442936faba..bce5d5bdab 100644 --- a/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/Main/Main.dialog @@ -80,7 +80,7 @@ "name": "Send an Activity", "id": "159442" }, - "activity": "[bfdactivity-159442]" + "activity": "@{bfdactivity-159442()}" } ] }, @@ -93,7 +93,7 @@ "id": "735465", "name": "Text input" }, - "prompt": "[bfdprompt-735465]", + "prompt": "@{bfdprompt-735465()}", "maxTurnCount": 3, "property": "user.name", "alwaysPrompt": false, @@ -106,7 +106,7 @@ "id": "167246", "name": "Send an Activity" }, - "activity": "[bfdactivity-167246]" + "activity": "@{bfdactivity-167246()}" } ] }, @@ -119,7 +119,7 @@ "name": "Send an Activity", "id": "762914" }, - "activity": "[bfdactivity-762914]" + "activity": "@{bfdactivity-762914()}" } ] }, @@ -132,7 +132,7 @@ "name": "Send an Activity", "id": "241579" }, - "activity": "[bfdactivity-241579]" + "activity": "@{bfdactivity-241579()}" } ] }, @@ -145,7 +145,7 @@ "name": "Send an Activity", "id": "901582" }, - "activity": "[bfdactivity-901582]" + "activity": "@{bfdactivity-901582()}" } ] }, @@ -158,7 +158,7 @@ "name": "Send an Activity", "id": "553859" }, - "activity": "[bfdactivity-553859]" + "activity": "@{bfdactivity-553859()}" } ] }, @@ -171,7 +171,7 @@ "name": "Send an Activity", "id": "190928" }, - "activity": "[bfdactivity-190928]" + "activity": "@{bfdactivity-190928()}" } ] }, @@ -184,7 +184,7 @@ "name": "Send an Activity", "id": "806895" }, - "activity": "[bfdactivity-806895]" + "activity": "@{bfdactivity-806895()}" } ] }, @@ -197,7 +197,7 @@ "name": "Send an Activity", "id": "997450" }, - "activity": "[bfdactivity-997450]" + "activity": "@{bfdactivity-997450()}" } ] } @@ -223,7 +223,7 @@ "$designer": { "id": "729500" }, - "activity": "[bfdactivity-729500]" + "activity": "@{bfdactivity-729500()}" } ], "$designer": { @@ -233,4 +233,4 @@ ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/common/common.lg index 136f80dfde..3b763669f1 100644 --- a/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/RespondingWithCardsSample/ComposerDialogs/common/common.lg @@ -10,7 +10,7 @@ subtitle = Microsoft Bot Framework text = Build and connect intelligent bots to interact with your users naturally wherever they are, from text/sms to Skype, Slack, Office 365 mail and other popular services. image = https://sec.ch9.ms/ch9/7ff5/e07cfef0-aa3b-40bb-9baa-7c9ef8ff7ff5/buildreactionbotframework_960.jpg - buttons = {cardActionTemplate('imBack', 'Show more cards', 'Show more cards')} + buttons = @{cardActionTemplate('imBack', 'Show more cards', 'Show more cards')} ] # HeroCardWithMemory(name) @@ -19,11 +19,11 @@ subtitle=@{SubText()} text=@{DescriptionText()} images=@{CardImages()} - buttons={cardActionTemplate('imBack', 'Show more cards', 'Show more cards')} + buttons=@{cardActionTemplate('imBack', 'Show more cards', 'Show more cards')} ] # TitleText(name) -- Hello, {name} +- Hello, @{name} # SubText - What is your favorite? @@ -40,10 +40,10 @@ # cardActionTemplate(type, title, value) [CardAction - Type = {if(type == null, 'imBack', type)} - Title = {title} - Value = {value} - Text = {title} + Type = @{if(type == null, 'imBack', type)} + Title = @{title} + Value = @{value} + Text = @{title} ] # ThumbnailCard @@ -96,7 +96,7 @@ # AdaptiveCard [Activity - Attachments = {json(adaptivecardjson())} + Attachments = @{json(adaptivecardjson())} ] @@ -112,8 +112,8 @@ # AllCards [Activity - Attachments = {HeroCard()} | {ThumbnailCard()} | {SigninCard()} | {AnimationCard()} | {VideoCard()} | {AudioCard()} | {AdaptiveCard()} - AttachmentLayout = {AttachmentLayoutType()} + Attachments = @{HeroCard()} | @{ThumbnailCard()} | @{SigninCard()} | @{AnimationCard()} | @{VideoCard()} | @{AudioCard()} | @{AdaptiveCard()} + AttachmentLayout = @{AttachmentLayoutType()} ] @@ -344,32 +344,32 @@ -Welcome to Card Samples Bot. # bfdactivity-159442 --[HeroCard] +-@{HeroCard()} # bfdactivity-762914 --[ThumbnailCard] +-@{ThumbnailCard()} # bfdactivity-241579 --[SigninCard] +-@{SigninCard()} # bfdactivity-901582 --[AnimationCard] +-@{AnimationCard()} # bfdactivity-553859 --[VideoCard] +-@{VideoCard()} # bfdactivity-190928 --[AudioCard] +-@{AudioCard()} # bfdactivity-806895 --[AdaptiveCard] +-@{AdaptiveCard()} # bfdactivity-997450 --[AllCards] +-@{AllCards()} # bfdactivity-167246 -- [HeroCardWithMemory(user.name)] +- @{HeroCardWithMemory(user.name)} # bfdprompt-735465 diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/IfElseCondition/IfElseCondition.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/IfElseCondition/IfElseCondition.dialog index c6e88df867..54430e047b 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/IfElseCondition/IfElseCondition.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/IfElseCondition/IfElseCondition.dialog @@ -20,7 +20,7 @@ "id": "383595", "name": "Multiple choice" }, - "prompt": "[bfdprompt-383595]", + "prompt": "@{bfdprompt-383595()}", "maxTurnCount": 3, "property": "user.timeofday", "alwaysPrompt": false, @@ -56,9 +56,9 @@ "id": "749181", "name": "Send a response" }, - "activity": "[bfdactivity-749181]" + "activity": "@{bfdactivity-749181()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGComposition/LGComposition.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGComposition/LGComposition.dialog index c45ebea77a..bce57460d9 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGComposition/LGComposition.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGComposition/LGComposition.dialog @@ -29,10 +29,10 @@ "$designer": { "id": "823322" }, - "activity": "[bfdactivity-823322]" + "activity": "@{bfdactivity-823322()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGWithParam/LGWithParam.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGWithParam/LGWithParam.dialog index 5f810547ff..f101c6e796 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGWithParam/LGWithParam.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/LGWithParam/LGWithParam.dialog @@ -29,11 +29,11 @@ "$designer": { "id": "176070" }, - "activity": "[bfdactivity-176070]" + "activity": "@{bfdactivity-176070()}" } ] } ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/Main/Main.dialog index 168538225d..9d62115f40 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/Main/Main.dialog @@ -17,7 +17,7 @@ "$designer": { "id": "551445" }, - "activity": "[bfdactivity-551445]" + "activity": "@{bfdactivity-551445()}" } ] }, @@ -35,7 +35,7 @@ "name": "Send an Activity", "id": "576166" }, - "activity": "[bfdactivity-576166]" + "activity": "@{bfdactivity-576166()}" } ] }, @@ -227,4 +227,4 @@ ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/MultiLineText/MultiLineText.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/MultiLineText/MultiLineText.dialog index 6dfdd4666d..420d413aab 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/MultiLineText/MultiLineText.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/MultiLineText/MultiLineText.dialog @@ -20,9 +20,9 @@ "id": "458516", "name": "Send a response" }, - "activity": "[bfdactivity-458516]" + "activity": "@{bfdactivity-458516()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SimpleText/SimpleText.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SimpleText/SimpleText.dialog index e6775b63cf..3fadbefb7e 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SimpleText/SimpleText.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SimpleText/SimpleText.dialog @@ -17,10 +17,10 @@ "$designer": { "id": "219943" }, - "activity": "[bfdactivity-219943]" + "activity": "@{bfdactivity-219943()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/StructuredLG/StructuredLG.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/StructuredLG/StructuredLG.dialog index f27a29c8ad..bf500398a1 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/StructuredLG/StructuredLG.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/StructuredLG/StructuredLG.dialog @@ -20,9 +20,9 @@ "id": "862531", "name": "Send a response" }, - "activity": "[bfdactivity-862531]" + "activity": "@{bfdactivity-862531()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog index 4866068095..c4376549f0 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/SwitchCondition/SwitchCondition.dialog @@ -20,9 +20,9 @@ "id": "958316", "name": "Send a response" }, - "activity": "[bfdactivity-958316]" + "activity": "@{bfdactivity-958316()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithLG/TextWithLG.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithLG/TextWithLG.dialog index 4e0922f2b1..cb13cb2749 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithLG/TextWithLG.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithLG/TextWithLG.dialog @@ -18,11 +18,11 @@ "id": "739923", "name": "Send a response" }, - "activity": "[bfdactivity-739923]" + "activity": "@{bfdactivity-739923()}" } ] } ], "generator": "common.lg", "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithMemory/TextWithMemory.dialog b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithMemory/TextWithMemory.dialog index 9a1316cfe9..50876a7d20 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithMemory/TextWithMemory.dialog +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/TextWithMemory/TextWithMemory.dialog @@ -25,10 +25,10 @@ "$designer": { "id": "822060" }, - "activity": "[bfdactivity-822060]" + "activity": "@{bfdactivity-822060()}" } ] } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/common/common.lg index 14e023beb1..006e2005bd 100644 --- a/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/RespondingWithTextSample/ComposerDialogs/common/common.lg @@ -27,7 +27,7 @@ -@{TextWithLG()} # bfdactivity-822060 --{user.message} +-@{user.message} # bfdactivity-576166 -Welcome to the Message Samples. You can use this sample to explore different capabilities of sending messages to users. @@ -41,11 +41,11 @@ - Happy Sunday! -CASE: @{6} - Happy Saturday! --DEFAULT: +-DEFAULT: - Working day! # bfdactivity-739923 -- [TextWithLG] +- @{TextWithLG()} # bfdactivity-853358 - @{multilineText()} @@ -55,7 +55,7 @@ - good morning - ELSEIF: @{timeOfDay == 'afternoon'} - good afternoon -- ELSE: +- ELSE: - good evening # StructuredText diff --git a/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/Main/Main.dialog index 660a86efb7..b4145fe895 100644 --- a/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/Main/Main.dialog @@ -22,7 +22,7 @@ "id": "037171", "name": "Send a response" }, - "activity": "[bfdactivity-037171]" + "activity": "@{bfdactivity-037171()}" }, { "$type": "Microsoft.InitProperty", @@ -75,7 +75,7 @@ "id": "113335", "name": "Send a response" }, - "activity": "[bfdactivity-113335]" + "activity": "@{bfdactivity-113335()}" } ], "intent": "Help" @@ -93,7 +93,7 @@ "id": "183920", "name": "Confirmation" }, - "prompt": "[bfdprompt-183920]", + "prompt": "@{bfdprompt-183920()}", "maxTurnCount": 3, "property": "turn.cancelConfirmation", "defaultValue": "false", @@ -122,7 +122,7 @@ "id": "304360", "name": "Send a response" }, - "activity": "[bfdactivity-304360]" + "activity": "@{bfdactivity-304360()}" }, { "$type": "Microsoft.CancelAllDialogs", @@ -139,7 +139,7 @@ "id": "470975", "name": "Send a response" }, - "activity": "[bfdactivity-470975]" + "activity": "@{bfdactivity-470975()}" } ] } @@ -159,7 +159,7 @@ "id": "456012", "name": "Send a response" }, - "activity": "[bfdactivity-456012]" + "activity": "@{bfdactivity-456012()}" } ], "intent": "Greeting" @@ -176,7 +176,7 @@ "id": "069270", "name": "Text input" }, - "prompt": "[bfdprompt-069270]", + "prompt": "@{bfdprompt-069270()}", "maxTurnCount": 3, "property": "dialog.item", "alwaysPrompt": false, @@ -198,7 +198,7 @@ "id": "781953", "name": "Multiple choice" }, - "prompt": "[bfdprompt-781953]", + "prompt": "@{bfdprompt-781953()}", "maxTurnCount": 3, "property": "dialog.listType", "alwaysPrompt": false, @@ -247,7 +247,7 @@ "id": "775572", "name": "Send a response" }, - "activity": "[bfdactivity-775572]" + "activity": "@{bfdactivity-775572()}" }, { "$type": "Microsoft.DeleteProperty", @@ -288,7 +288,7 @@ "id": "637111", "name": "Multiple choice" }, - "prompt": "[bfdprompt-637111]", + "prompt": "@{bfdprompt-637111()}", "maxTurnCount": 3, "property": "dialog.listType", "alwaysPrompt": false, @@ -335,7 +335,7 @@ "id": "684852", "name": "Send a response" }, - "activity": "[bfdactivity-212971]" + "activity": "@{bfdactivity-212971()}" }, { "$type": "Microsoft.TextInput", @@ -343,7 +343,7 @@ "id": "038757", "name": "Text input" }, - "prompt": "[bfdprompt-879447]", + "prompt": "@{bfdprompt-879447()}", "maxTurnCount": 3, "property": "dialog.item", "alwaysPrompt": false, @@ -368,7 +368,7 @@ "id": "593087", "name": "Send a response" }, - "activity": "[bfdactivity-056974]" + "activity": "@{bfdactivity-056974()}" } ], "elseActions": [ @@ -378,7 +378,7 @@ "id": "253146", "name": "Send a response" }, - "activity": "[bfdactivity-084161]" + "activity": "@{bfdactivity-084161()}" } ] }, @@ -421,7 +421,7 @@ "id": "059540", "name": "Multiple choice" }, - "prompt": "[bfdprompt-059540]", + "prompt": "@{bfdprompt-059540()}", "maxTurnCount": 3, "property": "dialog.listType", "alwaysPrompt": false, @@ -466,7 +466,7 @@ "id": "052697", "name": "Send a response" }, - "activity": "[bfdactivity-052697]" + "activity": "@{bfdactivity-052697()}" }, { "$type": "Microsoft.DeleteProperty", @@ -482,4 +482,4 @@ ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema", "generator": "common.lg" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/common/common.lg index a838576f92..2c201a7eeb 100644 --- a/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/ToDoBotWithLuisSample/ComposerDialogs/common/common.lg @@ -90,7 +90,7 @@ # Welcome-Suffix - How can I be of help today? - What can I do for you today? - + # Welcome-Prefix - Hi - Hello @@ -104,11 +104,11 @@ > This template uses pre-built functions to construct a response. # Delete-Items-readback -- IF: {turn.itemDeleted} - - ```I have removed **@{dialog.item}** from your @{dialog.listType} list. +- IF: @{turn.itemDeleted} + - ```I have removed **@{dialog.item}** from your @{dialog.listType} list. You have **@{count(user.taskLists[dialog.listType])}** items in your @{dialog.listType} list. ``` - - ELSE : + - ELSE : - Sorry, I did not find **@{dialog.item}** in your todo list # Items-Ordinality (list) @@ -118,9 +118,9 @@ - items # Items-readback -- IF : {toLower(dialog.listType) == 'all' } +- IF : @{toLower(dialog.listType) == 'all' } - @{Show-all-lists()} -- ELSE : +- ELSE : - @{List-readback (user.taskLists, dialog.listType)} # Show-all-lists @@ -136,14 +136,14 @@ ``` > This template uses a foreach prebuilt function to call a template. The template helps with putting together each item in a line prefixed with `-` -> This way, clients that support multi-line markdown for text can render the items as a list. +> This way, clients that support multi-line markdown for text can render the items as a list. # List-readback (collection, type) - IF: @{collection != null && collection[type] != null && count(collection[type]) != 0} - ``` You have @{count(collection[type])} @{Items-Ordinality(collection[type])} in your @{type} collection. - @{join(foreach(collection[type], item, todo-line(item)), '')} ``` -- ELSE: +- ELSE: - ``` You do not have any items in your @{type} list. ``` diff --git a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/AddToDo/AddToDo.dialog b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/AddToDo/AddToDo.dialog index 1ee0c5172d..7a57ef1ce2 100644 --- a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/AddToDo/AddToDo.dialog +++ b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/AddToDo/AddToDo.dialog @@ -63,9 +63,9 @@ "$designer": { "id": "116673" }, - "activity": "[bfdactivity-116673]" + "activity": "@{bfdactivity-116673()}" } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ClearToDos/ClearToDos.dialog b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ClearToDos/ClearToDos.dialog index 329cc99d15..9165556b52 100644 --- a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ClearToDos/ClearToDos.dialog +++ b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ClearToDos/ClearToDos.dialog @@ -33,7 +33,7 @@ "$designer": { "id": "832307" }, - "activity": "[bfdactivity-832307]" + "activity": "@{bfdactivity-832307()}" } ], "elseActions": [ @@ -42,11 +42,11 @@ "$designer": { "id": "983761" }, - "activity": "[bfdactivity-983761]" + "activity": "@{bfdactivity-983761()}" } ] } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/DeleteToDo/DeleteToDo.dialog b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/DeleteToDo/DeleteToDo.dialog index f144a474ce..0e7a864ccd 100644 --- a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/DeleteToDo/DeleteToDo.dialog +++ b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/DeleteToDo/DeleteToDo.dialog @@ -54,7 +54,7 @@ "$designer": { "id": "725469" }, - "activity": "[bfdactivity-725469]" + "activity": "@{bfdactivity-725469()}" } ], "elseActions": [ @@ -63,11 +63,11 @@ "$designer": { "id": "549615" }, - "activity": "[bfdactivity-549615]" + "activity": "@{bfdactivity-549615()}" } ] } ] } ] -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/Main/Main.dialog b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/Main/Main.dialog index 71eadeb71e..c376e4a50f 100644 --- a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/Main/Main.dialog +++ b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/Main/Main.dialog @@ -55,7 +55,7 @@ "$designer": { "id": "157674" }, - "activity": "[bfdactivity-157674]" + "activity": "@{bfdactivity-157674()}" } ] }, @@ -112,7 +112,7 @@ "$designer": { "id": "696707" }, - "activity": "[bfdactivity-696707]" + "activity": "@{bfdactivity-696707()}" } ], "intent": "HelpIntent" @@ -166,4 +166,4 @@ } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ShowToDos/ShowToDos.dialog b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ShowToDos/ShowToDos.dialog index c1a6e04892..83007cf84c 100644 --- a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ShowToDos/ShowToDos.dialog +++ b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/ShowToDos/ShowToDos.dialog @@ -24,7 +24,7 @@ "id": "339580", "name": "Send an Activity" }, - "activity": "[bfdactivity-339580]" + "activity": "@{bfdactivity-339580()}" } ], "elseActions": [ @@ -34,7 +34,7 @@ "id": "662084", "name": "Send an Activity" }, - "activity": "[bfdactivity-662084]" + "activity": "@{bfdactivity-662084()}" } ] } @@ -42,4 +42,4 @@ } ], "$schema": "https://raw.githubusercontent.com/microsoft/BotFramework-Composer/stable/Composer/packages/server/schemas/sdk.schema" -} \ No newline at end of file +} diff --git a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/common/common.lg b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/common/common.lg index f20024d28b..c92037de7d 100644 --- a/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/common/common.lg +++ b/Composer/packages/server/assets/projects/TodoSample/ComposerDialogs/common/common.lg @@ -1,10 +1,10 @@ # Hello --[Welcome(time)] {name} +-@{Welcome(time)} @{name} # Welcome(time) --IF:{time == 'morning'} +-IF:@{time == 'morning'} - Good morning --ELSEIF:{time == 'evening'} +-ELSEIF:@{time == 'evening'} - Good evening -ELSE: - How are you doing, @@ -16,19 +16,19 @@ -What's up bro # ShowTodo --IF:{count(user.todos) > 0} +-IF:@{count(user.todos) > 0} -``` -{HelperFunction()} +@{HelperFunction()} @{join(foreach(user.todos, x, showSingleTodo(x)), '\n')} ``` -ELSE: -You don't have any todos. # showSingleTodo(x) --* {x} +-* @{x} # HelperFunction -- IF: {count(user.todos) == 1} +- IF: @{count(user.todos) == 1} - Your most recent @{count(user.todos)} task is - ELSE: - Your most recent @{count(user.todos)} tasks are @@ -39,7 +39,7 @@ -Help, we don't need no stinkin' help! # bfdactivity-116673 --Successfully added a todo named {dialog.todo} +-Successfully added a todo named @{dialog.todo} # bfdactivity-832307 -Successfully cleared items in the Todo List. @@ -48,19 +48,19 @@ -You don't have any items in the Todo List. # bfdactivity-725469 --Successfully removed a todo named {dialog.todo} +-Successfully removed a todo named @{dialog.todo} # bfdactivity-549615 --{dialog.todo} is not in the Todo List +-@{dialog.todo} is not in the Todo List # bfdactivity-339580 -You have no todos. # bfdactivity-662084 --[ShowTodo] +-@{ShowTodo()} # bfdactivity-696707 --[help] +-@{help()} # bfdactivity-157674 - Hi! I'm a ToDo bot. Say "add a todo named first" to get started. diff --git a/Composer/packages/tools/language-servers/language-generation/package.json b/Composer/packages/tools/language-servers/language-generation/package.json index fdd32946fb..a5679bc89b 100644 --- a/Composer/packages/tools/language-servers/language-generation/package.json +++ b/Composer/packages/tools/language-servers/language-generation/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@types/node": "^12.0.4", - "botbuilder-lg": "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz", + "botbuilder-lg": "4.7.0-preview.93464", "request-light": "^0.2.2", "vscode-languageserver": "^5.3.0-next" }, diff --git a/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts b/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts index 4f5c6da8f0..bd023cc83d 100644 --- a/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts +++ b/Composer/packages/tools/language-servers/language-generation/src/LGServer.ts @@ -17,19 +17,20 @@ import { } from 'vscode-languageserver-types'; import { TextDocumentPositionParams } from 'vscode-languageserver-protocol'; import get from 'lodash/get'; -import { LGTemplate } from 'botbuilder-lg'; +import { LGTemplate, Diagnostic as LGDiagnostic } from 'botbuilder-lg'; import { buildInfunctionsMap } from './builtinFunctionsMap'; import { getRangeAtPosition, getLGResources, updateTemplateInContent, - getTemplatePositionOffset, + getTemplateRange, LGDocument, checkText, checkTemplate, convertDiagnostics, isValid, + TRange, } from './utils'; // define init methods call from client @@ -100,20 +101,13 @@ export class LGServer { const { content, template } = LGDocument; if (!content || !template) return text; const updatedTemplate = { - Name: template.Name, - Parameters: template.Parameters, - Body: text, + name: template.name, + parameters: template.parameters, + body: text, }; const templateDiags = checkTemplate(updatedTemplate); - // error in template. - if (isValid(templateDiags) === false) { - const diagnostics = convertDiagnostics(templateDiags, document); - this.sendDiagnostics(document, diagnostics); - return content; - - // error in document context - } else { + if (isValid(templateDiags)) { return updateTemplateInContent(content, updatedTemplate); } } @@ -127,12 +121,12 @@ export class LGServer { } const text = this.getLGDocumentContent(document); const lgResources = getLGResources(text); - const templates = lgResources.Templates; + const templates = lgResources.templates; const wordRange = getRangeAtPosition(document, params.position); let word = document.getText(wordRange); - const matchItem = templates.find(u => u.Name === word); + const matchItem = templates.find(u => u.name === word); if (matchItem) { - const hoveritem: Hover = { contents: [matchItem.Body] }; + const hoveritem: Hover = { contents: [matchItem.body] }; return Promise.resolve(hoveritem); } if (word.startsWith('builtin.')) { @@ -250,15 +244,15 @@ export class LGServer { } const lgResources = getLGResources(text); - templates = lgResources.Templates; + templates = lgResources.templates; const completionTemplateList: CompletionItem[] = templates.map(template => { return { - label: template.Name, + label: template.name, kind: CompletionItemKind.Reference, insertText: - template.Parameters.length > 0 ? template.Name + '(' + template.Parameters.join(', ') + ')' : template.Name, - documentation: template.Body, + template.parameters.length > 0 ? template.name + '(' + template.parameters.join(', ') + ')' : template.name, + documentation: template.body, }; }); @@ -309,22 +303,28 @@ export class LGServer { protected doValidate(document: TextDocument): void { let text = document.getText(); - let lineOffset = 0; const LGDocument = this.getLGDocument(document); + let lgDiagnostics: LGDiagnostic[] = []; + let lineOffset = 0; // uninitialized if (!LGDocument) { return; } + if (text.length === 0) { + this.cleanDiagnostics(document); + return; + } + // if inline editor, concat new content for validate if (LGDocument.inline) { const { content, template } = LGDocument; if (!content || !template) return; const updatedTemplate = { - Name: template.Name, - Parameters: template.Parameters, - Body: text, + name: template.name, + parameters: template.parameters, + body: text, }; const templateDiags = checkTemplate(updatedTemplate); @@ -333,18 +333,23 @@ export class LGServer { const diagnostics = convertDiagnostics(templateDiags, document); this.sendDiagnostics(document, diagnostics); return; - } else { - text = updateTemplateInContent(content, updatedTemplate); - lineOffset = getTemplatePositionOffset(content, updatedTemplate); } - } - if (text.length === 0) { - this.cleanDiagnostics(document); - return; + text = updateTemplateInContent(content, updatedTemplate); + const templateRange: TRange = getTemplateRange(content, updatedTemplate); + lineOffset = templateRange.startLineNumber; + + // filter diagnostics belong to this template. + lgDiagnostics = checkText(text).filter(lgDialg => { + return ( + lgDialg.range.start.line >= templateRange.startLineNumber && + lgDialg.range.end.line <= templateRange.endLineNumber + ); + }); + } else { + lgDiagnostics = checkText(text); } - const lgDiagnostics = checkText(text); const diagnostics = convertDiagnostics(lgDiagnostics, document, lineOffset); this.sendDiagnostics(document, diagnostics); } diff --git a/Composer/packages/tools/language-servers/language-generation/src/utils.ts b/Composer/packages/tools/language-servers/language-generation/src/utils.ts index 15ca7dcaa6..e9af71c534 100644 --- a/Composer/packages/tools/language-servers/language-generation/src/utils.ts +++ b/Composer/packages/tools/language-servers/language-generation/src/utils.ts @@ -15,9 +15,14 @@ import get from 'lodash/get'; const staticChecker = new StaticChecker(); export interface Template { - Name: string; - Parameters?: string[]; - Body: string; + name: string; + parameters?: string[]; + body: string; +} + +export interface TRange { + startLineNumber: number; + endLineNumber: number; } export interface LGDocument { @@ -61,12 +66,12 @@ export function convertDiagnostics(lgDiags: LGDiagnostic[] = [], document: TextD const diagnostics: Diagnostic[] = []; lgDiags.forEach(diag => { const diagnostic: Diagnostic = { - severity: convertSeverity(diag.Severity), + severity: convertSeverity(diag.severity), range: Range.create( - Position.create(diag.Range.Start.Line - 1 - lineOffset, diag.Range.Start.Character), - Position.create(diag.Range.End.Line - 1 - lineOffset, diag.Range.End.Character) + Position.create(diag.range.start.line - 1 - lineOffset, diag.range.start.character), + Position.create(diag.range.end.line - 1 - lineOffset, diag.range.end.character) ), - message: diag.Message, + message: diag.message, source: document.uri, }; diagnostics.push(diagnostic); @@ -75,16 +80,16 @@ export function convertDiagnostics(lgDiags: LGDiagnostic[] = [], document: TextD } export function textFromTemplate(template: Template): string { - let text = ''; - if (template.Name && template.Body !== null && template.Body !== undefined) { - text += `# ${template.Name.trim()}`; - if (template.Parameters && template.Parameters.length > 0) { - text += '(' + template.Parameters.join(', ') + ')'; + const { name, parameters = [], body } = template; + const textBuilder: string[] = []; + if (name && body) { + textBuilder.push(`# ${name.trim()}`); + if (parameters.length) { + textBuilder.push(`(${parameters.join(', ')})`); } - text += '\n'; - text += `${template.Body.trim()}`; + textBuilder.push(`\n${template.body.trim()}`); } - return text; + return textBuilder.join(''); } export function textFromTemplates(templates: Template[]): string { @@ -99,7 +104,7 @@ export function checkTemplate(template: Template): LGDiagnostic[] { const text = textFromTemplate(template); return staticChecker.checkText(text, '', ImportResolver.fileResolver).filter(diagnostic => { // ignore non-exist references in template body. - return diagnostic.Message.includes('does not have an evaluator') === false; + return diagnostic.message.includes('does not have an evaluator') === false; }); } @@ -107,20 +112,23 @@ export function checkText(text: string): LGDiagnostic[] { return staticChecker.checkText(text, '', ImportResolver.fileResolver); } export function isValid(diagnostics: LGDiagnostic[]): boolean { - return diagnostics.every(d => d.Severity !== LGDiagnosticSeverity.Error); + return diagnostics.every(d => d.severity !== LGDiagnosticSeverity.Error); } export function getLGResources(content: string): LGResource { return LGParser.parse(content, ' '); } -export function getTemplatePositionOffset(content: string, { Name, Parameters = [], Body }: Template): number { - const resource = LGParser.parse(content).updateTemplate(Name, Name, Parameters, Body); - const template = resource.Templates.find(item => item.Name === Name); - return get(template, 'ParseTree._start.line', 0); +export function getTemplateRange(content: string, { name, parameters = [], body }: Template): TRange { + const resource = LGParser.parse(content).updateTemplate(name, name, parameters, body); + const template = resource.templates.find(item => item.name === name); + return { + startLineNumber: get(template, 'parseTree.start.line', 0), + endLineNumber: get(template, 'parseTree.stop.line', 0), + }; } -export function updateTemplateInContent(content: string, { Name, Parameters = [], Body }: Template): string { +export function updateTemplateInContent(content: string, { name, parameters = [], body }: Template): string { const resource = LGParser.parse(content); - return resource.updateTemplate(Name, Name, Parameters, Body).toString(); + return resource.updateTemplate(name, name, parameters, body).toString(); } diff --git a/Composer/yarn.lock b/Composer/yarn.lock index b673b6a2d5..bf0b31c472 100644 --- a/Composer/yarn.lock +++ b/Composer/yarn.lock @@ -2833,6 +2833,13 @@ dependencies: "@types/node" "*" +"@types/moment-timezone@^0.5.12": + version "0.5.12" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/@types/moment-timezone/-/@types/moment-timezone-0.5.12.tgz#0fb680c03db194fe8ff4551eaeb1eec8d3d80e9f" + integrity sha1-D7aAwD2xlP6P9FUerrHuyNPYDp8= + dependencies: + moment ">=2.14.0" + "@types/morgan@^1.7.35": version "1.7.35" resolved "https://registry.yarnpkg.com/@types/morgan/-/morgan-1.7.35.tgz#6358f502931cc2583d7a94248c41518baa688494" @@ -3027,6 +3034,11 @@ "@types/webpack-sources" "*" source-map "^0.6.0" +"@types/xmldom@^0.1.29": + version "0.1.29" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/@types/xmldom/-/@types/xmldom-0.1.29.tgz#c4428b0ca86d3b881475726fd94980b38a27c381" + integrity sha1-xEKLDKhtO4gUdXJv2UmAs4onw4E= + "@types/yargs-parser@*": version "13.1.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" @@ -3818,6 +3830,14 @@ assert@^1.1.1: dependencies: util "0.10.3" +assert@^1.4.1: + version "1.5.0" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + assertion-error@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" @@ -4360,6 +4380,14 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +botbuilder-core@4.7.0-preview.93464: + version "4.7.0-preview.93464" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-core/-/botbuilder-core-4.7.0-preview.93464.tgz#31b3a4d3c87ed82f89b993eebea684708eaca1d6" + integrity sha1-MbOk08h+2C+JuZPuvqaEcI6sodY= + dependencies: + assert "^1.4.1" + botframework-schema "4.7.0-preview.93464" + botbuilder-expression-parser@^4.5.11: version "4.5.11" resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-expression-parser/-/botbuilder-expression-parser-4.5.11.tgz#fcce377a2b2c1a2c2345b2c77d9cf4289e171f9f" @@ -4382,29 +4410,36 @@ botbuilder-expression-parser@^4.5.11: xmldom "^0.1.27" xpath "0.0.27" -"botbuilder-lg@https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz": - version "4.7.0-preview2" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botbuilder-lg/-/4.7.0-preview2.tgz#2a3dd7d7991e0727fb88630501d2fb14d475537b" +botbuilder-lg@4.7.0-preview.93464: + version "4.7.0-preview.93464" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botbuilder-lg/-/botbuilder-lg-4.7.0-preview.93464.tgz#504c647aca501998a0bcf89da33612c808334825" + integrity sha1-UExkespQGZigvPidozYSyAgzSCU= dependencies: antlr4ts "0.5.0-alpha.1" - botframework-expressions "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botframework-expressions/-/4.7.0-preview0.tgz" + botbuilder-core "4.7.0-preview.93464" + botframework-expressions "4.7.0-preview.93464" lodash "^4.17.11" uuid "^3.3.3" -"botframework-expressions@https://botbuilder.myget.org/F/botbuilder-declarative/npm/botframework-expressions/-/4.7.0-preview0.tgz": - version "4.7.0-preview0" - resolved "https://botbuilder.myget.org/F/botbuilder-declarative/npm/botframework-expressions/-/4.7.0-preview0.tgz#032f104222866c5dfbcf1e17b66a56cbf4a30707" +botframework-expressions@4.7.0-preview.93464: + version "4.7.0-preview.93464" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botframework-expressions/-/botframework-expressions-4.7.0-preview.93464.tgz#576e6d48f7dd1c615d23894de758b7b5b4afc505" + integrity sha1-V25tSPfdHGFdI4lN51i3tbSvxQU= dependencies: "@microsoft/recognizers-text-data-types-timex-expression" "^1.1.4" + "@types/moment-timezone" "^0.5.12" + "@types/xmldom" "^0.1.29" antlr4ts "0.5.0-alpha.1" jspath "^0.4.0" lodash "^4.17.15" lru-cache "^5.1.1" moment "2.24.0" moment-timezone "^0.5.25" - xml2js "^0.4.19" - xmldom "^0.1.27" - xpath "0.0.27" + +botframework-schema@4.7.0-preview.93464: + version "4.7.0-preview.93464" + resolved "https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/botframework-schema/-/botframework-schema-4.7.0-preview.93464.tgz#ff6d11cde4e57e12632d18855e9ba31b541f9583" + integrity sha1-/20RzeTlfhJjLRiFXpujG1QflYM= boxen@^1.2.1: version "1.3.0" @@ -11614,7 +11649,7 @@ moment-timezone@^0.5.25: dependencies: moment ">= 2.9.0" -moment@2.24.0, "moment@>= 2.9.0": +moment@2.24.0, "moment@>= 2.9.0", moment@>=2.14.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== @@ -15933,17 +15968,6 @@ ts-loader@^6.2.1: micromatch "^4.0.0" semver "^6.0.0" -ts-node@^8.3.0: - version "8.5.4" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.5.4.tgz#a152add11fa19c221d0b48962c210cf467262ab2" - integrity sha512-izbVCRV68EasEPQ8MSIGBNK9dc/4sYJJKYA+IarMQct1RtEot6Xp0bXuClsbUSnKpg50ho+aOAx8en5c+y4OFw== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.6" - yn "^3.0.0" - ts-node@^8.4.1: version "8.4.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.4.1.tgz#270b0dba16e8723c9fa4f9b4775d3810fd994b4f"