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-es.js
CHANGED
|
@@ -8,7 +8,6 @@ import sanitizeFilename from 'sanitize-filename';
|
|
|
8
8
|
import moment from 'moment';
|
|
9
9
|
import randomatic from 'randomatic';
|
|
10
10
|
import lodash from 'lodash';
|
|
11
|
-
import boolean$1 from 'boolean';
|
|
12
11
|
import events from 'events';
|
|
13
12
|
import debug$o from 'debug';
|
|
14
13
|
import isClass from 'is-class';
|
|
@@ -34,8 +33,49 @@ import undici from 'undici';
|
|
|
34
33
|
import express from 'express';
|
|
35
34
|
import bodyParser from 'body-parser';
|
|
36
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Converts a value to a boolean.
|
|
38
|
+
* Similar to the 'boolean' npm package implementation.
|
|
39
|
+
*
|
|
40
|
+
* @param {*} value - The value to convert to boolean
|
|
41
|
+
* @returns {boolean} The boolean representation of the value
|
|
42
|
+
*/
|
|
43
|
+
function boolean$1(value) {
|
|
44
|
+
// Handle null and undefined
|
|
45
|
+
if (value == null) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Handle boolean values
|
|
50
|
+
if (typeof value === 'boolean') {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Handle numbers
|
|
55
|
+
if (typeof value === 'number') {
|
|
56
|
+
return value !== 0 && !isNaN(value);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Handle strings
|
|
60
|
+
if (typeof value === 'string') {
|
|
61
|
+
const normalized = value.trim().toLowerCase();
|
|
62
|
+
if (normalized === 'true' || normalized === 'yes' || normalized === 'on' || normalized === '1') {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if (normalized === 'false' || normalized === 'no' || normalized === 'off' || normalized === '0' || normalized === '') {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// For all other values, use JavaScript's truthiness
|
|
71
|
+
return Boolean(value);
|
|
72
|
+
}
|
|
73
|
+
var boolean_1 = {
|
|
74
|
+
boolean: boolean$1
|
|
75
|
+
};
|
|
76
|
+
|
|
37
77
|
var name = "botium-core";
|
|
38
|
-
var version$1 = "1.15.
|
|
78
|
+
var version$1 = "1.15.13";
|
|
39
79
|
var description = "The Selenium for Chatbots";
|
|
40
80
|
var main = "index.js";
|
|
41
81
|
var module = "dist/botium-es.js";
|
|
@@ -48,8 +88,6 @@ var scripts = {
|
|
|
48
88
|
eslint: "eslint \"./src/**/*.js\" \"./test/**/*.js\"",
|
|
49
89
|
"eslint-fix": "eslint --fix \"./src/**/*.js\" \"./test/**/*.js\"",
|
|
50
90
|
newpatch: "npm version patch",
|
|
51
|
-
agent: "node ./src/grid/agent/agent.js",
|
|
52
|
-
"agent-jsdoc": "swagger-jsdoc -d ./src/grid/agent/swaggerDef.json -o ./src/grid/agent/swagger.json ./src/grid/agent/routes.js",
|
|
53
91
|
link: "npm link botium-connector-dialogflow botium-connector-webdriverio botium-connector-directline3 botium-connector-watson botium-connector-alexa-smapi botium-connector-echo",
|
|
54
92
|
test: "cross-env NODE_PATH=\"./test/plugins/plugindir/fromfolder:./test/plugins/plugindir/fromfile:./test/security/resources\" mocha \"./test/**/*.spec.js\"",
|
|
55
93
|
"coverage:report": "nyc report --reporter=lcov npm test",
|
|
@@ -66,66 +104,63 @@ var bugs = {
|
|
|
66
104
|
};
|
|
67
105
|
var homepage = "https://www.botium.ai";
|
|
68
106
|
var dependencies = {
|
|
69
|
-
"@babel/runtime": "^7.
|
|
70
|
-
async: "^3.2.
|
|
71
|
-
"body-parser": "^
|
|
72
|
-
boolean: "^3.2.0",
|
|
107
|
+
"@babel/runtime": "^7.28.6",
|
|
108
|
+
async: "^3.2.6",
|
|
109
|
+
"body-parser": "^2.2.2",
|
|
73
110
|
bottleneck: "^2.19.5",
|
|
74
|
-
"csv-parse": "^
|
|
75
|
-
debug: "^4.3
|
|
76
|
-
express: "^
|
|
111
|
+
"csv-parse": "^6.1.0",
|
|
112
|
+
debug: "^4.4.3",
|
|
113
|
+
express: "^5.2.1",
|
|
77
114
|
globby: "11.0.4",
|
|
78
|
-
ioredis: "^5.
|
|
115
|
+
ioredis: "^5.10.0",
|
|
79
116
|
"is-class": "^0.0.9",
|
|
80
117
|
"is-json": "^2.0.1",
|
|
81
|
-
jsonpath: "^1.
|
|
82
|
-
lodash: "^4.17.
|
|
83
|
-
"markdown-it": "^14.
|
|
84
|
-
"mime-types": "^
|
|
118
|
+
jsonpath: "^1.3.0",
|
|
119
|
+
lodash: "^4.17.23",
|
|
120
|
+
"markdown-it": "^14.1.1",
|
|
121
|
+
"mime-types": "^3.0.2",
|
|
85
122
|
mkdirp: "^3.0.1",
|
|
86
123
|
moment: "^2.30.1",
|
|
87
|
-
"moment-timezone": "^0.
|
|
124
|
+
"moment-timezone": "^0.6.0",
|
|
88
125
|
mustache: "^4.2.0",
|
|
89
126
|
"promise-retry": "^2.0.1",
|
|
90
127
|
"promise.allsettled": "^1.0.7",
|
|
91
128
|
randomatic: "^3.1.1",
|
|
92
|
-
rimraf: "^
|
|
129
|
+
rimraf: "^6.1.3",
|
|
93
130
|
"sanitize-filename": "^1.6.3",
|
|
94
131
|
slugify: "^1.6.6",
|
|
95
|
-
"socket.io": "^4.
|
|
96
|
-
"socket.io-client": "^4.
|
|
132
|
+
"socket.io": "^4.8.3",
|
|
133
|
+
"socket.io-client": "^4.8.3",
|
|
97
134
|
"socketio-auth": "^0.1.1",
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
tinyglobby: "^0.2.10",
|
|
101
|
-
undici: "^6.21.0",
|
|
135
|
+
tinyglobby: "^0.2.15",
|
|
136
|
+
undici: "^7.22.0",
|
|
102
137
|
uuid: "^9.0.1",
|
|
103
138
|
"word-error-rate": "0.0.7",
|
|
104
139
|
"write-yaml": "^1.0.0",
|
|
105
140
|
xlsx: "^0.18.5",
|
|
106
|
-
xregexp: "^5.1.
|
|
107
|
-
yaml: "^2.
|
|
141
|
+
xregexp: "^5.1.2",
|
|
142
|
+
yaml: "^2.8.2"
|
|
108
143
|
};
|
|
109
144
|
var devDependencies = {
|
|
110
|
-
"@babel/core": "^7.
|
|
111
|
-
"@babel/node": "^7.
|
|
112
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
113
|
-
"@babel/preset-env": "^7.
|
|
145
|
+
"@babel/core": "^7.29.0",
|
|
146
|
+
"@babel/node": "^7.29.0",
|
|
147
|
+
"@babel/plugin-transform-runtime": "^7.29.0",
|
|
148
|
+
"@babel/preset-env": "^7.29.0",
|
|
114
149
|
chai: "4.3.10",
|
|
115
|
-
"chai-as-promised": "^7.1.
|
|
116
|
-
"cross-env": "^
|
|
117
|
-
eslint: "^8.
|
|
150
|
+
"chai-as-promised": "^7.1.2",
|
|
151
|
+
"cross-env": "^10.1.0",
|
|
152
|
+
eslint: "^8.57.1",
|
|
118
153
|
"eslint-config-standard": "^17.1.0",
|
|
119
|
-
"eslint-plugin-import": "^2.
|
|
120
|
-
"eslint-plugin-mocha": "^10.
|
|
154
|
+
"eslint-plugin-import": "^2.32.0",
|
|
155
|
+
"eslint-plugin-mocha": "^10.5.0",
|
|
121
156
|
"eslint-plugin-n": "^16.6.2",
|
|
122
|
-
"eslint-plugin-promise": "^6.
|
|
157
|
+
"eslint-plugin-promise": "^6.6.0",
|
|
123
158
|
"eslint-plugin-standard": "^4.1.0",
|
|
124
|
-
mocha: "^
|
|
125
|
-
nock: "^14.0.
|
|
126
|
-
"npm-check-updates": "^
|
|
127
|
-
nyc: "^
|
|
128
|
-
rollup: "2.
|
|
159
|
+
mocha: "^11.7.5",
|
|
160
|
+
nock: "^14.0.11",
|
|
161
|
+
"npm-check-updates": "^19.6.3",
|
|
162
|
+
nyc: "^18.0.0",
|
|
163
|
+
rollup: "2.80.0",
|
|
129
164
|
"rollup-plugin-babel": "^4.4.0",
|
|
130
165
|
"rollup-plugin-commonjs": "^10.1.0",
|
|
131
166
|
"rollup-plugin-json": "^4.0.0",
|
|
@@ -859,9 +894,7 @@ var Events = {
|
|
|
859
894
|
MESSAGE_RECEIVEDFROMBOT: 'MESSAGE_RECEIVEDFROMBOT',
|
|
860
895
|
MESSAGE_RECEIVEFROMBOT_ERROR: 'MESSAGE_RECEIVEFROMBOT_ERROR',
|
|
861
896
|
MESSAGE_ATTACHMENT: 'MESSAGE_ATTACHMENT',
|
|
862
|
-
MESSAGE_TRANSCRIPT: 'MESSAGE_TRANSCRIPT'
|
|
863
|
-
// Botium Agent Events
|
|
864
|
-
TOOMUCHWORKERS_ERROR: 'TOOMUCHWORKERS_ERROR'
|
|
897
|
+
MESSAGE_TRANSCRIPT: 'MESSAGE_TRANSCRIPT'
|
|
865
898
|
};
|
|
866
899
|
Events.CONTAINER_BUILDING;
|
|
867
900
|
Events.CONTAINER_BUILT;
|
|
@@ -883,7 +916,6 @@ Events.MESSAGE_RECEIVEDFROMBOT;
|
|
|
883
916
|
Events.MESSAGE_RECEIVEFROMBOT_ERROR;
|
|
884
917
|
Events.MESSAGE_ATTACHMENT;
|
|
885
918
|
Events.MESSAGE_TRANSCRIPT;
|
|
886
|
-
Events.TOOMUCHWORKERS_ERROR;
|
|
887
919
|
|
|
888
920
|
function commonjsRequire () {
|
|
889
921
|
throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');
|
|
@@ -1497,18 +1529,21 @@ class BotiumMockAsserter$1 {
|
|
|
1497
1529
|
this.name = fromJson.name;
|
|
1498
1530
|
this.args = lodash.cloneDeep(fromJson.args);
|
|
1499
1531
|
this.not = fromJson.not;
|
|
1532
|
+
this.resolvedArgs = fromJson.resolvedArgs || null;
|
|
1500
1533
|
}
|
|
1501
1534
|
}
|
|
1502
1535
|
class BotiumMockUserInput$1 {
|
|
1503
1536
|
constructor(fromJson = {}) {
|
|
1504
1537
|
this.name = fromJson.name;
|
|
1505
1538
|
this.args = lodash.cloneDeep(fromJson.args);
|
|
1539
|
+
this.resolvedArgs = fromJson.resolvedArgs || null;
|
|
1506
1540
|
}
|
|
1507
1541
|
}
|
|
1508
1542
|
class BotiumMockLogicHook$1 {
|
|
1509
1543
|
constructor(fromJson = {}) {
|
|
1510
1544
|
this.name = fromJson.name;
|
|
1511
1545
|
this.args = lodash.cloneDeep(fromJson.args);
|
|
1546
|
+
this.resolvedArgs = fromJson.resolvedArgs || null;
|
|
1512
1547
|
}
|
|
1513
1548
|
}
|
|
1514
1549
|
var BotiumMockScripting = {
|
|
@@ -3491,6 +3526,16 @@ class Convo$6 {
|
|
|
3491
3526
|
} finally {
|
|
3492
3527
|
if (convoStep.sender !== 'begin' && convoStep.sender !== 'end' && !skipTranscriptStep) {
|
|
3493
3528
|
transcriptStep.scriptingMemory = Object.assign({}, scriptingMemory);
|
|
3529
|
+
if (container.caps[Capabilities.SCRIPTING_ENABLE_MEMORY] && transcriptStep.expected) {
|
|
3530
|
+
const _resolveItemArgs = items => {
|
|
3531
|
+
(items || []).forEach(item => {
|
|
3532
|
+
item.resolvedArgs = ScriptingMemory.applyToArgs(item.args, scriptingMemory, container.caps);
|
|
3533
|
+
});
|
|
3534
|
+
};
|
|
3535
|
+
_resolveItemArgs(transcriptStep.expected.asserters);
|
|
3536
|
+
_resolveItemArgs(transcriptStep.expected.logicHooks);
|
|
3537
|
+
_resolveItemArgs(transcriptStep.expected.userInputs);
|
|
3538
|
+
}
|
|
3494
3539
|
transcriptStep.stepEnd = new Date();
|
|
3495
3540
|
transcriptSteps.push(transcriptStep);
|
|
3496
3541
|
}
|
|
@@ -7767,10 +7812,6 @@ var GridContainer_1 = class GridContainer extends BaseContainer_1 {
|
|
|
7767
7812
|
debug$6(`unauthorized ${err.message}`);
|
|
7768
7813
|
socketComplete(`Grid Access not authorized: ${err.message}`);
|
|
7769
7814
|
});
|
|
7770
|
-
this.socket.on(Events.TOOMUCHWORKERS_ERROR, err => {
|
|
7771
|
-
debug$6(`TOOMUCHWORKERS_ERROR ${err.message}`);
|
|
7772
|
-
socketComplete(`Grid Access not possible: ${err.message}`);
|
|
7773
|
-
});
|
|
7774
7815
|
this.socket.on(Events.CONTAINER_BUILT, () => {
|
|
7775
7816
|
debug$6(Events.CONTAINER_BUILT);
|
|
7776
7817
|
socketComplete();
|
|
@@ -9401,7 +9442,7 @@ const {
|
|
|
9401
9442
|
} = rimraf$1;
|
|
9402
9443
|
const {
|
|
9403
9444
|
boolean
|
|
9404
|
-
} =
|
|
9445
|
+
} = boolean_1;
|
|
9405
9446
|
const debug$1 = debug$o('botium-core-BotDriver');
|
|
9406
9447
|
const {
|
|
9407
9448
|
version
|