v4.6.0 Release Notes
Bot Framework Consolidated Command Line Interface
We are happy to announce the first release the consolidated Bot Framework Command Line Interface (BF CLI) along with Bot Framework SDK Version 4.6.
BF CLI is based on Node.js platform and OClif framework where it inherits its command line parsing style, and plugin architecture platform.
Upon the first General Availability release, the BF CLI consolidates the following standalone tools into a single CLI.
Porting Map
Commands invoked by BF [New Command] as follows:
New Command | Old Tool(s) | Status |
---|---|---|
chatdown | Chatdown | GA |
qnamaker | QnAMaker | GA |
luis/qnamaker:convert, luis/qnamaker:translate | LuDown | GA |
luis:generate | LuisGen | GA |
Future Commands
We plan to port over (and extend) the following commands:
New Command | Old Tool(s) |
---|---|
luis:... | LUIS (api) |
lg | MSLG |
dispatch | Dispatch |
dialog | Dialog (internal) |
The old tools will be deprecated in subsequent releases. All new investments, bug fixes, and new features will be implemented in the new consolidated BF CLI alone.
Porting Highlights
Chatdown
- Chatdown functionality in BF CLI is primarily under chatdown:convert
- Arguments were ported to flags form
- Static flag was renamed to stamp
- Allow scanning of directory without glob expression
- Improved error handling
- Pipe STDIN input is accepted when --in flag is expected but not specified
QnA Maker:
- QnaMaker port to BF CLI as bf qnamaker
- Reverse format of qnamaker commands from [subject|verb] to [verb|subject]
- Gov environment is now supported by use of endpoint overwrite
- Pipe STDIN input is accepted when --in flag is expected but not specified
Config:
- All settings are now stored in the global bf config store for all command groups
Lu:
- Ludown was ported over into bf luis:convert, qnamaker:convert, luis:translate and qnamaker:translate
- Improved error handling
- Added a new nDepth entity support in lu format
- File extension separated into .lu for Luis, and .qna for QnAMaker
- Updated Luis schema version 5
- Pipe STDIN input is accepted when --in flag is expected but not specified
- Decoupled Disk I/O operations as mandatory for lu transform
- New support in lu format: Model as a feature to other models
- New .lu file capability: Ability to tie features to a specific model
- New entity definition support in LU file format.
- Address ludown automatically by adding pattern as an utterance
- Fix a regression with prebuilt entity references in patterns.
- Improved ludown sort
- General quality improvement
Luis Gen
- Luisgen was ported to BF CLI as bf luis:generate:ts and bf luis:generate:cs
Developer Experience:
- Added auto-generated dev documentation
- Error handling is now part of command base class
- Added automatic command usage telemetry (if user opted in)
- Now using Promise for STDIN input stream in main command with timeout protection
- Global hooks in CLI for version update and telemetry status