@tvlabs/wdio-service 0.1.2 → 0.1.3
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/README.md +3 -3
- package/cjs/channel.d.ts +1 -1
- package/cjs/channel.d.ts.map +1 -1
- package/cjs/channel.js +5 -6
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +2 -0
- package/cjs/logger.d.ts.map +1 -1
- package/cjs/logger.js +1 -11
- package/cjs/service.d.ts.map +1 -1
- package/cjs/service.js +1 -2
- package/esm/channel.d.ts +1 -1
- package/esm/channel.d.ts.map +1 -1
- package/esm/channel.js +5 -6
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/logger.d.ts.map +1 -1
- package/esm/logger.js +1 -11
- package/esm/service.d.ts.map +1 -1
- package/esm/service.js +1 -2
- package/package.json +1 -2
- package/src/channel.ts +10 -8
- package/src/index.ts +1 -0
- package/src/logger.ts +1 -12
- package/src/service.ts +1 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://tvlabs.ai">
|
|
3
|
-
<img alt="TV Labs Logo" width="200" src="https://tvlabs.ai/images/tvlabs.svg"
|
|
3
|
+
<img alt="TV Labs Logo" width="200" src="https://tvlabs.ai/images/tvlabs.svg" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
@@ -39,7 +39,7 @@ yarn add @tvlabs/wdio-service
|
|
|
39
39
|
To use this as a WebdriverIO test runner service, include the service in your WebdriverIO configuration file (e.g. `wdio.conf.ts`) with your TV Labs API key set in the options.
|
|
40
40
|
|
|
41
41
|
```javascript
|
|
42
|
-
import TVLabsService from '@tvlabs/wdio-service';
|
|
42
|
+
import { TVLabsService } from '@tvlabs/wdio-service';
|
|
43
43
|
|
|
44
44
|
export const config = {
|
|
45
45
|
// ...
|
|
@@ -54,7 +54,7 @@ To use this with WebdriverIO remote but without the test runner, call the before
|
|
|
54
54
|
|
|
55
55
|
```javascript
|
|
56
56
|
import { remote } from 'webdriverio';
|
|
57
|
-
import TVLabsService from '@tvlabs/wdio-service';
|
|
57
|
+
import { TVLabsService } from '@tvlabs/wdio-service';
|
|
58
58
|
|
|
59
59
|
const capabilities = { ... };
|
|
60
60
|
|
package/cjs/channel.d.ts
CHANGED
package/cjs/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;IAgBtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,CACd,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC;YAWJ,WAAW;YAkBX,cAAc;IAsD5B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YAuBd,IAAI;YAgBJ,IAAI;IAoBlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,MAAM,CAAC,cAAc;CAU9B"}
|
package/cjs/channel.js
CHANGED
|
@@ -33,7 +33,7 @@ class TVLabsChannel {
|
|
|
33
33
|
params: this.params(),
|
|
34
34
|
reconnectAfterMs: this.reconnectAfterMs.bind(this),
|
|
35
35
|
});
|
|
36
|
-
this.socket.onError(this.
|
|
36
|
+
this.socket.onError((...args) => TVLabsChannel.logSocketError(this.log, ...args));
|
|
37
37
|
this.lobbyTopic = this.socket.channel('requests:lobby');
|
|
38
38
|
}
|
|
39
39
|
async disconnect() {
|
|
@@ -173,13 +173,12 @@ class TVLabsChannel {
|
|
|
173
173
|
this.log.info(`[${tries}/${this.maxReconnectRetries}] Waiting ${wait}ms before re-attempting to connect...`);
|
|
174
174
|
return wait;
|
|
175
175
|
}
|
|
176
|
-
logSocketError(event, _transport, _establishedConnections) {
|
|
177
|
-
const error = event.error;
|
|
178
|
-
const code = error && error.code;
|
|
179
|
-
this.log.error('Socket error:', code || error || event);
|
|
180
|
-
}
|
|
181
176
|
tvlabsSessionLink(sessionId) {
|
|
182
177
|
return `https://tvlabs.ai/app/sessions/${sessionId}`;
|
|
183
178
|
}
|
|
179
|
+
static logSocketError(log, event, _transport, _establishedConnections) {
|
|
180
|
+
const error = event.error;
|
|
181
|
+
log.error('Socket error:', error || event);
|
|
182
|
+
}
|
|
184
183
|
}
|
|
185
184
|
exports.TVLabsChannel = TVLabsChannel;
|
package/cjs/index.d.ts
CHANGED
package/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/cjs/index.js
CHANGED
|
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.TVLabsService = void 0;
|
|
17
18
|
const service_js_1 = require("./service.js");
|
|
19
|
+
exports.TVLabsService = service_js_1.default;
|
|
18
20
|
exports.default = service_js_1.default;
|
|
19
21
|
__exportStar(require("./types.js"), exports);
|
package/cjs/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAc3C,qBAAa,MAAM;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;gBADR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAiB;IAGrC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IASrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC"}
|
package/cjs/logger.js
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Logger = void 0;
|
|
4
|
-
const chalk_1 = require("chalk");
|
|
5
|
-
const LOG_LEVEL_COLORS = {
|
|
6
|
-
error: chalk_1.default.red,
|
|
7
|
-
warn: chalk_1.default.yellow,
|
|
8
|
-
info: chalk_1.default.cyanBright,
|
|
9
|
-
debug: chalk_1.default.green,
|
|
10
|
-
trace: chalk_1.default.cyan,
|
|
11
|
-
silent: chalk_1.default.gray,
|
|
12
|
-
};
|
|
13
4
|
const LOG_LEVELS = {
|
|
14
5
|
error: 0,
|
|
15
6
|
warn: 1,
|
|
@@ -33,8 +24,7 @@ class Logger {
|
|
|
33
24
|
}
|
|
34
25
|
formatMessage(level, ...args) {
|
|
35
26
|
const timestamp = new Date().toISOString();
|
|
36
|
-
|
|
37
|
-
return `${chalk_1.default.gray(timestamp)} ${levelColor(level.toUpperCase())} ${chalk_1.default.white(this.name)}: ${args
|
|
27
|
+
return `${timestamp} ${level.toUpperCase()} ${this.name}: ${args
|
|
38
28
|
.map((arg) => typeof arg === 'object' ? JSON.stringify(arg) : String(arg))
|
|
39
29
|
.join(' ')}`;
|
|
40
30
|
}
|
package/cjs/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,eAAe;IAIlE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,GAAG,CAAS;gBAGV,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,OAAO,EAAE,OAAO,CAAC,WAAW;IAQtC,SAAS,CACP,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,sBAAsB;IAStC,aAAa,CACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM;IAmBd,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;CAGzB"}
|
package/cjs/service.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const webdriverio_1 = require("webdriverio");
|
|
4
4
|
const crypto = require("crypto");
|
|
5
|
-
const chalk_1 = require("chalk");
|
|
6
5
|
const channel_js_1 = require("./channel.js");
|
|
7
6
|
const logger_js_1 = require("./logger.js");
|
|
8
7
|
class TVLabsService {
|
|
@@ -41,7 +40,7 @@ class TVLabsService {
|
|
|
41
40
|
originalRequestOptions.headers = {};
|
|
42
41
|
}
|
|
43
42
|
this.setRequestHeader(originalRequestOptions.headers, 'x-request-id', requestId);
|
|
44
|
-
this.log.info(
|
|
43
|
+
this.log.info('ATTACHED REQUEST ID', requestId);
|
|
45
44
|
return originalRequestOptions;
|
|
46
45
|
};
|
|
47
46
|
}
|
package/esm/channel.d.ts
CHANGED
package/esm/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAIlB,QAAQ,EACT,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IAgBtB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAlBlB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAOZ;gBAGD,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ;IAgBtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,CACd,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAI,GACR,OAAO,CAAC,MAAM,CAAC;YAWJ,WAAW;YAkBX,cAAc;IAsD5B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YAuBd,IAAI;YAgBJ,IAAI;IAoBlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,MAAM,CAAC,cAAc;CAU9B"}
|
package/esm/channel.js
CHANGED
|
@@ -30,7 +30,7 @@ export class TVLabsChannel {
|
|
|
30
30
|
params: this.params(),
|
|
31
31
|
reconnectAfterMs: this.reconnectAfterMs.bind(this),
|
|
32
32
|
});
|
|
33
|
-
this.socket.onError(this.
|
|
33
|
+
this.socket.onError((...args) => TVLabsChannel.logSocketError(this.log, ...args));
|
|
34
34
|
this.lobbyTopic = this.socket.channel('requests:lobby');
|
|
35
35
|
}
|
|
36
36
|
async disconnect() {
|
|
@@ -170,12 +170,11 @@ export class TVLabsChannel {
|
|
|
170
170
|
this.log.info(`[${tries}/${this.maxReconnectRetries}] Waiting ${wait}ms before re-attempting to connect...`);
|
|
171
171
|
return wait;
|
|
172
172
|
}
|
|
173
|
-
logSocketError(event, _transport, _establishedConnections) {
|
|
174
|
-
const error = event.error;
|
|
175
|
-
const code = error && error.code;
|
|
176
|
-
this.log.error('Socket error:', code || error || event);
|
|
177
|
-
}
|
|
178
173
|
tvlabsSessionLink(sessionId) {
|
|
179
174
|
return `https://tvlabs.ai/app/sessions/${sessionId}`;
|
|
180
175
|
}
|
|
176
|
+
static logSocketError(log, event, _transport, _establishedConnections) {
|
|
177
|
+
const error = event.error;
|
|
178
|
+
log.error('Socket error:', error || event);
|
|
179
|
+
}
|
|
181
180
|
}
|
package/esm/index.d.ts
CHANGED
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,eAAe,aAAa,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/esm/index.js
CHANGED
package/esm/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAc3C,qBAAa,MAAM;IAEf,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;gBADR,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,QAAiB;IAGrC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IASrB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAKhC"}
|
package/esm/logger.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
const LOG_LEVEL_COLORS = {
|
|
3
|
-
error: chalk.red,
|
|
4
|
-
warn: chalk.yellow,
|
|
5
|
-
info: chalk.cyanBright,
|
|
6
|
-
debug: chalk.green,
|
|
7
|
-
trace: chalk.cyan,
|
|
8
|
-
silent: chalk.gray,
|
|
9
|
-
};
|
|
10
1
|
const LOG_LEVELS = {
|
|
11
2
|
error: 0,
|
|
12
3
|
warn: 1,
|
|
@@ -30,8 +21,7 @@ export class Logger {
|
|
|
30
21
|
}
|
|
31
22
|
formatMessage(level, ...args) {
|
|
32
23
|
const timestamp = new Date().toISOString();
|
|
33
|
-
|
|
34
|
-
return `${chalk.gray(timestamp)} ${levelColor(level.toUpperCase())} ${chalk.white(this.name)}: ${args
|
|
24
|
+
return `${timestamp} ${level.toUpperCase()} ${this.name}: ${args
|
|
35
25
|
.map((arg) => typeof arg === 'object' ? JSON.stringify(arg) : String(arg))
|
|
36
26
|
.join(' ')}`;
|
|
37
27
|
}
|
package/esm/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ,CAAC,eAAe;IAIlE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,GAAG,CAAS;gBAGV,QAAQ,EAAE,oBAAoB,EAC9B,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,OAAO,EAAE,OAAO,CAAC,WAAW;IAQtC,SAAS,CACP,OAAO,EAAE,OAAO,CAAC,UAAU,EAC3B,KAAK,EAAE,YAAY,CAAC,sBAAsB;IAStC,aAAa,CACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EACjD,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM;IAmBd,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,gBAAgB;CAGzB"}
|
package/esm/service.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SevereServiceError } from 'webdriverio';
|
|
2
2
|
import * as crypto from 'crypto';
|
|
3
|
-
import chalk from 'chalk';
|
|
4
3
|
import { TVLabsChannel } from './channel.js';
|
|
5
4
|
import { Logger } from './logger.js';
|
|
6
5
|
export default class TVLabsService {
|
|
@@ -39,7 +38,7 @@ export default class TVLabsService {
|
|
|
39
38
|
originalRequestOptions.headers = {};
|
|
40
39
|
}
|
|
41
40
|
this.setRequestHeader(originalRequestOptions.headers, 'x-request-id', requestId);
|
|
42
|
-
this.log.info(
|
|
41
|
+
this.log.info('ATTACHED REQUEST ID', requestId);
|
|
43
42
|
return originalRequestOptions;
|
|
44
43
|
};
|
|
45
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tvlabs/wdio-service",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "WebdriverIO service that provides a better integration into TV Labs",
|
|
5
5
|
"author": "Regan Karlewicz <regan@tvlabs.ai>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -62,7 +62,6 @@
|
|
|
62
62
|
"webdriverio": "^9.12.1"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"chalk": "^5.1.2",
|
|
66
65
|
"phoenix": "^1.7.20",
|
|
67
66
|
"ws": "^8.18.3"
|
|
68
67
|
}
|
package/src/channel.ts
CHANGED
|
@@ -40,7 +40,9 @@ export class TVLabsChannel {
|
|
|
40
40
|
reconnectAfterMs: this.reconnectAfterMs.bind(this),
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
this.socket.onError(
|
|
43
|
+
this.socket.onError((...args) =>
|
|
44
|
+
TVLabsChannel.logSocketError(this.log, ...args),
|
|
45
|
+
);
|
|
44
46
|
|
|
45
47
|
this.lobbyTopic = this.socket.channel('requests:lobby');
|
|
46
48
|
}
|
|
@@ -248,18 +250,18 @@ export class TVLabsChannel {
|
|
|
248
250
|
return wait;
|
|
249
251
|
}
|
|
250
252
|
|
|
251
|
-
private
|
|
253
|
+
private tvlabsSessionLink(sessionId: string) {
|
|
254
|
+
return `https://tvlabs.ai/app/sessions/${sessionId}`;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
private static logSocketError(
|
|
258
|
+
log: Logger,
|
|
252
259
|
event: ErrorEvent,
|
|
253
260
|
_transport: new (endpoint: string) => object,
|
|
254
261
|
_establishedConnections: number,
|
|
255
262
|
) {
|
|
256
263
|
const error = event.error;
|
|
257
|
-
const code = error && error.code;
|
|
258
264
|
|
|
259
|
-
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
private tvlabsSessionLink(sessionId: string) {
|
|
263
|
-
return `https://tvlabs.ai/app/sessions/${sessionId}`;
|
|
265
|
+
log.error('Socket error:', error || event);
|
|
264
266
|
}
|
|
265
267
|
}
|
package/src/index.ts
CHANGED
package/src/logger.ts
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
import type { LogLevel } from './types.js';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
2
|
|
|
4
3
|
// TODO: Replace this with @wdio/logger
|
|
5
4
|
// It is currently not compatible with CJS
|
|
6
5
|
|
|
7
|
-
const LOG_LEVEL_COLORS: Record<LogLevel, typeof chalk> = {
|
|
8
|
-
error: chalk.red,
|
|
9
|
-
warn: chalk.yellow,
|
|
10
|
-
info: chalk.cyanBright,
|
|
11
|
-
debug: chalk.green,
|
|
12
|
-
trace: chalk.cyan,
|
|
13
|
-
silent: chalk.gray,
|
|
14
|
-
};
|
|
15
|
-
|
|
16
6
|
const LOG_LEVELS: Record<LogLevel, number> = {
|
|
17
7
|
error: 0,
|
|
18
8
|
warn: 1,
|
|
@@ -37,8 +27,7 @@ export class Logger {
|
|
|
37
27
|
|
|
38
28
|
private formatMessage(level: LogLevel, ...args: unknown[]): string {
|
|
39
29
|
const timestamp = new Date().toISOString();
|
|
40
|
-
|
|
41
|
-
return `${chalk.gray(timestamp)} ${levelColor(level.toUpperCase())} ${chalk.white(this.name)}: ${args
|
|
30
|
+
return `${timestamp} ${level.toUpperCase()} ${this.name}: ${args
|
|
42
31
|
.map((arg) =>
|
|
43
32
|
typeof arg === 'object' ? JSON.stringify(arg) : String(arg),
|
|
44
33
|
)
|
package/src/service.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SevereServiceError } from 'webdriverio';
|
|
2
2
|
import * as crypto from 'crypto';
|
|
3
|
-
import chalk from 'chalk';
|
|
4
3
|
|
|
5
4
|
import { TVLabsChannel } from './channel.js';
|
|
6
5
|
import { Logger } from './logger.js';
|
|
@@ -80,7 +79,7 @@ export default class TVLabsService implements Services.ServiceInstance {
|
|
|
80
79
|
requestId,
|
|
81
80
|
);
|
|
82
81
|
|
|
83
|
-
this.log.info(
|
|
82
|
+
this.log.info('ATTACHED REQUEST ID', requestId);
|
|
84
83
|
|
|
85
84
|
return originalRequestOptions;
|
|
86
85
|
};
|