@croct/sdk 0.13.0 → 0.14.0
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/constants.d.ts +1 -1
- package/constants.js +1 -1
- package/container.js +2 -0
- package/container.js.map +1 -1
- package/contentFetcher.d.ts +7 -0
- package/contentFetcher.js +15 -4
- package/contentFetcher.js.map +1 -1
- package/evaluator.d.ts +7 -0
- package/evaluator.js +16 -5
- package/evaluator.js.map +1 -1
- package/package.json +2 -2
- package/src/container.ts +2 -0
- package/src/contentFetcher.ts +24 -4
- package/src/evaluator.ts +23 -4
package/constants.d.ts
CHANGED
package/constants.js
CHANGED
|
@@ -3,6 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CLIENT_LIBRARY = exports.VERSION = exports.MAX_QUERY_LENGTH = exports.BASE_ENDPOINT_URL = void 0;
|
|
4
4
|
exports.BASE_ENDPOINT_URL = 'https://api.croct.io';
|
|
5
5
|
exports.MAX_QUERY_LENGTH = 500;
|
|
6
|
-
exports.VERSION = '0.
|
|
6
|
+
exports.VERSION = '0.14.0';
|
|
7
7
|
exports.CLIENT_LIBRARY = `Croct SDK JS v${exports.VERSION}`;
|
|
8
8
|
//# sourceMappingURL=constants.js.map
|
package/container.js
CHANGED
|
@@ -34,6 +34,7 @@ class Container {
|
|
|
34
34
|
return new evaluator_1.Evaluator({
|
|
35
35
|
appId: this.configuration.appId,
|
|
36
36
|
baseEndpointUrl: this.configuration.evaluationBaseEndpointUrl,
|
|
37
|
+
logger: this.getLogger('Evaluator'),
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
getContentFetcher() {
|
|
@@ -46,6 +47,7 @@ class Container {
|
|
|
46
47
|
return new contentFetcher_1.ContentFetcher({
|
|
47
48
|
appId: this.configuration.appId,
|
|
48
49
|
baseEndpointUrl: this.configuration.contentBaseEndpointUrl,
|
|
50
|
+
logger: this.getLogger('ContentFetcher'),
|
|
49
51
|
});
|
|
50
52
|
}
|
|
51
53
|
getPreviewTokenStore() {
|
package/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["src/container.ts"],"names":[],"mappings":";;;AAAA,uCAA8E;AAC9E,uCAA8C;AAC9C,2DAAsD;AACtD,mCAAuD;AACvD,mCAAiF;AAEjF,mCAAqD;AACrD,uCAAkC;AAClC,2CAAsC;AACtC,+CAAyC;AACzC,+BAAiF;AACjF,iDAAqE;AAErE,mCAA0C;AAE1C,mEAAwD;AACxD,uCASmB;AACnB,qDAAgD;AAmBhD,MAAa,SAAS;IAyBlB,YAAmB,aAA4B;QAF9B,iBAAY,GAAG,IAAI,sCAAuB,EAAe,CAAC;QAGvE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAEM,gBAAgB;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEM,YAAY;QACf,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;SAC3C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,eAAe;QACnB,OAAO,IAAI,qBAAS,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;YAC/B,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["src/container.ts"],"names":[],"mappings":"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"}
|
package/contentFetcher.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JsonObject } from '@croct/json';
|
|
2
2
|
import { EvaluationContext } from './evaluator';
|
|
3
3
|
import { Token } from './token';
|
|
4
|
+
import { Logger } from './logging';
|
|
4
5
|
export type ErrorResponse = {
|
|
5
6
|
type: string;
|
|
6
7
|
title: string;
|
|
@@ -28,6 +29,10 @@ export type DynamicContentOptions = BasicOptions & {
|
|
|
28
29
|
static?: false;
|
|
29
30
|
clientId?: string;
|
|
30
31
|
clientIp?: string;
|
|
32
|
+
clientAgent?: string;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Use `clientAgent` instead. This option will be removed in future releases.
|
|
35
|
+
*/
|
|
31
36
|
userAgent?: string;
|
|
32
37
|
userToken?: Token | string;
|
|
33
38
|
previewToken?: Token | string;
|
|
@@ -45,11 +50,13 @@ export type Configuration = {
|
|
|
45
50
|
appId?: string;
|
|
46
51
|
apiKey?: string;
|
|
47
52
|
baseEndpointUrl?: string;
|
|
53
|
+
logger?: Logger;
|
|
48
54
|
};
|
|
49
55
|
export declare class ContentFetcher {
|
|
50
56
|
private readonly configuration;
|
|
51
57
|
private readonly dynamicEndpoint;
|
|
52
58
|
private readonly staticEndpoint;
|
|
59
|
+
private readonly logger;
|
|
53
60
|
constructor(configuration: Configuration);
|
|
54
61
|
fetch<P extends JsonObject>(slotId: string, options?: FetchOptions): Promise<FetchResponse<P>>;
|
|
55
62
|
private load;
|
package/contentFetcher.js
CHANGED
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ContentFetcher = exports.ContentError = exports.ContentErrorType = void 0;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
5
|
const error_1 = require("./error");
|
|
6
|
+
const logging_1 = require("./logging");
|
|
6
7
|
var ContentErrorType;
|
|
7
8
|
(function (ContentErrorType) {
|
|
8
9
|
ContentErrorType["TIMEOUT"] = "https://croct.help/api/content#timeout";
|
|
9
10
|
ContentErrorType["UNEXPECTED_ERROR"] = "https://croct.help/api/content#unexpected-error";
|
|
10
|
-
})(ContentErrorType
|
|
11
|
+
})(ContentErrorType || (exports.ContentErrorType = ContentErrorType = {}));
|
|
11
12
|
class ContentError extends Error {
|
|
12
13
|
constructor(response) {
|
|
13
14
|
super(response.title);
|
|
@@ -18,17 +19,19 @@ class ContentError extends Error {
|
|
|
18
19
|
exports.ContentError = ContentError;
|
|
19
20
|
class ContentFetcher {
|
|
20
21
|
constructor(configuration) {
|
|
22
|
+
var _a;
|
|
21
23
|
if ((configuration.appId === undefined) === (configuration.apiKey === undefined)) {
|
|
22
24
|
throw new Error('Either the application ID or the API key must be provided.');
|
|
23
25
|
}
|
|
24
26
|
this.configuration = configuration;
|
|
25
|
-
const { apiKey, baseEndpointUrl } =
|
|
27
|
+
const { apiKey, baseEndpointUrl } = configuration;
|
|
26
28
|
// eslint-disable-next-line prefer-template -- Better readability
|
|
27
29
|
const baseEndpoint = (baseEndpointUrl !== null && baseEndpointUrl !== void 0 ? baseEndpointUrl : constants_1.BASE_ENDPOINT_URL).replace(/\/+$/, '')
|
|
28
30
|
+ (apiKey === undefined ? '/client' : '/external')
|
|
29
31
|
+ '/web';
|
|
30
32
|
this.dynamicEndpoint = `${baseEndpoint}/content`;
|
|
31
33
|
this.staticEndpoint = `${baseEndpoint}/static-content`;
|
|
34
|
+
this.logger = (_a = configuration.logger) !== null && _a !== void 0 ? _a : new logging_1.NullLogger();
|
|
32
35
|
}
|
|
33
36
|
fetch(slotId, options = {}) {
|
|
34
37
|
if (options.static === true && this.configuration.apiKey === undefined) {
|
|
@@ -77,6 +80,7 @@ class ContentFetcher {
|
|
|
77
80
|
});
|
|
78
81
|
}
|
|
79
82
|
load(slotId, signal, options) {
|
|
83
|
+
var _a;
|
|
80
84
|
const { apiKey, appId } = this.configuration;
|
|
81
85
|
const headers = {
|
|
82
86
|
'Content-Type': 'application/json',
|
|
@@ -99,6 +103,12 @@ class ContentFetcher {
|
|
|
99
103
|
}
|
|
100
104
|
const dynamic = ContentFetcher.isDynamicContent(options);
|
|
101
105
|
if (dynamic) {
|
|
106
|
+
if (options.userAgent !== undefined) {
|
|
107
|
+
this.logger.warn('The `userAgent` option is deprecated and '
|
|
108
|
+
+ 'will be removed in future releases. '
|
|
109
|
+
+ 'Please update the part of your code calling the `fetch` method '
|
|
110
|
+
+ 'to use the `clientAgent` option instead.');
|
|
111
|
+
}
|
|
102
112
|
if (options.clientId !== undefined) {
|
|
103
113
|
headers['X-Client-Id'] = options.clientId;
|
|
104
114
|
}
|
|
@@ -108,8 +118,9 @@ class ContentFetcher {
|
|
|
108
118
|
if (options.userToken !== undefined) {
|
|
109
119
|
headers['X-Token'] = options.userToken.toString();
|
|
110
120
|
}
|
|
111
|
-
|
|
112
|
-
|
|
121
|
+
const clientAgent = (_a = options.clientAgent) !== null && _a !== void 0 ? _a : options.userAgent;
|
|
122
|
+
if (clientAgent !== undefined) {
|
|
123
|
+
headers['X-Client-Agent'] = clientAgent;
|
|
113
124
|
}
|
|
114
125
|
if (options.context !== undefined) {
|
|
115
126
|
payload.context = options.context;
|
package/contentFetcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentFetcher.js","sourceRoot":"","sources":["src/contentFetcher.ts"],"names":[],"mappings":";;;AAGA,2CAA8D;AAC9D,mCAAsC;
|
|
1
|
+
{"version":3,"file":"contentFetcher.js","sourceRoot":"","sources":["src/contentFetcher.ts"],"names":[],"mappings":"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"}
|
package/evaluator.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JsonObject, JsonValue } from '@croct/json';
|
|
2
2
|
import { Token } from './token';
|
|
3
3
|
import { Location } from './sourceLocation';
|
|
4
|
+
import { Logger } from './logging';
|
|
4
5
|
export type Campaign = {
|
|
5
6
|
name?: string;
|
|
6
7
|
source?: string;
|
|
@@ -26,6 +27,10 @@ type ExtraFetchOptions<T extends keyof RequestInit = AllowedFetchOptions> = Pick
|
|
|
26
27
|
export type EvaluationOptions = {
|
|
27
28
|
clientId?: string;
|
|
28
29
|
clientIp?: string;
|
|
30
|
+
clientAgent?: string;
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use `clientAgent` instead. This option will be removed in future releases.
|
|
33
|
+
*/
|
|
29
34
|
userAgent?: string;
|
|
30
35
|
userToken?: Token | string;
|
|
31
36
|
timeout?: number;
|
|
@@ -65,11 +70,13 @@ export type Configuration = {
|
|
|
65
70
|
appId?: string;
|
|
66
71
|
apiKey?: string;
|
|
67
72
|
baseEndpointUrl?: string;
|
|
73
|
+
logger?: Logger;
|
|
68
74
|
};
|
|
69
75
|
export declare class Evaluator {
|
|
70
76
|
static readonly MAX_QUERY_LENGTH: number;
|
|
71
77
|
private readonly configuration;
|
|
72
78
|
private readonly endpoint;
|
|
79
|
+
private readonly logger;
|
|
73
80
|
constructor(configuration: Configuration);
|
|
74
81
|
evaluate(query: string, options?: EvaluationOptions): Promise<JsonValue>;
|
|
75
82
|
private fetch;
|
package/evaluator.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.Evaluator = exports.QueryError = exports.EvaluationError = exports.Evalu
|
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
5
|
const error_1 = require("./error");
|
|
6
6
|
const sourceLocation_1 = require("./sourceLocation");
|
|
7
|
+
const logging_1 = require("./logging");
|
|
7
8
|
var EvaluationErrorType;
|
|
8
9
|
(function (EvaluationErrorType) {
|
|
9
10
|
EvaluationErrorType["TIMEOUT"] = "https://croct.help/api/evaluation#timeout";
|
|
@@ -13,7 +14,7 @@ var EvaluationErrorType;
|
|
|
13
14
|
EvaluationErrorType["EVALUATION_FAILED"] = "https://croct.help/api/evaluation#evaluation-failed";
|
|
14
15
|
EvaluationErrorType["UNALLOWED_RESULT"] = "https://croct.help/api/evaluation#unallowed-result";
|
|
15
16
|
EvaluationErrorType["UNSERIALIZABLE_RESULT"] = "https://croct.help/api/evaluation#unserializable-result";
|
|
16
|
-
})(EvaluationErrorType
|
|
17
|
+
})(EvaluationErrorType || (exports.EvaluationErrorType = EvaluationErrorType = {}));
|
|
17
18
|
class EvaluationError extends Error {
|
|
18
19
|
constructor(response) {
|
|
19
20
|
super(response.title);
|
|
@@ -31,6 +32,7 @@ class QueryError extends EvaluationError {
|
|
|
31
32
|
exports.QueryError = QueryError;
|
|
32
33
|
class Evaluator {
|
|
33
34
|
constructor(configuration) {
|
|
35
|
+
var _a;
|
|
34
36
|
if ((configuration.appId === undefined) === (configuration.apiKey === undefined)) {
|
|
35
37
|
throw new Error('Either the application ID or the API key must be provided.');
|
|
36
38
|
}
|
|
@@ -40,6 +42,7 @@ class Evaluator {
|
|
|
40
42
|
+ (apiKey === undefined ? '/client' : '/external')
|
|
41
43
|
+ '/web/evaluate';
|
|
42
44
|
this.configuration = configuration;
|
|
45
|
+
this.logger = (_a = configuration.logger) !== null && _a !== void 0 ? _a : new logging_1.NullLogger();
|
|
43
46
|
}
|
|
44
47
|
evaluate(query, options = {}) {
|
|
45
48
|
const length = (0, sourceLocation_1.getLength)(query);
|
|
@@ -114,8 +117,16 @@ class Evaluator {
|
|
|
114
117
|
});
|
|
115
118
|
}
|
|
116
119
|
fetch(body, signal, options) {
|
|
120
|
+
var _a;
|
|
117
121
|
const { appId, apiKey } = this.configuration;
|
|
118
|
-
const { clientId, clientIp,
|
|
122
|
+
const { clientId, clientIp, userToken } = options;
|
|
123
|
+
const clientAgent = (_a = options.clientAgent) !== null && _a !== void 0 ? _a : options.userAgent;
|
|
124
|
+
if (options.userAgent !== undefined) {
|
|
125
|
+
this.logger.warn('The `userAgent` option is deprecated and '
|
|
126
|
+
+ 'will be removed in future releases. '
|
|
127
|
+
+ 'Please update the part of your code calling the `evaluate` method '
|
|
128
|
+
+ 'to use the `clientAgent` option instead.');
|
|
129
|
+
}
|
|
119
130
|
const headers = {
|
|
120
131
|
'Content-Type': 'application/json',
|
|
121
132
|
};
|
|
@@ -135,8 +146,8 @@ class Evaluator {
|
|
|
135
146
|
if (userToken !== undefined) {
|
|
136
147
|
headers['X-Token'] = userToken.toString();
|
|
137
148
|
}
|
|
138
|
-
if (
|
|
139
|
-
headers['
|
|
149
|
+
if (clientAgent !== undefined) {
|
|
150
|
+
headers['X-Client-Agent'] = clientAgent;
|
|
140
151
|
}
|
|
141
152
|
return fetch(this.endpoint, {
|
|
142
153
|
credentials: 'omit',
|
|
@@ -152,6 +163,6 @@ class Evaluator {
|
|
|
152
163
|
throw new Error('Unserializable value.');
|
|
153
164
|
}
|
|
154
165
|
}
|
|
155
|
-
Evaluator.MAX_QUERY_LENGTH = constants_1.MAX_QUERY_LENGTH;
|
|
156
166
|
exports.Evaluator = Evaluator;
|
|
167
|
+
Evaluator.MAX_QUERY_LENGTH = constants_1.MAX_QUERY_LENGTH;
|
|
157
168
|
//# sourceMappingURL=evaluator.js.map
|
package/evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["src/evaluator.ts"],"names":[],"mappings":";;;AAEA,2CAAgF;AAChF,mCAAsC;AACtC,qDAAkE;
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["src/evaluator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@croct/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Croct SDK for JavaScript.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"fetch-mock": "^9.11.0",
|
|
39
39
|
"jest": "^29.3.1",
|
|
40
40
|
"jest-environment-jsdom": "^29.3.1",
|
|
41
|
-
"jest-extended": "^
|
|
41
|
+
"jest-extended": "^4.0.0",
|
|
42
42
|
"jest-websocket-mock": "^2.4.0",
|
|
43
43
|
"mock-socket": "^9.1.5",
|
|
44
44
|
"node-fetch": "^2.6.7",
|
package/src/container.ts
CHANGED
|
@@ -88,6 +88,7 @@ export class Container {
|
|
|
88
88
|
return new Evaluator({
|
|
89
89
|
appId: this.configuration.appId,
|
|
90
90
|
baseEndpointUrl: this.configuration.evaluationBaseEndpointUrl,
|
|
91
|
+
logger: this.getLogger('Evaluator'),
|
|
91
92
|
});
|
|
92
93
|
}
|
|
93
94
|
|
|
@@ -103,6 +104,7 @@ export class Container {
|
|
|
103
104
|
return new ContentFetcher({
|
|
104
105
|
appId: this.configuration.appId,
|
|
105
106
|
baseEndpointUrl: this.configuration.contentBaseEndpointUrl,
|
|
107
|
+
logger: this.getLogger('ContentFetcher'),
|
|
106
108
|
});
|
|
107
109
|
}
|
|
108
110
|
|
package/src/contentFetcher.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {EvaluationContext} from './evaluator';
|
|
|
3
3
|
import {Token} from './token';
|
|
4
4
|
import {BASE_ENDPOINT_URL, CLIENT_LIBRARY} from './constants';
|
|
5
5
|
import {formatMessage} from './error';
|
|
6
|
+
import {Logger, NullLogger} from './logging';
|
|
6
7
|
|
|
7
8
|
export type ErrorResponse = {
|
|
8
9
|
type: string,
|
|
@@ -51,6 +52,10 @@ export type DynamicContentOptions = BasicOptions & {
|
|
|
51
52
|
static?: false,
|
|
52
53
|
clientId?: string,
|
|
53
54
|
clientIp?: string,
|
|
55
|
+
clientAgent?: string,
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated Use `clientAgent` instead. This option will be removed in future releases.
|
|
58
|
+
*/
|
|
54
59
|
userAgent?: string,
|
|
55
60
|
userToken?: Token|string,
|
|
56
61
|
previewToken?: Token|string,
|
|
@@ -73,15 +78,18 @@ export type Configuration = {
|
|
|
73
78
|
appId?: string,
|
|
74
79
|
apiKey?: string,
|
|
75
80
|
baseEndpointUrl?: string,
|
|
81
|
+
logger?: Logger,
|
|
76
82
|
};
|
|
77
83
|
|
|
78
84
|
export class ContentFetcher {
|
|
79
|
-
private readonly configuration: Configuration
|
|
85
|
+
private readonly configuration: Pick<Configuration, 'appId' | 'apiKey'>;
|
|
80
86
|
|
|
81
87
|
private readonly dynamicEndpoint: string;
|
|
82
88
|
|
|
83
89
|
private readonly staticEndpoint: string;
|
|
84
90
|
|
|
91
|
+
private readonly logger: Logger;
|
|
92
|
+
|
|
85
93
|
public constructor(configuration: Configuration) {
|
|
86
94
|
if ((configuration.appId === undefined) === (configuration.apiKey === undefined)) {
|
|
87
95
|
throw new Error('Either the application ID or the API key must be provided.');
|
|
@@ -89,7 +97,7 @@ export class ContentFetcher {
|
|
|
89
97
|
|
|
90
98
|
this.configuration = configuration;
|
|
91
99
|
|
|
92
|
-
const {apiKey, baseEndpointUrl} =
|
|
100
|
+
const {apiKey, baseEndpointUrl} = configuration;
|
|
93
101
|
|
|
94
102
|
// eslint-disable-next-line prefer-template -- Better readability
|
|
95
103
|
const baseEndpoint = (baseEndpointUrl ?? BASE_ENDPOINT_URL).replace(/\/+$/, '')
|
|
@@ -98,6 +106,7 @@ export class ContentFetcher {
|
|
|
98
106
|
|
|
99
107
|
this.dynamicEndpoint = `${baseEndpoint}/content`;
|
|
100
108
|
this.staticEndpoint = `${baseEndpoint}/static-content`;
|
|
109
|
+
this.logger = configuration.logger ?? new NullLogger();
|
|
101
110
|
}
|
|
102
111
|
|
|
103
112
|
public fetch<P extends JsonObject>(slotId: string, options: FetchOptions = {}): Promise<FetchResponse<P>> {
|
|
@@ -191,6 +200,15 @@ export class ContentFetcher {
|
|
|
191
200
|
const dynamic = ContentFetcher.isDynamicContent(options);
|
|
192
201
|
|
|
193
202
|
if (dynamic) {
|
|
203
|
+
if (options.userAgent !== undefined) {
|
|
204
|
+
this.logger.warn(
|
|
205
|
+
'The `userAgent` option is deprecated and '
|
|
206
|
+
+ 'will be removed in future releases. '
|
|
207
|
+
+ 'Please update the part of your code calling the `fetch` method '
|
|
208
|
+
+ 'to use the `clientAgent` option instead.',
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
|
|
194
212
|
if (options.clientId !== undefined) {
|
|
195
213
|
headers['X-Client-Id'] = options.clientId;
|
|
196
214
|
}
|
|
@@ -203,8 +221,10 @@ export class ContentFetcher {
|
|
|
203
221
|
headers['X-Token'] = options.userToken.toString();
|
|
204
222
|
}
|
|
205
223
|
|
|
206
|
-
|
|
207
|
-
|
|
224
|
+
const clientAgent = options.clientAgent ?? options.userAgent;
|
|
225
|
+
|
|
226
|
+
if (clientAgent !== undefined) {
|
|
227
|
+
headers['X-Client-Agent'] = clientAgent;
|
|
208
228
|
}
|
|
209
229
|
|
|
210
230
|
if (options.context !== undefined) {
|
package/src/evaluator.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {Token} from './token';
|
|
|
3
3
|
import {BASE_ENDPOINT_URL, CLIENT_LIBRARY, MAX_QUERY_LENGTH} from './constants';
|
|
4
4
|
import {formatMessage} from './error';
|
|
5
5
|
import {getLength, getLocation, Location} from './sourceLocation';
|
|
6
|
+
import {Logger, NullLogger} from './logging';
|
|
6
7
|
|
|
7
8
|
export type Campaign = {
|
|
8
9
|
name?: string,
|
|
@@ -34,6 +35,10 @@ type ExtraFetchOptions<T extends keyof RequestInit = AllowedFetchOptions> = Pick
|
|
|
34
35
|
export type EvaluationOptions = {
|
|
35
36
|
clientId?: string,
|
|
36
37
|
clientIp?: string,
|
|
38
|
+
clientAgent?: string,
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use `clientAgent` instead. This option will be removed in future releases.
|
|
41
|
+
*/
|
|
37
42
|
userAgent?: string,
|
|
38
43
|
userToken?: Token|string,
|
|
39
44
|
timeout?: number,
|
|
@@ -91,15 +96,18 @@ export type Configuration = {
|
|
|
91
96
|
appId?: string,
|
|
92
97
|
apiKey?: string,
|
|
93
98
|
baseEndpointUrl?: string,
|
|
99
|
+
logger?: Logger,
|
|
94
100
|
};
|
|
95
101
|
|
|
96
102
|
export class Evaluator {
|
|
97
103
|
public static readonly MAX_QUERY_LENGTH = MAX_QUERY_LENGTH;
|
|
98
104
|
|
|
99
|
-
private readonly configuration: Configuration
|
|
105
|
+
private readonly configuration: Pick<Configuration, 'appId' | 'apiKey'>;
|
|
100
106
|
|
|
101
107
|
private readonly endpoint: string;
|
|
102
108
|
|
|
109
|
+
private readonly logger: Logger;
|
|
110
|
+
|
|
103
111
|
public constructor(configuration: Configuration) {
|
|
104
112
|
if ((configuration.appId === undefined) === (configuration.apiKey === undefined)) {
|
|
105
113
|
throw new Error('Either the application ID or the API key must be provided.');
|
|
@@ -113,6 +121,7 @@ export class Evaluator {
|
|
|
113
121
|
+ '/web/evaluate';
|
|
114
122
|
|
|
115
123
|
this.configuration = configuration;
|
|
124
|
+
this.logger = configuration.logger ?? new NullLogger();
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
public evaluate(query: string, options: EvaluationOptions = {}): Promise<JsonValue> {
|
|
@@ -215,7 +224,17 @@ export class Evaluator {
|
|
|
215
224
|
|
|
216
225
|
private fetch(body: JsonObject, signal: AbortSignal, options: EvaluationOptions): Promise<Response> {
|
|
217
226
|
const {appId, apiKey} = this.configuration;
|
|
218
|
-
const {clientId, clientIp,
|
|
227
|
+
const {clientId, clientIp, userToken} = options;
|
|
228
|
+
const clientAgent = options.clientAgent ?? options.userAgent;
|
|
229
|
+
|
|
230
|
+
if (options.userAgent !== undefined) {
|
|
231
|
+
this.logger.warn(
|
|
232
|
+
'The `userAgent` option is deprecated and '
|
|
233
|
+
+ 'will be removed in future releases. '
|
|
234
|
+
+ 'Please update the part of your code calling the `evaluate` method '
|
|
235
|
+
+ 'to use the `clientAgent` option instead.',
|
|
236
|
+
);
|
|
237
|
+
}
|
|
219
238
|
|
|
220
239
|
const headers: Record<string, string> = {
|
|
221
240
|
'Content-Type': 'application/json',
|
|
@@ -241,8 +260,8 @@ export class Evaluator {
|
|
|
241
260
|
headers['X-Token'] = userToken.toString();
|
|
242
261
|
}
|
|
243
262
|
|
|
244
|
-
if (
|
|
245
|
-
headers['
|
|
263
|
+
if (clientAgent !== undefined) {
|
|
264
|
+
headers['X-Client-Agent'] = clientAgent;
|
|
246
265
|
}
|
|
247
266
|
|
|
248
267
|
return fetch(this.endpoint, {
|