From 3374376cc0bcddfeeadddc31f0a1c689fb787f87 Mon Sep 17 00:00:00 2001 From: Zichuan Ma Date: Wed, 2 Sep 2020 16:18:05 +0800 Subject: [PATCH 1/3] enabled api-extractor in botbuilder-dialogs-adaptive --- .../api-extractor.json | 367 ++++ .../etc/botbuilder-dialogs-adaptive.api.md | 1616 +++++++++++++++++ .../botbuilder-dialogs-adaptive/package.json | 9 +- .../botbuilder-dialogs-adaptive/tsconfig.json | 1 + 4 files changed, 1990 insertions(+), 3 deletions(-) create mode 100644 libraries/botbuilder-dialogs-adaptive/api-extractor.json create mode 100644 libraries/botbuilder-dialogs-adaptive/etc/botbuilder-dialogs-adaptive.api.md diff --git a/libraries/botbuilder-dialogs-adaptive/api-extractor.json b/libraries/botbuilder-dialogs-adaptive/api-extractor.json new file mode 100644 index 0000000000..8d0c99d3db --- /dev/null +++ b/libraries/botbuilder-dialogs-adaptive/api-extractor.json @@ -0,0 +1,367 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "/lib/index.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [], + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + // "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" + */ + // "reportFolder": "/etc/", + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/" + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": true + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + // "untrimmedFilePath": "/dist/.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning" + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + } + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "error" + // "addToApiReportFile": false + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + // "ae-extra-release-tag": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + // "addToApiReportFile": false + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } +} diff --git a/libraries/botbuilder-dialogs-adaptive/etc/botbuilder-dialogs-adaptive.api.md b/libraries/botbuilder-dialogs-adaptive/etc/botbuilder-dialogs-adaptive.api.md new file mode 100644 index 0000000000..1612c6f175 --- /dev/null +++ b/libraries/botbuilder-dialogs-adaptive/etc/botbuilder-dialogs-adaptive.api.md @@ -0,0 +1,1616 @@ +## API Report File for "botbuilder-dialogs-adaptive" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { Activity } from 'botbuilder-core'; +import { ArrayExpression } from 'adaptive-expressions'; +import { BeginSkillDialogOptions } from 'botbuilder-dialogs'; +import { BoolExpression } from 'adaptive-expressions'; +import { BotFrameworkClient } from 'botbuilder-core'; +import { BotTelemetryClient } from 'botbuilder-core'; +import { BuilderRegistration } from 'botbuilder-dialogs-declarative'; +import { Choice } from 'botbuilder-dialogs'; +import { ChoiceFactoryOptions } from 'botbuilder-dialogs'; +import { ComponentRegistration } from 'botbuilder-dialogs-declarative'; +import { Configurable } from 'botbuilder-dialogs'; +import { Converter } from 'botbuilder-dialogs-declarative'; +import { Dialog } from 'botbuilder-dialogs'; +import { DialogContainer } from 'botbuilder-dialogs'; +import { DialogContext } from 'botbuilder-dialogs'; +import { DialogDependencies } from 'botbuilder-dialogs'; +import { DialogEvent } from 'botbuilder-dialogs'; +import { DialogEvents } from 'botbuilder-dialogs'; +import { DialogInstance } from 'botbuilder-dialogs'; +import { DialogManager } from 'botbuilder-dialogs'; +import { DialogReason } from 'botbuilder-dialogs'; +import { DialogSet } from 'botbuilder-dialogs'; +import { DialogState } from 'botbuilder-dialogs'; +import { DialogTurnResult } from 'botbuilder-dialogs'; +import { Entity } from 'botbuilder-core'; +import { EnumExpression } from 'adaptive-expressions'; +import { Expression } from 'adaptive-expressions'; +import { ExpressionParserInterface } from 'adaptive-expressions'; +import { ExpressionProperty } from 'adaptive-expressions'; +import { FindChoicesOptions } from 'botbuilder-dialogs'; +import { Headers as Headers_2 } from 'node-fetch'; +import { ImportResolverDelegate } from 'botbuilder-lg'; +import { IntExpression } from 'adaptive-expressions'; +import { ListStyle } from 'botbuilder-dialogs'; +import { LuisPredictionOptions } from 'botbuilder-ai'; +import { LuisRecognizerOptionsV3 } from 'botbuilder-ai'; +import { ModelResult } from 'botbuilder-dialogs'; +import { NumberExpression } from 'adaptive-expressions'; +import { ObjectExpression } from 'adaptive-expressions'; +import { PromptOptions } from 'botbuilder-dialogs'; +import { QnAMaker } from 'botbuilder-ai'; +import { QnAMakerMetadata } from 'botbuilder-ai'; +import { QnARequestContext } from 'botbuilder-ai'; +import { RecognizerResult } from 'botbuilder-core'; +import { Resource } from 'botbuilder-dialogs-declarative'; +import { ResourceExplorer } from 'botbuilder-dialogs-declarative'; +import { SkillConversationIdFactoryBase } from 'botbuilder-core'; +import { SkillDialog } from 'botbuilder-dialogs'; +import { SkillDialogOptions } from 'botbuilder-dialogs'; +import { StringExpression } from 'adaptive-expressions'; +import { Templates } from 'botbuilder-lg'; +import { TokenResponse } from 'botbuilder-core'; +import { TurnContext } from 'botbuilder-core'; +import { TypeBuilder } from 'botbuilder-dialogs-declarative'; +import { ValueExpression } from 'adaptive-expressions'; + +// @public (undocumented) +export class ActionContext extends DialogContext { + // Warning: (ae-forgotten-export) The symbol "ActionState" needs to be exported by the entry point index.d.ts + constructor(dialogs: DialogSet, parentDialogContext: DialogContext, state: DialogState, actions: ActionState[], changeKey: symbol); + actions: ActionState[]; + applyChanges(): Promise; + // Warning: (ae-forgotten-export) The symbol "ActionChangeList" needs to be exported by the entry point index.d.ts + readonly changes: ActionChangeList[]; + queueChanges(changes: ActionChangeList): void; +} + +// @public (undocumented) +export class ActionScope extends Dialog implements DialogDependencies { + constructor(actions?: Dialog[]); + actions: Dialog[]; + // (undocumented) + protected beginAction(dc: DialogContext, offset: number): Promise; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + // (undocumented) + continueDialog(dc: DialogContext): Promise; + // (undocumented) + getDependencies(): Dialog[]; + // (undocumented) + getVersion(): string; + // (undocumented) + protected onActionScopeResult(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onBreakLoop(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onContinueLoop(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onEndOfActions(dc: DialogContext, result?: any): Promise; + // (undocumented) + protected onGotoAction(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onNextAction(dc: DialogContext, result?: any): Promise; + // (undocumented) + resumeDialog(dc: DialogContext, _reason: DialogReason, result?: any): Promise; +} + +// @public (undocumented) +export enum ActionScopeCommands { + // (undocumented) + BreakLoop = "break", + // (undocumented) + ContinueLoop = "continue", + // (undocumented) + GotoAction = "goto" +} + +// @public (undocumented) +export interface ActionScopeResult { + // (undocumented) + actionId?: string; + // (undocumented) + actionScopeCommand: string; +} + +// @public +export class ActivityTemplate implements TemplateInterface> { + constructor(template: string); + bind(dialogContext: DialogContext, data: object): Promise>; + template: string; + // (undocumented) + toString: () => string; +} + +// @public (undocumented) +export class AdaptiveDialog extends DialogContainer { + constructor(dialogId?: string); + autoEndDialog: boolean; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + // (undocumented) + static conditionTracker: string; + // (undocumented) + protected continueActions(dc: DialogContext): Promise; + // (undocumented) + continueDialog(dc: DialogContext): Promise; + // (undocumented) + createChildContext(dc: DialogContext): DialogContext; + defaultResultProperty: string; + // (undocumented) + protected endCurrentAction(actionContext: ActionContext): Promise; + // (undocumented) + endDialog(turnContext: TurnContext, instance: DialogInstance, reason: DialogReason): Promise; + // (undocumented) + protected ensureDependenciesInstalled(): void; + generator?: LanguageGenerator; + // (undocumented) + getDependencies(): Dialog[]; + // (undocumented) + protected getInternalVersion(): string; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onEndOfActions(actionContext: ActionContext): Promise; + // (undocumented) + protected onPostBubbleEvent(dc: DialogContext, event: DialogEvent): Promise; + // (undocumented) + protected onPreBubbleEvent(dc: DialogContext, event: DialogEvent): Promise; + // (undocumented) + protected onRecognize(actionContext: ActionContext, activity: Activity): Promise; + // (undocumented) + protected onSetScopedServices(dialogContext: DialogContext): void; + // (undocumented) + protected processEvent(actionContext: ActionContext, dialogEvent: DialogEvent, preBubble: boolean): Promise; + recognizer?: Recognizer; + // (undocumented) + repromptDialog(context: DialogContext | TurnContext, instance: DialogInstance): Promise; + // (undocumented) + resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise; + schema: object; + selector: TriggerSelector; + triggers: OnCondition[]; + } + +// @public (undocumented) +export class AdaptiveDialogComponentRegistration implements ComponentRegistration { + constructor(resourceExplorer: ResourceExplorer); + // (undocumented) + getTypeBuilders(): BuilderRegistration[]; + } + +// @public (undocumented) +export class AdaptiveEvents extends DialogEvents { + static readonly assignEntity = "assignEntity"; + static readonly chooseEntity = "chooseEntity"; + static readonly chooseProperty = "chooseProperty"; + static readonly endOfActions = "endOfActions"; + static readonly recognizedIntent = "recognizedIntent"; + static readonly recognizeUtterance = "recognizeUtterance"; + static readonly unknownIntent = "unknownIntent"; +} + +// @public (undocumented) +export class AdaptiveTypeBuilder implements TypeBuilder { + constructor(factory: new () => object, resourceExplorer: ResourceExplorer, converters: { + [key: string]: Converter; + }); + // (undocumented) + build(config: object): object; + } + +// Warning: (ae-forgotten-export) The symbol "TextEntityRecognizer" needs to be exported by the entry point index.d.ts +// +// @public (undocumented) +export class AgeEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export enum ArrayChangeType { + // (undocumented) + clear = "clear", + // (undocumented) + pop = "pop", + // (undocumented) + push = "push", + // (undocumented) + remove = "remove", + // (undocumented) + take = "take" +} + +// @public +export class Ask extends SendActivity { + constructor(text?: string, expectedProperties?: ArrayExpression); + // (undocumented) + beginDialog(dc: DialogContext, options?: object): Promise; + defaultOperation: StringExpression; + expectedProperties: ArrayExpression; +} + +// @public (undocumented) +export class AttachmentInput extends InputDialog { + // (undocumented) + protected getDefaultInput(dc: DialogContext): any; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + outputFormat: EnumExpression; +} + +// @public (undocumented) +export enum AttachmentOutputFormat { + // (undocumented) + all = "all", + // (undocumented) + first = "first" +} + +// @public (undocumented) +export class BaseInvokeDialog extends Dialog implements DialogDependencies { + constructor(dialogIdToCall?: string, bindingOptions?: O); + activityProcessed: BoolExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise>; + // (undocumented) + protected bindOptions(dc: DialogContext, options: object): object; + dialog: DialogExpression; + // (undocumented) + getDependencies(): Dialog<{}>[]; + // (undocumented) + protected onComputeId(): string; + options: ObjectExpression; + // (undocumented) + protected resolveDialog(dc: DialogContext): Dialog; +} + +// @public (undocumented) +export class BeginDialog extends BaseInvokeDialog { + constructor(); + constructor(dialogIdToCall: string, options?: O); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + resultProperty?: StringExpression; + // (undocumented) + resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise; +} + +// @public (undocumented) +export class BeginSkill extends SkillDialog { + constructor(options?: SkillDialogOptions); + activity: TemplateInterface>; + activityProcessed: BoolExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: BeginSkillDialogOptions): Promise; + botId: StringExpression; + connectionName: StringExpression; + // (undocumented) + continueDialog(dc: DialogContext): Promise; + disabled?: BoolExpression; + // (undocumented) + endDialog(turnContext: TurnContext, instance: DialogInstance, reason: DialogReason): Promise; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + repromptDialog(turnContext: TurnContext, instance: DialogInstance): Promise; + resultProperty?: StringExpression; + // (undocumented) + resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise>; + skillAppId: StringExpression; + skillEndpoint: StringExpression; + skillHostEndpoint: StringExpression; +} + +// @public (undocumented) +export class BreakLoop extends Dialog { + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// Warning: (ae-forgotten-export) The symbol "CancelAllDialogsBase" needs to be exported by the entry point index.d.ts +// +// @public (undocumented) +export class CancelAllDialogs extends CancelAllDialogsBase { + constructor(); + constructor(eventName: string, eventValue?: string); +} + +// @public (undocumented) +export class CancelDialog extends CancelAllDialogsBase { + constructor(); + constructor(eventName: string, eventValue?: string); +} + +// @public (undocumented) +export class Case extends ActionScope { + constructor(value?: string, actions?: Dialog[]); + createValueExpression(): Expression; + value: string; +} + +// @public (undocumented) +export class CaseConverter implements Converter { + constructor(resourceExplorer: ResourceExplorer); + // (undocumented) + convert(config: { + value: string; + actions: Dialog[]; + }): Case; + } + +// @public (undocumented) +export const channels: any; + +// @public (undocumented) +export class ChoiceInput extends InputDialog { + choiceOptions?: ObjectExpression; + choices: ObjectExpression; + defaultLocale?: StringExpression; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onInitializeOptions(dc: DialogContext, options: ChoiceInputOptions): ChoiceInputOptions; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + protected onRenderPrompt(dc: DialogContext, state: InputState): Promise>; + outputFormat: EnumExpression; + recognizerOptions?: ObjectExpression; + style: EnumExpression; +} + +// @public (undocumented) +export interface ChoiceInputOptions { + // (undocumented) + choices: Choice[]; +} + +// @public (undocumented) +export enum ChoiceOutputFormat { + // (undocumented) + index = "index", + // (undocumented) + value = "value" +} + +// @public (undocumented) +export class ChoiceSet extends Array { + constructor(obj: any); +} + +// @public (undocumented) +export class CodeAction extends Dialog { + constructor(codeHandler: CodeActionHandler); + // (undocumented) + beginDialog(dc: DialogContext, options: O): Promise; + // (undocumented) + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export type CodeActionHandler = (dc: DialogContext, options?: object) => Promise; + +// @public +export class ConditionalSelector implements TriggerSelector { + condition: BoolExpression; + ifFalse: TriggerSelector; + ifTrue: TriggerSelector; + // (undocumented) + initialize(conditionals: OnCondition[], evaluate: boolean): void; + parser: ExpressionParserInterface; + // (undocumented) + select(actionContext: ActionContext): Promise; +} + +// @public (undocumented) +export class ConfirmationEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class ConfirmInput extends InputDialog { + choiceOptions?: ObjectExpression; + confirmChoices?: ObjectExpression; + defaultLocale?: StringExpression; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + protected onRenderPrompt(dc: DialogContext, state: InputState): Promise>; + outputFormat: StringExpression; + style: EnumExpression; +} + +// @public (undocumented) +export class ContinueLoop extends Dialog { + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export function createRecognizerResult(text: string, intents?: IntentMap, entities?: object): RecognizerResult; + +// @public +export class CrossTrainedRecognizerSet extends Recognizer { + recognize(dialogContext: DialogContext, activity: Activity, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; + recognizers: Recognizer[]; +} + +// @public (undocumented) +export class CurrencyEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class DateTimeEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class DateTimeInput extends InputDialog { + // (undocumented) + defaultLocale: StringExpression; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + outputFormat: StringExpression; +} + +// @public (undocumented) +export class DeleteActivity extends Dialog { + constructor(); + activityId: StringExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class DeleteProperties extends Dialog { + constructor(); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; + properties: StringExpression[]; +} + +// @public (undocumented) +export class DeleteProperty extends Dialog { + constructor(); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; + property: StringExpression; +} + +// @public +export class DialogExpression extends ExpressionProperty { + constructor(value?: Dialog | string | Expression); + // (undocumented) + setValue(value: Dialog | string | Expression): void; +} + +// @public (undocumented) +export class DialogExpressionConverter implements Converter { + constructor(resouceExplorer: ResourceExplorer); + // (undocumented) + convert(value: string | object): DialogExpression; + } + +// @public (undocumented) +export class DimensionEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class DynamicBeginDialog extends BeginDialog { + // (undocumented) + protected bindOptions(dc: DialogContext, options: object): object; +} + +// @public (undocumented) +export class EditActions extends Dialog implements DialogDependencies { + constructor(); + // Warning: (ae-forgotten-export) The symbol "ActionChangeType" needs to be exported by the entry point index.d.ts + constructor(changeType: ActionChangeType, actions?: Dialog[]); + actions: Dialog[]; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + changeType: EnumExpression; + disabled?: BoolExpression; + // (undocumented) + getDependencies(): Dialog[]; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class EditArray extends Dialog { + constructor(); + constructor(changeType: ArrayChangeType, itemsProperty: string, value?: any, resultProperty?: string); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + changeType: EnumExpression; + disabled?: BoolExpression; + itemsProperty: StringExpression; + // (undocumented) + protected onComputeId(): string; + resultProperty: StringExpression; + value: ValueExpression; +} + +// @public (undocumented) +export class EmailEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class EmitEvent extends Dialog { + constructor(); + constructor(eventName: string, eventValue?: string, bubbleEvent?: boolean); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + bubbleEvent: BoolExpression; + disabled?: BoolExpression; + eventName: StringExpression; + eventValue: ValueExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class EndDialog extends Dialog { + constructor(); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected endParentDialog(dc: DialogContext, result?: any): Promise; + // (undocumented) + protected onComputeId(): string; + value: ValueExpression; +} + +// @public (undocumented) +export class EndTurn extends Dialog { + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + // (undocumented) + continueDialog(dc: DialogContext): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export interface EntityRecognizer { + // (undocumented) + recognizeEntities(dialogContext: DialogContext, text: string, locale: string, entities: Entity[]): Promise; +} + +// @public (undocumented) +export class EntityRecognizerSet extends Array { + // (undocumented) + recognizeEntities(dialogContext: DialogContext, text: string, locale: string, entities?: Entity[]): Promise; +} + +// @public +export class FirstSelector implements TriggerSelector { + // (undocumented) + initialize(conditionals: OnCondition[], evaluate: boolean): void; + parser: ExpressionParserInterface; + // (undocumented) + select(actionContext: ActionContext): Promise; +} + +// @public (undocumented) +export class ForEach extends ActionScope { + constructor(); + constructor(itemsProperty: string, actions: Dialog[]); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + getDependencies(): Dialog[]; + index: StringExpression; + itemsProperty: StringExpression; + // (undocumented) + protected nextItem(dc: DialogContext): Promise; + // (undocumented) + protected onBreakLoop(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onContinueLoop(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onEndOfActions(dc: DialogContext, result?: any): Promise; + value: StringExpression; +} + +// @public +export class ForEachPage extends ActionScope { + constructor(); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + getDependencies(): Dialog[]; + itemsProperty: StringExpression; + // (undocumented) + protected onBreakLoop(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onContinueLoop(dc: DialogContext, actionScopeResult: ActionScopeResult): Promise; + // (undocumented) + protected onEndOfActions(dc: DialogContext, result?: any): Promise; + page: StringExpression; + pageIndex: StringExpression; + pageSize: IntExpression; +} + +// @public (undocumented) +export class GetActivityMembers extends Dialog { + constructor(); + activityId: StringExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; + property: StringExpression; +} + +// @public (undocumented) +export class GetConversationMembers extends Dialog { + constructor(); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; + property: StringExpression; +} + +// @public (undocumented) +export class GotoAction extends Dialog { + constructor(); + actionId: StringExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class GuidEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class HashtagEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class HttpHeadersConverter implements Converter { + // (undocumented) + convert(value: object): { + [key: string]: StringExpression; + }; +} + +// @public (undocumented) +export enum HttpMethod { + DELETE = "DELETE", + GET = "GET", + PATCH = "PATCH", + POST = "POST", + PUT = "PUT" +} + +// @public (undocumented) +export class HttpRequest extends Dialog implements Configurable { + constructor(); + constructor(method: HttpMethod, url: string, headers: { + [key: string]: string; + }, body: any); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + body?: ValueExpression; + contentType?: StringExpression; + disabled?: BoolExpression; + headers?: { + [key: string]: StringExpression; + }; + method?: HttpMethod; + // (undocumented) + protected onComputeId(): string; + responseType?: EnumExpression; + resultProperty?: StringExpression; + url?: StringExpression; +} + +// @public (undocumented) +export class IfCondition extends Dialog implements DialogDependencies { + constructor(); + actions: Dialog[]; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + condition: BoolExpression; + disabled?: BoolExpression; + elseActions: Dialog[]; + // (undocumented) + protected readonly falseScope: ActionScope; + // (undocumented) + getDependencies(): Dialog[]; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected readonly trueScope: ActionScope; + } + +// @public (undocumented) +export abstract class InputDialog extends Dialog { + constructor(property?: string, prompt?: Partial | string); + allowInterruptions: BoolExpression; + alwaysPrompt: BoolExpression; + protected appendChoices(prompt: Partial, channelId: string, choices: Choice[], style: ListStyle, options?: ChoiceFactoryOptions): Partial; + // (undocumented) + beginDialog(dc: DialogContext, options?: any): Promise; + // (undocumented) + continueDialog(dc: DialogContext): Promise; + defaultValue?: ValueExpression; + defaultValueResponse: TemplateInterface>; + disabled?: BoolExpression; + // (undocumented) + protected getDefaultInput(dc: DialogContext): any; + invalidPrompt: TemplateInterface>; + maxTurnCount?: IntExpression; + // (undocumented) + protected onInitializeOptions(dc: DialogContext, options: any): any; + // (undocumented) + protected onPreBubbleEvent(dc: DialogContext, event: DialogEvent): Promise; + // (undocumented) + protected abstract onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + protected onRenderPrompt(dc: DialogContext, state: InputState): Promise>; + // (undocumented) + static OPTIONS_PROPERTY: string; + prompt: TemplateInterface>; + property: StringExpression; + // (undocumented) + resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise; + // (undocumented) + static TURN_COUNT_PROPERTY: string; + unrecognizedPrompt: TemplateInterface>; + validations: string[]; + value: ValueExpression; + // (undocumented) + static VALUE_PROPERTY: string; +} + +// @public (undocumented) +export enum InputState { + // (undocumented) + invalid = "invalid", + // (undocumented) + missing = "missing", + // (undocumented) + unrecognized = "unrecognized", + // (undocumented) + valid = "valid" +} + +// @public (undocumented) +export interface IntentMap { + // (undocumented) + [name: string]: { + score: number; + }; +} + +// @public (undocumented) +export class IntentPattern { + constructor(intent?: string, pattern?: string); + // (undocumented) + intent: string; + // (undocumented) + pattern: string; + // (undocumented) + readonly regex: RegExp; +} + +// @public (undocumented) +export class IntentPatternConverter implements Converter { + // (undocumented) + convert(value: { + intent: string; + pattern: string; + }): IntentPattern; +} + +// @public (undocumented) +export class IpEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public +export interface LanguageGenerator { + generate(dialogContext: DialogContext, template: string, data: object): Promise; +} + +// @public +export class LanguageGeneratorExtensions { + static useLanguageGeneration(dialogManager: DialogManager, lg?: string | LanguageGenerator): DialogManager; + static useLanguagePolicy(dialogManager: DialogManager, policy: LanguagePolicy): DialogManager; +} + +// @public +export const languageGeneratorKey: unique symbol; + +// @public +export class LanguageGeneratorManager { + constructor(resourceManager: ResourceExplorer); + languageGenerators: Map; + // (undocumented) + static resourceExplorerResolver(locale: string, resourceMapping: Map): ImportResolverDelegate; + } + +// @public +export const languageGeneratorManagerKey: unique symbol; + +// @public +export class LanguagePolicy extends Map { + constructor(...defaultLanguages: string[]); + // (undocumented) + static defaultPolicy(defaultLanguages?: string[]): Map; + // (undocumented) + static readonly locales: string[]; +} + +// @public (undocumented) +export class LanguagePolicyConverter implements Converter { + // (undocumented) + convert(value: object): LanguagePolicy; +} + +// @public +export const languagePolicyKey: unique symbol; + +// @public +export class LanguageResourceLoader { + static fallbackLocale(locale: string, optionalLocales: string[]): string; + static groupByLocale(resourceExplorer: ResourceExplorer): Map; + static parseLGFileName(lgFileName: string): { + prefix: string; + language: string; + }; +} + +// @public (undocumented) +export class LogAction extends Dialog { + constructor(); + constructor(text: string); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + label: StringExpression; + // (undocumented) + protected onComputeId(): string; + text: TemplateInterface; + traceActivity: BoolExpression; +} + +// @public (undocumented) +export class LuisAdaptiveRecognizer extends Recognizer { + applicationId: StringExpression; + dynamicLists: ArrayExpression; + endpoint: StringExpression; + endpointKey: StringExpression; + protected fillRecognizerResultTelemetryProperties(recognizerResult: RecognizerResult, telemetryProperties: { + [key: string]: string; + }, dialogContext: DialogContext): { + [key: string]: string; + }; + logPersonalInformation: BoolExpression; + predictionOptions: LuisPredictionOptions; + // (undocumented) + recognize(dialogContext: DialogContext, activity: Activity, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; + recognizerOptions(dialogContext: DialogContext): LuisRecognizerOptionsV3; +} + +// @public (undocumented) +export class MentionEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public +export class MultiLanguageGenerator extends MultiLanguageGeneratorBase { + languageGenerators: Map; + tryGetGenerator(dialogContext: DialogContext, locale: string): { + exist: boolean; + result: LanguageGenerator; + }; +} + +// @public +export abstract class MultiLanguageGeneratorBase implements LanguageGenerator { + generate(dialogContext: DialogContext, template: string, data: object): Promise; + languagePolicy: LanguagePolicy; + abstract tryGetGenerator(dialogContext: DialogContext, locale: string): { + exist: boolean; + result: LanguageGenerator; + }; +} + +// @public (undocumented) +export class MultiLanguageRecognizer extends Recognizer { + // (undocumented) + languagePolicy: LanguagePolicy; + // (undocumented) + recognize(dialogContext: DialogContext, activity: Activity, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; + // (undocumented) + recognizers: { + [locale: string]: Recognizer; + }; +} + +// @public (undocumented) +export class NumberEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class NumberInput extends InputDialog { + // (undocumented) + defaultLocale?: StringExpression; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + outputFormat?: NumberExpression; +} + +// @public (undocumented) +export class OAuthInput extends InputDialog { + constructor(connectionName?: string, title?: string, text?: string, timeout?: number); + // (undocumented) + beginDialog(dc: DialogContext, options?: PromptOptions): Promise; + connectionName: StringExpression; + // (undocumented) + continueDialog(dc: DialogContext): Promise; + getUserToken(dc: DialogContext, code?: string): Promise; + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + signOutUser(dc: DialogContext): Promise; + text?: StringExpression; + timeout?: IntExpression; + title: StringExpression; +} + +// @public +export class OnActivity extends OnDialogEvent { + constructor(type?: string, actions?: Dialog[], condition?: string); + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; + type: string; +} + +// @public +export class OnAssignEntity extends OnDialogEvent { + constructor(property?: string, entity?: string, operation?: string, actions?: Dialog[], condition?: string); + entity: string; + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; + operation: string; + property: string; +} + +// @public +export class OnBeginDialog extends OnDialogEvent { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnCancelDialog extends OnDialogEvent { + constructor(actions?: Dialog[], condtion?: string); +} + +// @public +export class OnChooseEntity extends OnDialogEvent { + constructor(property?: string, entity?: string, actions?: Dialog[], condition?: string); + entity: string; + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; + property: string; +} + +// @public (undocumented) +export class OnChooseIntent extends OnIntent { + constructor(actons?: Dialog[], condition?: string); + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; + // (undocumented) + intents: string[]; +} + +// @public +export class OnChooseProperty extends OnDialogEvent { + constructor(properties?: string[], entities?: string[], actions?: Dialog[], condition?: string); + entities: string[]; + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; + properties: string[]; +} + +// @public (undocumented) +export class OnCondition implements DialogDependencies { + constructor(condition?: string, actions?: Dialog[]); + actions: Dialog[]; + // (undocumented) + protected readonly actionScope: ActionScope; + addExternalCondition(condition: string): void; + condition: BoolExpression; + currentPriority(actionContext: ActionContext): number; + execute(actionContext: ActionContext): Promise; + getDependencies(): Dialog[]; + getExpression(parser: ExpressionParserInterface): Expression; + id: string; + // (undocumented) + protected onCreateChangeList(actionContext: ActionContext, dialogOptions?: any): ActionChangeList; + priority: IntExpression; + runOnce: boolean; +} + +// @public +export class OnConversationUpdateActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnDialogEvent extends OnCondition { + constructor(event?: string, actions?: Dialog[], condition?: string); + event: string; + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; +} + +// @public +export class OnEndOfActions extends OnDialogEvent { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnEndOfConversationActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnError extends OnDialogEvent { + constructor(actions?: Dialog[], condition?: string); + // (undocumented) + onCreateChangeList(actionContext: ActionContext, dialogOptions?: any): ActionChangeList; +} + +// @public +export class OnEventActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public (undocumented) +export class OnHandoffActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnIntent extends OnDialogEvent { + constructor(intent?: string, entities?: string[], actions?: Dialog[], condition?: string); + entities: string[]; + // (undocumented) + getExpression(parser: ExpressionParserInterface): Expression; + intent: string; + // (undocumented) + protected onCreateChangeList(actionContext: ActionContext, dialogOptions?: any): ActionChangeList; +} + +// @public +export class OnInvokeActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnMessageActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnMessageDeleteActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnMessageReactionActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnMessageUpdateActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnQnAMatch extends OnIntent { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnRepromptDialog extends OnDialogEvent { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnTypingActivity extends OnActivity { + constructor(actions?: Dialog[], condition?: string); +} + +// @public +export class OnUnknownIntent extends OnDialogEvent { + constructor(actions?: Dialog[], condition?: string); +} + +// @public (undocumented) +export class OrdinalEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class PercentageEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class PhoneNumberEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export interface PropertyAssignment { + // (undocumented) + property: StringExpression; + // (undocumented) + value: ValueExpression; +} + +// @public (undocumented) +export class PropertyAssignmentConverter implements Converter { + // (undocumented) + convert(assignment: { + property: string; + value: any; + }): PropertyAssignment; +} + +// @public +export class PropertySchema { + constructor(path: string, schema: object, children?: PropertySchema[]); + readonly children: PropertySchema[]; + readonly entities: string[]; + readonly expectedOnly: string[]; + isArray(): boolean; + isEnum(): boolean; + readonly name: string; + readonly parent: PropertySchema | undefined; + readonly path: string; + readonly schema: object; + readonly type: string; +} + +// @public +export class QnAMakerRecognizer extends Recognizer { + constructor(hostname?: string, knowledgeBaseId?: string, endpointKey?: string); + context: ObjectExpression; + endpointKey: StringExpression; + protected getQnAMaker(dc: DialogContext): QnAMaker; + hostname: StringExpression; + includeDialogNameInMetadata: BoolExpression; + isTest: boolean; + knowledgeBaseId: StringExpression; + metadata: ArrayExpression; + qnaId: IntExpression; + // (undocumented) + static readonly qnaMatchIntent = "QnAMatch"; + rankerType: StringExpression; + recognize(dc: DialogContext, activity: Activity, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; + threshold: NumberExpression; + top: IntExpression; +} + +// @public +export class RandomSelector implements TriggerSelector { + // (undocumented) + initialize(conditionals: OnCondition[], evaluate: boolean): void; + parser: ExpressionParserInterface; + // (undocumented) + select(actionContext: ActionContext): Promise; +} + +// @public (undocumented) +export class Recognizer { + protected fillRecognizerResultTelemetryProperties(recognizerResult: RecognizerResult, telemetryProperties: { + [key: string]: string; + }, dialogContext?: DialogContext): { + [key: string]: string; + }; + id: string; + recognize(dialogContext: DialogContext, activity: Partial, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; + telemetryClient: BotTelemetryClient; + protected _telemetryClient: BotTelemetryClient; + // (undocumented) + protected trackRecognizerResult(dialogContext: DialogContext, eventName: string, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): void; +} + +// @public (undocumented) +export class RecognizerSet extends Recognizer { + // (undocumented) + recognize(dialogContext: DialogContext, activity: Activity, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; + // (undocumented) + recognizers: Recognizer[]; +} + +// @public +export class RegexEntityRecognizer extends TextEntityRecognizer { + constructor(); + // (undocumented) + name: string; + // (undocumented) + pattern: string; + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public (undocumented) +export class RegexRecognizer extends Recognizer { + entities: EntityRecognizer[]; + intents: IntentPattern[]; + // (undocumented) + recognize(dialogContext: DialogContext, activity: Activity, telemetryProperties?: { + [key: string]: string; + }, telemetryMetrics?: { + [key: string]: number; + }): Promise; +} + +// @public (undocumented) +export class RepeatDialog extends BaseInvokeDialog { + constructor(); + allowLoop?: BoolExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; +} + +// @public (undocumented) +export class ReplaceDialog extends BaseInvokeDialog { + constructor(); + constructor(dialogIdToCall: string, options?: O); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; +} + +// @public +export const resourceExplorerKey: unique symbol; + +// @public +export class ResourceExtensions { + static useResourceExplorer(dialogManager: DialogManager, resourceExplorer: ResourceExplorer): DialogManager; +} + +// @public (undocumented) +export class ResourceMultiLanguageGenerator extends MultiLanguageGeneratorBase { + constructor(resourceId?: string); + resourceId: string; + tryGetGenerator(dialogContext: DialogContext, locale: string): { + exist: boolean; + result: LanguageGenerator; + }; +} + +// @public (undocumented) +export enum ResponsesTypes { + Activities = 3, + Activity = 2, + Binary = 4, + Json = 1, + None = 0 +} + +// @public +export class Result { + constructor(headers?: Headers_2); + content?: any; + headers?: { + [key: string]: string; + }; + reasonPhrase?: string; + statusCode?: number; +} + +// @public +export class SchemaHelper { + constructor(schema: object); + pathToSchema(path: string): PropertySchema | undefined; + readonly property: PropertySchema; + readonly required: string[]; + readonly schema: object; +} + +// @public (undocumented) +export class SendActivity extends Dialog { + constructor(activity?: Partial | string); + activity: TemplateInterface>; + // (undocumented) + beginDialog(dc: DialogContext, options: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class SetProperties extends Dialog { + constructor(); + assignments: PropertyAssignment[]; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class SetProperty extends Dialog { + constructor(); + constructor(property: string, value: any); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; + property: StringExpression; + value: ValueExpression; +} + +// @public (undocumented) +export class SignOutUser extends Dialog { + constructor(); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + connectionName: StringExpression; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; + userId: StringExpression; +} + +// @public +export const skillClientKey: unique symbol; + +// @public +export const skillConversationIdFactoryKey: unique symbol; + +// @public +export class SkillExtensions { + static useSkillClient(dialogManager: DialogManager, skillClient: BotFrameworkClient): DialogManager; + static useSkillConversationIdFactory(dialogManager: DialogManager, skillConversationIdFactory: SkillConversationIdFactoryBase): DialogManager; +} + +// @public +export class StaticActivityTemplate implements TemplateInterface> { + constructor(activity?: Partial); + activity: Partial; + bind(dialogContext: DialogContext, data: object): Promise>; + // (undocumented) + toString: () => string; +} + +// @public (undocumented) +export class SwitchCondition extends Dialog implements DialogDependencies { + constructor(); + constructor(condition: string, defaultDialogs: Dialog[], cases: Case[]); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + cases: Case[]; + condition: Expression; + default: Dialog[]; + // (undocumented) + protected readonly defaultScope: ActionScope; + disabled?: BoolExpression; + // (undocumented) + getDependencies(): Dialog[]; + // (undocumented) + protected onComputeId(): string; +} + +// @public +export const telemetryClientKey: unique symbol; + +// @public (undocumented) +export class TemperatureEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public +export class TemplateEngineLanguageGenerator implements LanguageGenerator { + constructor(arg1?: Templates | string, arg2?: string | Map, arg3?: Map); + // (undocumented) + generate(dialogContext: DialogContext, template: string, data: object): Promise; + // (undocumented) + id: string; + } + +// @public +export interface TemplateInterface { + bind(dialogContext: DialogContext, data?: object): Promise; +} + +// @public (undocumented) +export class TextEntity implements Entity { + constructor(text?: string); + // (undocumented) + text: string; + // (undocumented) + type: string; +} + +// @public (undocumented) +export class TextInput extends InputDialog { + // (undocumented) + protected onComputeId(): string; + // (undocumented) + protected onRecognizeInput(dc: DialogContext): Promise; + // (undocumented) + outputFormat: StringExpression; +} + +// @public +export class TextTemplate implements TemplateInterface { + constructor(template: string); + bind(dialogContext: DialogContext, data: object): Promise; + template: string; + // (undocumented) + toString: () => string; +} + +// @public (undocumented) +export class TraceActivity extends Dialog { + constructor(); + constructor(name: string, valueType: string, value: any, label: string); + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + label?: StringExpression; + name?: StringExpression; + // (undocumented) + protected onComputeId(): string; + value?: ValueExpression; + valueType?: StringExpression; +} + +// @public +export interface TriggerSelector { + initialize(conditionHandlers: OnCondition[], evaluate: boolean): void; + parser: ExpressionParserInterface; + select(actionContext: ActionContext): Promise; +} + +// @public +export class TrueSelector implements TriggerSelector { + // (undocumented) + initialize(conditionals: OnCondition[], evaluate: boolean): void; + parser: ExpressionParserInterface; + // (undocumented) + select(actionContext: ActionContext): Promise; +} + +// @public (undocumented) +export class UpdateActivity extends Dialog { + constructor(); + activity: TemplateInterface>; + activityId: StringExpression; + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + disabled?: BoolExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class UrlEntityRecognizer extends TextEntityRecognizer { + // (undocumented) + protected recognize(text: string, culture: string): ModelResult[]; +} + +// @public +export function useTelemetry(dialogManager: DialogManager, telemetryClient: BotTelemetryClient): DialogManager; + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/libraries/botbuilder-dialogs-adaptive/package.json b/libraries/botbuilder-dialogs-adaptive/package.json index 7167a2ed45..96e6ef7f98 100644 --- a/libraries/botbuilder-dialogs-adaptive/package.json +++ b/libraries/botbuilder-dialogs-adaptive/package.json @@ -33,6 +33,7 @@ "node-fetch": "^2.6.0" }, "devDependencies": { + "@microsoft/api-extractor": "^7.7.12", "@types/jsonpath": "^0.2.0", "@types/mocha": "^5.2.7", "@types/node": "^10.17.27", @@ -42,13 +43,15 @@ "nock": "^11.9.1", "nyc": "^15.1.0", "source-map-support": "^0.5.3", - "ts-node": "^4.1.0" + "ts-node": "^4.1.0", + "typescript": "3.5.3" }, "scripts": { "test": "npm run build && nyc mocha tests/", "build": "tsc && tsc -p tests/tsconfig.json", "build-docs": "typedoc --theme markdown --entryPoint botbuilder-dialogs-adaptive --excludePrivate --includeDeclarations --ignoreCompilerErrors --module amd --out ..\\..\\doc\\botbuilder-dialogs .\\lib\\index.d.ts --hideGenerator --name \"Bot Builder SDK - Dialogs\" --readme none", "clean": "erase /q /s .\\lib", - "set-version": "npm version --allow-same-version ${Version}" + "set-version": "npm version --allow-same-version ${Version}", + "test:compat": "api-extractor run --verbose" } -} \ No newline at end of file +} diff --git a/libraries/botbuilder-dialogs-adaptive/tsconfig.json b/libraries/botbuilder-dialogs-adaptive/tsconfig.json index 9347fa6605..0874be0472 100644 --- a/libraries/botbuilder-dialogs-adaptive/tsconfig.json +++ b/libraries/botbuilder-dialogs-adaptive/tsconfig.json @@ -5,6 +5,7 @@ "module": "commonjs", "declaration": true, "sourceMap": true, + "declarationMap": true, "outDir": "./lib", "rootDir": "./src", "types" : ["node"] From b57b0e06285445d87c3ce905503fe7873e66e57b Mon Sep 17 00:00:00 2001 From: Zichuan Ma Date: Wed, 2 Sep 2020 16:18:17 +0800 Subject: [PATCH 2/3] enabled api-extractor in botbuilder-dialogs-declarative --- .../api-extractor.json | 367 ++++++++++++++++++ .../etc/botbuilder-dialogs-declarative.api.md | 124 ++++++ .../package.json | 7 +- .../tsconfig.json | 1 + 4 files changed, 497 insertions(+), 2 deletions(-) create mode 100644 libraries/botbuilder-dialogs-declarative/api-extractor.json create mode 100644 libraries/botbuilder-dialogs-declarative/etc/botbuilder-dialogs-declarative.api.md diff --git a/libraries/botbuilder-dialogs-declarative/api-extractor.json b/libraries/botbuilder-dialogs-declarative/api-extractor.json new file mode 100644 index 0000000000..8d0c99d3db --- /dev/null +++ b/libraries/botbuilder-dialogs-declarative/api-extractor.json @@ -0,0 +1,367 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "/lib/index.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [], + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + // "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" + */ + // "reportFolder": "/etc/", + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/" + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": true + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + // "untrimmedFilePath": "/dist/.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning" + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + } + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "error" + // "addToApiReportFile": false + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + // "ae-extra-release-tag": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + // "addToApiReportFile": false + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } +} diff --git a/libraries/botbuilder-dialogs-declarative/etc/botbuilder-dialogs-declarative.api.md b/libraries/botbuilder-dialogs-declarative/etc/botbuilder-dialogs-declarative.api.md new file mode 100644 index 0000000000..2fb3be9586 --- /dev/null +++ b/libraries/botbuilder-dialogs-declarative/etc/botbuilder-dialogs-declarative.api.md @@ -0,0 +1,124 @@ +## API Report File for "botbuilder-dialogs-declarative" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { FSWatcher } from 'chokidar'; + +// @public (undocumented) +export class BuilderRegistration { + constructor(name: string, builder: TypeBuilder); + // (undocumented) + builder: TypeBuilder; + // (undocumented) + name: string; +} + +// @public (undocumented) +export interface ComponentRegistration { + // (undocumented) + getTypeBuilders(): BuilderRegistration[]; +} + +// @public +export interface Converter { + // (undocumented) + convert(value: any): any; +} + +// @public (undocumented) +export class CustomTypeBuilder implements TypeBuilder { + constructor(factory: (config: object) => object); + // (undocumented) + build(config: object): object; + } + +// @public +export class FileResource extends Resource { + constructor(path: string); + readonly fullName: string; + readText(): string; +} + +// @public +export class FolderResourceProvider extends ResourceProvider { + constructor(resourceExplorer: ResourceExplorer, folder: string, includeSubFolders?: boolean, monitorChanges?: boolean); + directory: string; + getResource(id: string): Resource; + getResources(extension: string): Resource[]; + includeSubFolders: boolean; + refresh(): void; + readonly watcher: FSWatcher; + } + +// @public +export abstract class Resource { + readonly id: string; + // (undocumented) + protected _id: string; + abstract readText(): string; +} + +// @public +export enum ResourceChangeEvent { + // (undocumented) + added = "added", + // (undocumented) + changed = "changed", + // (undocumented) + removed = "removed" +} + +// @public +export class ResourceExplorer { + constructor(providers?: ResourceProvider[]); + addComponent(component: ComponentRegistration): ResourceExplorer; + addFolder(folder: string, includeSubFolders?: boolean, monitorChanges?: boolean): ResourceExplorer; + addFolders(folder: string, ignoreFolders?: string[], monitorChanges?: boolean): ResourceExplorer; + addResourceProvider(resourceProvider: ResourceProvider): ResourceExplorer; + addResourceType(type: string): void; + buildType(config: object): object; + changed: (event: ResourceChangeEvent, resources: Resource[]) => void; + getResource(id: string): Resource; + getResources(fileExtension: string): Resource[]; + loadType(resource: string | Resource): object; + // (undocumented) + protected onChanged(event: ResourceChangeEvent, resources: Resource[]): void; + refresh(): void; + readonly resourceProviders: ResourceProvider[]; + readonly resourceTypes: Set; +} + +// @public +export abstract class ResourceProvider { + constructor(resourceExplorer: ResourceExplorer); + changed: (event: ResourceChangeEvent, resources: Resource[]) => void; + abstract getResource(id: string): Resource; + abstract getResources(extension: string): Resource[]; + readonly id: string; + // (undocumented) + protected _id: string; + // (undocumented) + protected onChanged(event: ResourceChangeEvent, resources: Resource[]): void; + abstract refresh(): void; + readonly resourceExplorer: ResourceExplorer; + } + +// @public +export interface TypeBuilder { + // (undocumented) + build(config: object): object; +} + +// @public +export class TypeFactory { + // (undocumented) + build(name: string, config: object): object; + register(name: string, builder?: TypeBuilder): void; + } + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/libraries/botbuilder-dialogs-declarative/package.json b/libraries/botbuilder-dialogs-declarative/package.json index cd650722cc..eec93c788c 100644 --- a/libraries/botbuilder-dialogs-declarative/package.json +++ b/libraries/botbuilder-dialogs-declarative/package.json @@ -25,6 +25,7 @@ "jsonpath": "^1.0.0" }, "devDependencies": { + "@microsoft/api-extractor": "^7.7.12", "@types/mocha": "^5.2.7", "@types/node": "^10.17.27", "@types/jsonpath": "^0.2.0", @@ -32,13 +33,15 @@ "mocha": "^6.2.3", "nyc": "^15.1.0", "source-map-support": "^0.5.3", - "ts-node": "^4.1.0" + "ts-node": "^4.1.0", + "typescript": "3.5.3" }, "scripts": { "test": "tsc && nyc mocha tests/ --exit", "build": "tsc", "build-docs": "typedoc --theme markdown --entryPoint botbuilder-dialogs-adaptive --excludePrivate --includeDeclarations --ignoreCompilerErrors --module amd --out ..\\..\\doc\\botbuilder-dialogs .\\lib\\index.d.ts --hideGenerator --name \"Bot Builder SDK - Dialogs\" --readme none", "clean": "erase /q /s .\\lib", - "set-version": "npm version --allow-same-version ${Version}" + "set-version": "npm version --allow-same-version ${Version}", + "test:compat": "api-extractor run --verbose" } } diff --git a/libraries/botbuilder-dialogs-declarative/tsconfig.json b/libraries/botbuilder-dialogs-declarative/tsconfig.json index 9347fa6605..0874be0472 100644 --- a/libraries/botbuilder-dialogs-declarative/tsconfig.json +++ b/libraries/botbuilder-dialogs-declarative/tsconfig.json @@ -5,6 +5,7 @@ "module": "commonjs", "declaration": true, "sourceMap": true, + "declarationMap": true, "outDir": "./lib", "rootDir": "./src", "types" : ["node"] From 6176e58e5d7b1b76c04dc4defb46cdfd51ba3405 Mon Sep 17 00:00:00 2001 From: Zichuan Ma Date: Wed, 2 Sep 2020 16:18:27 +0800 Subject: [PATCH 3/3] enabled api-extractor in botbuilder-dialogs-adaptive-testing --- .../api-extractor.json | 367 ++++++++++++++++++ ...botbuilder-dialogs-adaptive-testing.api.md | 173 +++++++++ .../package.json | 9 +- .../tsconfig.json | 3 +- 4 files changed, 549 insertions(+), 3 deletions(-) create mode 100644 libraries/botbuilder-dialogs-adaptive-testing/api-extractor.json create mode 100644 libraries/botbuilder-dialogs-adaptive-testing/etc/botbuilder-dialogs-adaptive-testing.api.md diff --git a/libraries/botbuilder-dialogs-adaptive-testing/api-extractor.json b/libraries/botbuilder-dialogs-adaptive-testing/api-extractor.json new file mode 100644 index 0000000000..8d0c99d3db --- /dev/null +++ b/libraries/botbuilder-dialogs-adaptive-testing/api-extractor.json @@ -0,0 +1,367 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "/lib/index.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [], + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + // "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" + */ + // "reportFolder": "/etc/", + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/" + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": true + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + // "untrimmedFilePath": "/dist/.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning" + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + } + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "error" + // "addToApiReportFile": false + }, + + "ae-missing-release-tag": { + "logLevel": "none" + } + // "ae-extra-release-tag": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + // "addToApiReportFile": false + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } +} diff --git a/libraries/botbuilder-dialogs-adaptive-testing/etc/botbuilder-dialogs-adaptive-testing.api.md b/libraries/botbuilder-dialogs-adaptive-testing/etc/botbuilder-dialogs-adaptive-testing.api.md new file mode 100644 index 0000000000..db63ba3cfa --- /dev/null +++ b/libraries/botbuilder-dialogs-adaptive-testing/etc/botbuilder-dialogs-adaptive-testing.api.md @@ -0,0 +1,173 @@ +## API Report File for "botbuilder-dialogs-adaptive-testing" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { Activity } from 'botbuilder-core'; +import { BotAdapter } from 'botbuilder-core'; +import { ConversationReference } from 'botbuilder-core'; +import { Dialog } from 'botbuilder-dialogs'; +import { DialogContext } from 'botbuilder-dialogs'; +import { DialogExpression } from 'botbuilder-dialogs-adaptive'; +import { DialogTurnResult } from 'botbuilder-dialogs'; +import { Expression } from 'adaptive-expressions'; +import { IActivity } from 'botbuilder-core'; +import { IUserTokenProvider } from 'botbuilder-core'; +import { Middleware } from 'botbuilder-core'; +import { ResourceExplorer } from 'botbuilder-dialogs-declarative'; +import { ResourceResponse } from 'botbuilder-core'; +import { StringExpression } from 'adaptive-expressions'; +import { TokenResponse } from 'botbuilder-core'; +import { TurnContext } from 'botbuilder-core'; + +// @public (undocumented) +export class AdaptiveTestAdapter extends BotAdapter implements IUserTokenProvider { + constructor(conversation?: ConversationReference, sendTraceActivity?: boolean); + activeQueue: Activity[]; + addUserToken(connectionName: string, channelId: string, userId: string, token: string, magicCode?: string): void; + continueConversation(reference: Partial, logic: (revocableContext: TurnContext) => Promise): Promise; + conversation: ConversationReference; + static createConversation(name: string, user?: string, bot?: string): ConversationReference; + deleteActivity(context: TurnContext, reference: ConversationReference): Promise; + get enableTrace(): boolean; + set enableTrace(value: boolean); + getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[]): Promise<{ + [propertyName: string]: TokenResponse; + }>; + getNextReply(): IActivity; + getSignInLink(context: TurnContext, connectionName: string): Promise; + getTokenStatus(context: TurnContext, userId: string, includeFilter?: string, oAuthAppCredentials?: any): Promise<[any]>; + getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise; + locale: string; + makeActivity(text?: string): Activity; + processActivity(activity: Activity, callback: (context: TurnContext) => Promise): Promise; + sendActivities(context: TurnContext, activities: Activity[]): Promise; + sendTextToBot(userSays: string, callback: (context: TurnContext) => Promise): Promise; + signOutUser(context: TurnContext, connectionName: string): Promise; + updateActivity(context: TurnContext, activity: Activity): Promise; + use(middleware: Middleware): this; + } + +// @public (undocumented) +export class AssertCondition extends Dialog { + // (undocumented) + beginDialog(dc: DialogContext, options?: O): Promise; + condition: Expression; + description: StringExpression; + // (undocumented) + protected onComputeId(): string; +} + +// @public (undocumented) +export class AssertReply extends AssertReplyActivity { + exact: boolean; + // (undocumented) + getConditionDescription(): string; + text: string; + // (undocumented) + validateReply(activity: Activity): void; +} + +// @public (undocumented) +export class AssertReplyActivity implements TestAction { + assertions: string[]; + description: string; + // (undocumented) + execute(testAdapter: AdaptiveTestAdapter, callback: (context: TurnContext) => Promise): Promise; + // (undocumented) + getConditionDescription(): string; + timeout: number; + // (undocumented) + validateReply(activity: Activity): void; +} + +// @public (undocumented) +export class AssertReplyOneOf extends AssertReplyActivity { + exact: boolean; + // (undocumented) + getConditionDescription(): string; + text: string[]; + // (undocumented) + validateReply(activity: Activity): void; +} + +// @public (undocumented) +export interface TestAction { + // (undocumented) + execute(adapter: AdaptiveTestAdapter, callback: (context: TurnContext) => Promise): any; +} + +// @public (undocumented) +export class TestRunner { + constructor(resourcePath: string); + // (undocumented) + runTestScript(testName: string): Promise; + } + +// @public (undocumented) +export class TestScript { + description: string; + dialog: DialogExpression; + enableTrace: boolean; + execute(resourceExplorer: ResourceExplorer, testName?: string, testAdapter?: AdaptiveTestAdapter): Promise; + locale: string; + script: TestAction[]; +} + +// @public (undocumented) +export class UserActivity implements TestAction { + activity: Activity; + // (undocumented) + execute(testAdapter: AdaptiveTestAdapter, callback: (context: TurnContext) => Promise): Promise; + user: string; +} + +// @public (undocumented) +export interface UserActivityConfiguration { + // (undocumented) + activity?: Activity; + // (undocumented) + user?: string; +} + +// @public (undocumented) +export class UserConversationUpdate implements TestAction { + // (undocumented) + execute(testAdapter: AdaptiveTestAdapter, callback: (context: TurnContext) => Promise): Promise; + membersAdded: string[]; + membersRemoved: string[]; +} + +// @public (undocumented) +export class UserDelay implements TestAction { + // (undocumented) + execute(_testAdapter: AdaptiveTestAdapter, _callback: (context: TurnContext) => Promise): Promise; + timespan: number; +} + +// @public (undocumented) +export interface UserDelayConfiguration { + // (undocumented) + timespan?: number; +} + +// @public (undocumented) +export class UserSays implements TestAction { + // (undocumented) + execute(testAdapter: AdaptiveTestAdapter, callback: (context: TurnContext) => Promise): Promise; + text: string; + user: string; +} + +// @public (undocumented) +export class UserTyping implements TestAction { + // (undocumented) + execute(testAdapter: AdaptiveTestAdapter, callback: (context: TurnContext) => Promise): Promise; + user: string; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/libraries/botbuilder-dialogs-adaptive-testing/package.json b/libraries/botbuilder-dialogs-adaptive-testing/package.json index 95afd4ee67..45269eb75a 100644 --- a/libraries/botbuilder-dialogs-adaptive-testing/package.json +++ b/libraries/botbuilder-dialogs-adaptive-testing/package.json @@ -5,8 +5,11 @@ "scripts": { "test": "tsc && mocha tests/*.test.js", "build": "tsc", - "set-version": "npm version --allow-same-version ${Version}" + "set-version": "npm version --allow-same-version ${Version}", + "test:compat": "api-extractor run --verbose" }, + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", "dependencies": { "botbuilder-core": "4.1.6", "botbuilder-dialogs": "4.1.6", @@ -15,9 +18,11 @@ "adaptive-expressions": "4.1.6" }, "devDependencies": { + "@microsoft/api-extractor": "^7.7.12", "@types/mocha": "^5.2.7", "nock": "^11.9.1", - "mocha": "^6.2.3" + "mocha": "^6.2.3", + "typescript": "3.5.3" }, "author": "Microsoft", "license": "MIT" diff --git a/libraries/botbuilder-dialogs-adaptive-testing/tsconfig.json b/libraries/botbuilder-dialogs-adaptive-testing/tsconfig.json index fbaca4016d..3b9c0d6d6d 100644 --- a/libraries/botbuilder-dialogs-adaptive-testing/tsconfig.json +++ b/libraries/botbuilder-dialogs-adaptive-testing/tsconfig.json @@ -5,7 +5,8 @@ "module": "commonjs", "declaration": true, "sourceMap": true, - "outDir": "lib", + "declarationMap": true, + "outDir": "./lib", "rootDir": "./src", "types": [ "node"