* Added function scope, for managing variables inside functions
* Add response streaming to the test view rest handler
* Registered PHP `sleep()` and `usleep()` functions.
* Other minor enhancements
- Registered PHP
array_map()
andstr_word_count()
functions. - Added the Function Element, allowing you to define a function using Convoworks elements and expose it as a function in the expression language.
- Fixed the preview for the For Loop element.
- Registered PHP
constant()
function. - Minor fixes
- Registered PHP
array_reverse()
function. - Log element now accepts log level and has ability to dump response in the test view
- Registered
call_user_func_array()
as a custom function. - Fixed calls to
call_user_func()
that had no arguments.
- Force no body for GET requests in the Http Query Element
- Fix detection of indexed arrays in the
call_user_func()
- Registered PHP functions in the core package:
is_string()
,is_float()
,is_long()
,is_countable()
,is_null()
.
- Corrected default values in function definitions.
- Fixed complex array key settings.
- Implemented a check for the existence of required packages during service import.
- Registered PHP
function_exists()
function.
- Registered PHP functions in the core package:
rawurlencode()
,base64_encode()
,hash_hmac()
,uniqid()
,http_build_query()
. - Registered
call_user_func()
as a custom function. The difference is that arguments are passed as a single array (not spread). - Added
parse_csv_file()
custom function, which internally usesfgetcsv()
.
- Allow fragments to include themselves.
- Register PHP functions in the core package:
preg_replace()
,array_diff()
,htmlentities()
,htmlspecialchars()
,html_entity_decode()
. - Register custom function in the core package:
html_to_markdown()
. - Allow HTML in text message responses.
- Add round() and number_format() functions
- Use json encode and decode functions directly
- Add failback flow to the special role processor
- Add support for additional internal platforms
- Register is_object() and array_keys() PHP functions
- Fix args (assoc array) passed as string to be evaluated
- Check if field exists when parsing complex keys
- Add unlink() and set_time_limit() PHP function
- Add parse_url() PHP function
- Add array_slice() and array_chunk() PHP functions
- Do not load definitions (templates, intents) until required
- Fix missing default failback handling
- Add $_POST, $_GET and othe server variables to the evaluation context
- Fix setting deep values with expression language
- Add unregister platform endpoint
- Add IRestPlatform
- Add filter_var() and print_r() PHP functions
- Add timezone aware request interface
- Use separate convo chat request
- Fix web chat request parameters
- Test chat now can reset session
- Few preview related changes
- Added file contents and json encoding PHP functions
- Added findAncestor() to the service components interface
- Added
postalAddress
system entity - Fix text filters to accept 0 and allow them to evaluate search string
- Correct http query element body evaluation
- Sanitize missed index in the SeekAudioPlaybackBySearch
- Fixed type safety in evaluation context
- Added ability to parse (modify) slot values with EntityModel
- Do not activate filter if slot is empty - ""
- Support for the External platforms through packages
- Delegate session start calls to default state (first) if elements or processors are empty
- Added support for Dialogflow ES
- Added support for Alexa location services
- Several improvements in audio player
- Speed up package access
- Added event dispatcher and conversation request event
- Added support for Radio station streaming
- Added new block type - Voice PIN Confirmation block
- Added support for Alexa dialogue delegation
- Fixed collection skipping optional elements
- Add optional element interface to the run once element
- Consider value "?" as empty value in Convo Intent Reader
- Add functions
array_filter
,serialize
,unserialize
,empty
- Fix help file loading
- Cache variables so that they don't have to be constantly re-evaluated
- Improvements to logging
- Take slots into consideration when checking
disabled
inConvoIntentReader
- Add new element - Element Generator
- Iterates over a given collection and for each item, creates an instance of its child element
- Add
implode()
to core functions - Add ability to remove a child
- Expand list of allowed characters in Amazon Alexa utterances
- Add new element - Simple Card
- Add ability to fast forward and rewind audio playback
- Add ability to seek playback via search
- Get access token from person object in Alexa Request if available
- Add support for Person Profile API in
GetAmazonCustomerProfileElement
- Add
AmazonCommandRequest::getPersonId
- Change default value for
ConvoIntentReader::required_slots
from empty string""
to empty array[]
- Quickfix for splitting example phrases in Alexa configuration
- Make splitting backwards compatible with the old method of splitting at semicolons
- Required slots now have a special editor type
- Split example phrases by line and trim them
- Update standard for describing status variables
- New element - Element Queue
- Accept template when creating service from file
- Fix exception type in AlexaRemindersApi
- Add support for Alexa Reminders API
- Add new expression function
parse_date_time
which interpolates incoming date formats provided by platform slots - Expose service contexts inside service runtime -- accessible as
${contexts[contextId]}
- Accept template file on service import
- Add ability to download service as a template
- Various bugfixes and improvements
- Pre-dispatch flow only in session start block (fix wrong interface allowed)
- Allow pre-dispatch flow only in session start block
- Added a new block role - error handler
- Added a new flow for conversation blocks - pre-dispatch
- Fixed finding default block in service
- Added proxy classes for certain Symfony components
- Added new functions
date_tz
andstrtotime_tz
- Rework
GetAmazonCustomerProfileElement
to read permissions from Amazon Platform Config - Added Alexa Skill Certification status check
- Fixed Google Actions publisher
- Added a new block role - default fallback
- Added support for evaluating parameters as string
LoopElement
now uses an iterator- Add support to mark output text as both standard text and reprompt
- Add support for
context_id
editor type - Fixed empty text response issue
- Fixed how intent readers accept incoming intent requests
- Fixed
AplUserEventReader
- Added new core functions, including
relative_date
- Added Amazon account linking scopes
- Reworked Amazon value catalogs
- Added some missing preview templates
- Fixed everything resolving to strings in expression evaluation
- Fixed
RunOnce
element not setting itstriggered
state properly - Fixed
ConversationBlock
not resetting itsfailure_count
properly - Fixed Dialogflow response for lists
- Fixed get option in Dialogflow request
- Added reset loop parameter in LoopBlock
- Added loop property to element randomizer
- Added support for Alexa Permissions
- Apply service migration for default alexa skill icons feature
- Update documentation of
IURLSupplier
- Add new function relative_date
- Refactor
GetAmazonUserElement
to make api calls in api class - Catalogs now split into two interfaces
- Rework how catalog versions are stored
- Add support for Alexa In-Skill Purchases
- Add support for new property editor type
- Fix Amazon propagation
- Add
explode
function - Add the ability to use
#{}
syntax for evaluation in Generic APL Element - Loop Block now properly shows help
- New custom gzip encoding middleware
- Added User Scope to Request Scope
- Added support for Alexa APL
- Add
convo_val
function to core
- Add param evaluation to components to support raw input
- Fix content type evaluation in
BodyParserMiddleware
- Slight tweak to create service from existing method
- Add endpoint for Alexa Skill Auto Enablement
- Add ability to create service from existing export
- Remove various exceptions to make workflow less disrupting
- fix is empty method in
AmazonCommandRequest
,DefaultTextCommandRequest
andActionsCommandRequest.php
- Add
array_push
to custom functions - Overhaul expression parsing regex
- Release mapping additional check
- Fixes for
LoopElement
- Fix
last
param - Evaluate
offset
andlimit
- Fix
- Removed
keys
function
- Added Start Video Playback element
- Use Symfony 5.2
isSessionStart()
added to request interface- Smaller fixes and improvements
- default Amazon skill images fix
- Removed content-length from comonent help handler
- Added List Title and List Item as separate elements in
convo-visuals
package - Enhanced preview for visual elements
- Old list element is marked as deprecated
- IMediaSourceContext refactored, added 2 new media playing elements
- PHP functions added: stripos, strtotime, time
- Allow propagation on Alexa Distribution Information from Convoworks
- Do not allow propagation of custom intents without sample utterances to Amazon Alexa
- Add the ability to generate System Relevant URLs for the Editor
- When transferring ownership of private service, add the previous owner to service Admins
- Add New Element in Alexa Package Init Amazon User
- Minor fixes
-
Reworked data format returned from
ServiceTestHandler
- Now includes component parameters as well
-
Added
ArrayUtil::arrayFilterRecursive
-
Workflow containers now implement
getAllChildren()
-
Optional property for block container params,
_separate
- If true, a separator will be rendered after the container in the editor
- stringify value before
md5
- added missing parent constructor calls in if elements
- use
md5
to normalize service params keys
-
Overhauled preview generation
- No longer done in
PreviewBuilder::read()
, each block now creates its own preview
- No longer done in
-
add
phpseclib/bcmath_compat
incomposer.json
to fix issue with missingbccomp
function frombcmath
module -
fix service deletion
-
added function
substr
to core package -
added
ordinal
system entity -
fixed
DefaultFilterResult::isSlotEmpty()
to check empty string too (wasisset
only) -
added abilty to set predefined values for NOP filter
- new dialogflow api
- removed unused dependencies from core package definition
- Two more functions made available in expression language
- Remove faulty log statement in
IfElement
that assumed$then_result
would always be a simple string - Added
arrayDiffRecursive
function toArrayUtil
- Fixed method
isMediaRequest
inAmazonCommandReqeust
- #14
- Corrected
DialogflowPublisher
parent class arguments
- Convo request is now optional in evaluateString() process - #11
- Initial release & source import