botium-core 1.15.10 → 1.15.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/botium-cjs.js +91 -51
- package/dist/botium-cjs.js.map +1 -1
- package/dist/botium-es.js +91 -50
- package/dist/botium-es.js.map +1 -1
- package/package.json +35 -40
- package/src/BotDriver.js +1 -1
- package/src/Events.js +1 -3
- package/src/containers/GridContainer.js +0 -4
- package/src/mocks/BotiumMockScripting.js +3 -0
- package/src/scripting/Convo.js +10 -0
- package/src/utils/boolean.js +39 -0
- package/test/compiler/compilercsv.spec.js +34 -0
- package/test/compiler/compilermarkdown.spec.js +11 -0
- package/test/compiler/compilertxt.spec.js +21 -0
- package/test/compiler/compilerxlsx.spec.js +27 -0
- package/test/compiler/precompilerjson.spec.js +1 -0
- package/test/compiler/precompilermarkdownrasa.spec.js +1 -0
- package/test/connectors/pluginconnectorcontainer.spec.js +1 -0
- package/test/connectors/simplerest.spec.js +3 -1
- package/test/convo/failure.spec.js +1 -0
- package/test/convo/fillAndApplyScriptingMemory.spec.js +56 -0
- package/test/convo/partialconvo.spec.js +3 -0
- package/test/convo/retry.spec.js +9 -0
- package/test/convo/retryasserter.spec.js +9 -0
- package/test/convo/transcript.spec.js +33 -0
- package/test/convo/tree.spec.js +5 -0
- package/test/driver/capabilities.spec.js +16 -0
- package/test/helpers/capabilitiesutils.spec.js +8 -0
- package/test/helpers/transcriptutils.spec.js +1 -0
- package/test/hooks/customhooks.spec.js +3 -0
- package/test/logichooks/hookfromsrc.spec.js +3 -0
- package/test/logichooks/textfromhook.spec.js +1 -0
- package/test/plugins/plugins.spec.js +3 -0
- package/test/scripting/asserters/buttonsAsserter.spec.js +15 -0
- package/test/scripting/asserters/cardsAsserter.spec.js +12 -0
- package/test/scripting/asserters/convoStepParameters.spec.js +11 -0
- package/test/scripting/asserters/entitiesAsserter.spec.js +1 -0
- package/test/scripting/asserters/entityValuesAsserter.spec.js +7 -0
- package/test/scripting/asserters/formsAsserter.spec.js +10 -0
- package/test/scripting/asserters/intentAsserter.spec.js +4 -0
- package/test/scripting/asserters/intentUniqueAsserter.spec.js +2 -0
- package/test/scripting/asserters/jsonpathAsserter.spec.js +25 -0
- package/test/scripting/asserters/mediaAsserter.spec.js +20 -0
- package/test/scripting/asserters/responseLengthAsserter.spec.js +4 -0
- package/test/scripting/asserters/textAsserter.spec.js +1 -0
- package/test/scripting/asserters/textContainsAllAsserter.spec.js +1 -0
- package/test/scripting/asserters/textContainsAnyAsserter.spec.js +1 -0
- package/test/scripting/asserters/textEqualsAsserter.spec.js +1 -0
- package/test/scripting/asserters/textRegexpAllAsserter.spec.js +1 -0
- package/test/scripting/asserters/textRegexpAnyAsserter.spec.js +1 -0
- package/test/scripting/asserters/textWildcardAllAsserter.spec.js +1 -0
- package/test/scripting/asserters/textWildcardAnyAsserter.spec.js +1 -0
- package/test/scripting/asserters/textWildcardExactAllAsserter.spec.js +1 -0
- package/test/scripting/asserters/textWildcardExactAnyAsserter.spec.js +1 -0
- package/test/scripting/asserters/werAsserter.spec.js +6 -0
- package/test/scripting/logichooks/convos/scripting_memory_resolved_args.convo.txt +11 -0
- package/test/scripting/logichooks/customConditionalStepLogicHook.spec.js +2 -0
- package/test/scripting/logichooks/localvsglobal.spec.js +1 -0
- package/test/scripting/logichooks/pauseLogic.spec.js +4 -0
- package/test/scripting/logichooks/setClearScriptingMemory.spec.js +17 -0
- package/test/scripting/logichooks/updateCustom.spec.js +2 -0
- package/test/scripting/matching/matchingmode.spec.js +48 -0
- package/test/scripting/scriptingModificator.spec.js +1 -0
- package/test/scripting/scriptingmemory/fillScriptingMemoryFromFile.spec.js +4 -0
- package/test/scripting/scriptingmemory/regexp.spec.js +1 -0
- package/test/scripting/scriptingmemory/useScriptingMemoryForAssertion.spec.js +3 -0
- package/test/scripting/txt/decompile.spec.js +20 -0
- package/test/scripting/userinputs/buttonInputConvos.spec.js +1 -0
- package/test/scripting/userinputs/defaultUserInputs.spec.js +13 -0
- package/test/scripting/userinputs/mediaInputConvos.spec.js +10 -0
- package/test/scripting/utteranceexpansion/associateByIndex.spec.js +2 -0
- package/test/security/allowUnsafe.spec.js +5 -0
- package/test/utils.spec.js +2 -0
- package/samples/postman/Botium Agent Sample.postman_collection.json +0 -834
- package/samples/postman/README.md +0 -5
- package/samples/postman/botiumFluent.js +0 -37
- package/src/grid/agent/AgentWorker.js +0 -204
- package/src/grid/agent/agent.js +0 -96
- package/src/grid/agent/agentworkerpool.js +0 -58
- package/src/grid/agent/routes.js +0 -353
- package/src/grid/agent/swagger.json +0 -327
- package/src/grid/agent/swaggerDef.json +0 -8
- package/src/grid/agent/views/index.html +0 -39
- package/test/grid/agent/client.js +0 -65
package/dist/botium-cjs.js
CHANGED
|
@@ -12,7 +12,6 @@ var sanitizeFilename = require('sanitize-filename');
|
|
|
12
12
|
var moment = require('moment');
|
|
13
13
|
var randomatic = require('randomatic');
|
|
14
14
|
var lodash = require('lodash');
|
|
15
|
-
var boolean$1 = require('boolean');
|
|
16
15
|
var events = require('events');
|
|
17
16
|
var debug$o = require('debug');
|
|
18
17
|
var isClass = require('is-class');
|
|
@@ -50,7 +49,6 @@ var sanitizeFilename__default = /*#__PURE__*/_interopDefaultLegacy(sanitizeFilen
|
|
|
50
49
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
51
50
|
var randomatic__default = /*#__PURE__*/_interopDefaultLegacy(randomatic);
|
|
52
51
|
var lodash__default = /*#__PURE__*/_interopDefaultLegacy(lodash);
|
|
53
|
-
var boolean__default = /*#__PURE__*/_interopDefaultLegacy(boolean$1);
|
|
54
52
|
var events__default = /*#__PURE__*/_interopDefaultLegacy(events);
|
|
55
53
|
var debug__default = /*#__PURE__*/_interopDefaultLegacy(debug$o);
|
|
56
54
|
var isClass__default = /*#__PURE__*/_interopDefaultLegacy(isClass);
|
|
@@ -76,8 +74,49 @@ var undici__default = /*#__PURE__*/_interopDefaultLegacy(undici);
|
|
|
76
74
|
var express__default = /*#__PURE__*/_interopDefaultLegacy(express);
|
|
77
75
|
var bodyParser__default = /*#__PURE__*/_interopDefaultLegacy(bodyParser);
|
|
78
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Converts a value to a boolean.
|
|
79
|
+
* Similar to the 'boolean' npm package implementation.
|
|
80
|
+
*
|
|
81
|
+
* @param {*} value - The value to convert to boolean
|
|
82
|
+
* @returns {boolean} The boolean representation of the value
|
|
83
|
+
*/
|
|
84
|
+
function boolean$1(value) {
|
|
85
|
+
// Handle null and undefined
|
|
86
|
+
if (value == null) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Handle boolean values
|
|
91
|
+
if (typeof value === 'boolean') {
|
|
92
|
+
return value;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Handle numbers
|
|
96
|
+
if (typeof value === 'number') {
|
|
97
|
+
return value !== 0 && !isNaN(value);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Handle strings
|
|
101
|
+
if (typeof value === 'string') {
|
|
102
|
+
const normalized = value.trim().toLowerCase();
|
|
103
|
+
if (normalized === 'true' || normalized === 'yes' || normalized === 'on' || normalized === '1') {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
if (normalized === 'false' || normalized === 'no' || normalized === 'off' || normalized === '0' || normalized === '') {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// For all other values, use JavaScript's truthiness
|
|
112
|
+
return Boolean(value);
|
|
113
|
+
}
|
|
114
|
+
var boolean_1 = {
|
|
115
|
+
boolean: boolean$1
|
|
116
|
+
};
|
|
117
|
+
|
|
79
118
|
var name = "botium-core";
|
|
80
|
-
var version$1 = "1.15.
|
|
119
|
+
var version$1 = "1.15.13";
|
|
81
120
|
var description = "The Selenium for Chatbots";
|
|
82
121
|
var main = "index.js";
|
|
83
122
|
var module$1 = "dist/botium-es.js";
|
|
@@ -90,8 +129,6 @@ var scripts = {
|
|
|
90
129
|
eslint: "eslint \"./src/**/*.js\" \"./test/**/*.js\"",
|
|
91
130
|
"eslint-fix": "eslint --fix \"./src/**/*.js\" \"./test/**/*.js\"",
|
|
92
131
|
newpatch: "npm version patch",
|
|
93
|
-
agent: "node ./src/grid/agent/agent.js",
|
|
94
|
-
"agent-jsdoc": "swagger-jsdoc -d ./src/grid/agent/swaggerDef.json -o ./src/grid/agent/swagger.json ./src/grid/agent/routes.js",
|
|
95
132
|
link: "npm link botium-connector-dialogflow botium-connector-webdriverio botium-connector-directline3 botium-connector-watson botium-connector-alexa-smapi botium-connector-echo",
|
|
96
133
|
test: "cross-env NODE_PATH=\"./test/plugins/plugindir/fromfolder:./test/plugins/plugindir/fromfile:./test/security/resources\" mocha \"./test/**/*.spec.js\"",
|
|
97
134
|
"coverage:report": "nyc report --reporter=lcov npm test",
|
|
@@ -108,66 +145,63 @@ var bugs = {
|
|
|
108
145
|
};
|
|
109
146
|
var homepage = "https://www.botium.ai";
|
|
110
147
|
var dependencies = {
|
|
111
|
-
"@babel/runtime": "^7.
|
|
112
|
-
async: "^3.2.
|
|
113
|
-
"body-parser": "^
|
|
114
|
-
boolean: "^3.2.0",
|
|
148
|
+
"@babel/runtime": "^7.28.6",
|
|
149
|
+
async: "^3.2.6",
|
|
150
|
+
"body-parser": "^2.2.2",
|
|
115
151
|
bottleneck: "^2.19.5",
|
|
116
|
-
"csv-parse": "^
|
|
117
|
-
debug: "^4.3
|
|
118
|
-
express: "^
|
|
152
|
+
"csv-parse": "^6.1.0",
|
|
153
|
+
debug: "^4.4.3",
|
|
154
|
+
express: "^5.2.1",
|
|
119
155
|
globby: "11.0.4",
|
|
120
|
-
ioredis: "^5.
|
|
156
|
+
ioredis: "^5.10.0",
|
|
121
157
|
"is-class": "^0.0.9",
|
|
122
158
|
"is-json": "^2.0.1",
|
|
123
|
-
jsonpath: "^1.
|
|
124
|
-
lodash: "^4.17.
|
|
125
|
-
"markdown-it": "^14.
|
|
126
|
-
"mime-types": "^
|
|
159
|
+
jsonpath: "^1.3.0",
|
|
160
|
+
lodash: "^4.17.23",
|
|
161
|
+
"markdown-it": "^14.1.1",
|
|
162
|
+
"mime-types": "^3.0.2",
|
|
127
163
|
mkdirp: "^3.0.1",
|
|
128
164
|
moment: "^2.30.1",
|
|
129
|
-
"moment-timezone": "^0.
|
|
165
|
+
"moment-timezone": "^0.6.0",
|
|
130
166
|
mustache: "^4.2.0",
|
|
131
167
|
"promise-retry": "^2.0.1",
|
|
132
168
|
"promise.allsettled": "^1.0.7",
|
|
133
169
|
randomatic: "^3.1.1",
|
|
134
|
-
rimraf: "^
|
|
170
|
+
rimraf: "^6.1.3",
|
|
135
171
|
"sanitize-filename": "^1.6.3",
|
|
136
172
|
slugify: "^1.6.6",
|
|
137
|
-
"socket.io": "^4.
|
|
138
|
-
"socket.io-client": "^4.
|
|
173
|
+
"socket.io": "^4.8.3",
|
|
174
|
+
"socket.io-client": "^4.8.3",
|
|
139
175
|
"socketio-auth": "^0.1.1",
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
tinyglobby: "^0.2.10",
|
|
143
|
-
undici: "^6.21.0",
|
|
176
|
+
tinyglobby: "^0.2.15",
|
|
177
|
+
undici: "^7.22.0",
|
|
144
178
|
uuid: "^9.0.1",
|
|
145
179
|
"word-error-rate": "0.0.7",
|
|
146
180
|
"write-yaml": "^1.0.0",
|
|
147
181
|
xlsx: "^0.18.5",
|
|
148
|
-
xregexp: "^5.1.
|
|
149
|
-
yaml: "^2.
|
|
182
|
+
xregexp: "^5.1.2",
|
|
183
|
+
yaml: "^2.8.2"
|
|
150
184
|
};
|
|
151
185
|
var devDependencies = {
|
|
152
|
-
"@babel/core": "^7.
|
|
153
|
-
"@babel/node": "^7.
|
|
154
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
155
|
-
"@babel/preset-env": "^7.
|
|
186
|
+
"@babel/core": "^7.29.0",
|
|
187
|
+
"@babel/node": "^7.29.0",
|
|
188
|
+
"@babel/plugin-transform-runtime": "^7.29.0",
|
|
189
|
+
"@babel/preset-env": "^7.29.0",
|
|
156
190
|
chai: "4.3.10",
|
|
157
|
-
"chai-as-promised": "^7.1.
|
|
158
|
-
"cross-env": "^
|
|
159
|
-
eslint: "^8.
|
|
191
|
+
"chai-as-promised": "^7.1.2",
|
|
192
|
+
"cross-env": "^10.1.0",
|
|
193
|
+
eslint: "^8.57.1",
|
|
160
194
|
"eslint-config-standard": "^17.1.0",
|
|
161
|
-
"eslint-plugin-import": "^2.
|
|
162
|
-
"eslint-plugin-mocha": "^10.
|
|
195
|
+
"eslint-plugin-import": "^2.32.0",
|
|
196
|
+
"eslint-plugin-mocha": "^10.5.0",
|
|
163
197
|
"eslint-plugin-n": "^16.6.2",
|
|
164
|
-
"eslint-plugin-promise": "^6.
|
|
198
|
+
"eslint-plugin-promise": "^6.6.0",
|
|
165
199
|
"eslint-plugin-standard": "^4.1.0",
|
|
166
|
-
mocha: "^
|
|
167
|
-
nock: "^14.0.
|
|
168
|
-
"npm-check-updates": "^
|
|
169
|
-
nyc: "^
|
|
170
|
-
rollup: "2.
|
|
200
|
+
mocha: "^11.7.5",
|
|
201
|
+
nock: "^14.0.11",
|
|
202
|
+
"npm-check-updates": "^19.6.3",
|
|
203
|
+
nyc: "^18.0.0",
|
|
204
|
+
rollup: "2.80.0",
|
|
171
205
|
"rollup-plugin-babel": "^4.4.0",
|
|
172
206
|
"rollup-plugin-commonjs": "^10.1.0",
|
|
173
207
|
"rollup-plugin-json": "^4.0.0",
|
|
@@ -901,9 +935,7 @@ var Events = {
|
|
|
901
935
|
MESSAGE_RECEIVEDFROMBOT: 'MESSAGE_RECEIVEDFROMBOT',
|
|
902
936
|
MESSAGE_RECEIVEFROMBOT_ERROR: 'MESSAGE_RECEIVEFROMBOT_ERROR',
|
|
903
937
|
MESSAGE_ATTACHMENT: 'MESSAGE_ATTACHMENT',
|
|
904
|
-
MESSAGE_TRANSCRIPT: 'MESSAGE_TRANSCRIPT'
|
|
905
|
-
// Botium Agent Events
|
|
906
|
-
TOOMUCHWORKERS_ERROR: 'TOOMUCHWORKERS_ERROR'
|
|
938
|
+
MESSAGE_TRANSCRIPT: 'MESSAGE_TRANSCRIPT'
|
|
907
939
|
};
|
|
908
940
|
Events.CONTAINER_BUILDING;
|
|
909
941
|
Events.CONTAINER_BUILT;
|
|
@@ -925,7 +957,6 @@ Events.MESSAGE_RECEIVEDFROMBOT;
|
|
|
925
957
|
Events.MESSAGE_RECEIVEFROMBOT_ERROR;
|
|
926
958
|
Events.MESSAGE_ATTACHMENT;
|
|
927
959
|
Events.MESSAGE_TRANSCRIPT;
|
|
928
|
-
Events.TOOMUCHWORKERS_ERROR;
|
|
929
960
|
|
|
930
961
|
function commonjsRequire () {
|
|
931
962
|
throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');
|
|
@@ -1539,18 +1570,21 @@ class BotiumMockAsserter$1 {
|
|
|
1539
1570
|
this.name = fromJson.name;
|
|
1540
1571
|
this.args = lodash__default["default"].cloneDeep(fromJson.args);
|
|
1541
1572
|
this.not = fromJson.not;
|
|
1573
|
+
this.resolvedArgs = fromJson.resolvedArgs || null;
|
|
1542
1574
|
}
|
|
1543
1575
|
}
|
|
1544
1576
|
class BotiumMockUserInput$1 {
|
|
1545
1577
|
constructor(fromJson = {}) {
|
|
1546
1578
|
this.name = fromJson.name;
|
|
1547
1579
|
this.args = lodash__default["default"].cloneDeep(fromJson.args);
|
|
1580
|
+
this.resolvedArgs = fromJson.resolvedArgs || null;
|
|
1548
1581
|
}
|
|
1549
1582
|
}
|
|
1550
1583
|
class BotiumMockLogicHook$1 {
|
|
1551
1584
|
constructor(fromJson = {}) {
|
|
1552
1585
|
this.name = fromJson.name;
|
|
1553
1586
|
this.args = lodash__default["default"].cloneDeep(fromJson.args);
|
|
1587
|
+
this.resolvedArgs = fromJson.resolvedArgs || null;
|
|
1554
1588
|
}
|
|
1555
1589
|
}
|
|
1556
1590
|
var BotiumMockScripting = {
|
|
@@ -3533,6 +3567,16 @@ class Convo$6 {
|
|
|
3533
3567
|
} finally {
|
|
3534
3568
|
if (convoStep.sender !== 'begin' && convoStep.sender !== 'end' && !skipTranscriptStep) {
|
|
3535
3569
|
transcriptStep.scriptingMemory = Object.assign({}, scriptingMemory);
|
|
3570
|
+
if (container.caps[Capabilities.SCRIPTING_ENABLE_MEMORY] && transcriptStep.expected) {
|
|
3571
|
+
const _resolveItemArgs = items => {
|
|
3572
|
+
(items || []).forEach(item => {
|
|
3573
|
+
item.resolvedArgs = ScriptingMemory.applyToArgs(item.args, scriptingMemory, container.caps);
|
|
3574
|
+
});
|
|
3575
|
+
};
|
|
3576
|
+
_resolveItemArgs(transcriptStep.expected.asserters);
|
|
3577
|
+
_resolveItemArgs(transcriptStep.expected.logicHooks);
|
|
3578
|
+
_resolveItemArgs(transcriptStep.expected.userInputs);
|
|
3579
|
+
}
|
|
3536
3580
|
transcriptStep.stepEnd = new Date();
|
|
3537
3581
|
transcriptSteps.push(transcriptStep);
|
|
3538
3582
|
}
|
|
@@ -7809,10 +7853,6 @@ var GridContainer_1 = class GridContainer extends BaseContainer_1 {
|
|
|
7809
7853
|
debug$6(`unauthorized ${err.message}`);
|
|
7810
7854
|
socketComplete(`Grid Access not authorized: ${err.message}`);
|
|
7811
7855
|
});
|
|
7812
|
-
this.socket.on(Events.TOOMUCHWORKERS_ERROR, err => {
|
|
7813
|
-
debug$6(`TOOMUCHWORKERS_ERROR ${err.message}`);
|
|
7814
|
-
socketComplete(`Grid Access not possible: ${err.message}`);
|
|
7815
|
-
});
|
|
7816
7856
|
this.socket.on(Events.CONTAINER_BUILT, () => {
|
|
7817
7857
|
debug$6(Events.CONTAINER_BUILT);
|
|
7818
7858
|
socketComplete();
|
|
@@ -9443,7 +9483,7 @@ const {
|
|
|
9443
9483
|
} = rimraf__default["default"];
|
|
9444
9484
|
const {
|
|
9445
9485
|
boolean
|
|
9446
|
-
} =
|
|
9486
|
+
} = boolean_1;
|
|
9447
9487
|
const debug$1 = debug__default["default"]('botium-core-BotDriver');
|
|
9448
9488
|
const {
|
|
9449
9489
|
version
|