@timeback/qti 0.1.1 → 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/dist/client.d.ts +8 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/constants.d.ts +9 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +475 -49
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1190 -285
- package/package.json +3 -2
package/dist/errors.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
import { createRequire } from "node:module";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
1
|
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
-
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
-
for (let key of __getOwnPropNames(mod))
|
|
11
|
-
if (!__hasOwnProp.call(to, key))
|
|
12
|
-
__defProp(to, key, {
|
|
13
|
-
get: () => mod[key],
|
|
14
|
-
enumerable: true
|
|
15
|
-
});
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
2
|
var __export = (target, all) => {
|
|
19
3
|
for (var name in all)
|
|
20
4
|
__defProp(target, name, {
|
|
@@ -24,7 +8,417 @@ var __export = (target, all) => {
|
|
|
24
8
|
set: (newValue) => all[name] = () => newValue
|
|
25
9
|
});
|
|
26
10
|
};
|
|
27
|
-
var
|
|
11
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
12
|
+
|
|
13
|
+
// node:util
|
|
14
|
+
var exports_util = {};
|
|
15
|
+
__export(exports_util, {
|
|
16
|
+
types: () => types,
|
|
17
|
+
promisify: () => promisify,
|
|
18
|
+
log: () => log,
|
|
19
|
+
isUndefined: () => isUndefined,
|
|
20
|
+
isSymbol: () => isSymbol,
|
|
21
|
+
isString: () => isString,
|
|
22
|
+
isRegExp: () => isRegExp,
|
|
23
|
+
isPrimitive: () => isPrimitive,
|
|
24
|
+
isObject: () => isObject,
|
|
25
|
+
isNumber: () => isNumber,
|
|
26
|
+
isNullOrUndefined: () => isNullOrUndefined,
|
|
27
|
+
isNull: () => isNull,
|
|
28
|
+
isFunction: () => isFunction,
|
|
29
|
+
isError: () => isError,
|
|
30
|
+
isDate: () => isDate,
|
|
31
|
+
isBuffer: () => isBuffer,
|
|
32
|
+
isBoolean: () => isBoolean,
|
|
33
|
+
isArray: () => isArray,
|
|
34
|
+
inspect: () => inspect,
|
|
35
|
+
inherits: () => inherits,
|
|
36
|
+
format: () => format,
|
|
37
|
+
deprecate: () => deprecate,
|
|
38
|
+
default: () => util_default,
|
|
39
|
+
debuglog: () => debuglog,
|
|
40
|
+
callbackifyOnRejected: () => callbackifyOnRejected,
|
|
41
|
+
callbackify: () => callbackify,
|
|
42
|
+
_extend: () => _extend,
|
|
43
|
+
TextEncoder: () => TextEncoder,
|
|
44
|
+
TextDecoder: () => TextDecoder
|
|
45
|
+
});
|
|
46
|
+
function format(f, ...args) {
|
|
47
|
+
if (!isString(f)) {
|
|
48
|
+
var objects = [f];
|
|
49
|
+
for (var i = 0;i < args.length; i++)
|
|
50
|
+
objects.push(inspect(args[i]));
|
|
51
|
+
return objects.join(" ");
|
|
52
|
+
}
|
|
53
|
+
var i = 0, len = args.length, str = String(f).replace(formatRegExp, function(x2) {
|
|
54
|
+
if (x2 === "%%")
|
|
55
|
+
return "%";
|
|
56
|
+
if (i >= len)
|
|
57
|
+
return x2;
|
|
58
|
+
switch (x2) {
|
|
59
|
+
case "%s":
|
|
60
|
+
return String(args[i++]);
|
|
61
|
+
case "%d":
|
|
62
|
+
return Number(args[i++]);
|
|
63
|
+
case "%j":
|
|
64
|
+
try {
|
|
65
|
+
return JSON.stringify(args[i++]);
|
|
66
|
+
} catch (_) {
|
|
67
|
+
return "[Circular]";
|
|
68
|
+
}
|
|
69
|
+
default:
|
|
70
|
+
return x2;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
for (var x = args[i];i < len; x = args[++i])
|
|
74
|
+
if (isNull(x) || !isObject(x))
|
|
75
|
+
str += " " + x;
|
|
76
|
+
else
|
|
77
|
+
str += " " + inspect(x);
|
|
78
|
+
return str;
|
|
79
|
+
}
|
|
80
|
+
function deprecate(fn, msg) {
|
|
81
|
+
if (typeof process > "u" || process?.noDeprecation === true)
|
|
82
|
+
return fn;
|
|
83
|
+
var warned = false;
|
|
84
|
+
function deprecated(...args) {
|
|
85
|
+
if (!warned) {
|
|
86
|
+
if (process.throwDeprecation)
|
|
87
|
+
throw Error(msg);
|
|
88
|
+
else if (process.traceDeprecation)
|
|
89
|
+
console.trace(msg);
|
|
90
|
+
else
|
|
91
|
+
console.error(msg);
|
|
92
|
+
warned = true;
|
|
93
|
+
}
|
|
94
|
+
return fn.apply(this, ...args);
|
|
95
|
+
}
|
|
96
|
+
return deprecated;
|
|
97
|
+
}
|
|
98
|
+
function stylizeWithColor(str, styleType) {
|
|
99
|
+
var style = inspect.styles[styleType];
|
|
100
|
+
if (style)
|
|
101
|
+
return "\x1B[" + inspect.colors[style][0] + "m" + str + "\x1B[" + inspect.colors[style][1] + "m";
|
|
102
|
+
else
|
|
103
|
+
return str;
|
|
104
|
+
}
|
|
105
|
+
function stylizeNoColor(str, styleType) {
|
|
106
|
+
return str;
|
|
107
|
+
}
|
|
108
|
+
function arrayToHash(array) {
|
|
109
|
+
var hash = {};
|
|
110
|
+
return array.forEach(function(val, idx) {
|
|
111
|
+
hash[val] = true;
|
|
112
|
+
}), hash;
|
|
113
|
+
}
|
|
114
|
+
function formatValue(ctx, value, recurseTimes) {
|
|
115
|
+
if (ctx.customInspect && value && isFunction(value.inspect) && value.inspect !== inspect && !(value.constructor && value.constructor.prototype === value)) {
|
|
116
|
+
var ret = value.inspect(recurseTimes, ctx);
|
|
117
|
+
if (!isString(ret))
|
|
118
|
+
ret = formatValue(ctx, ret, recurseTimes);
|
|
119
|
+
return ret;
|
|
120
|
+
}
|
|
121
|
+
var primitive = formatPrimitive(ctx, value);
|
|
122
|
+
if (primitive)
|
|
123
|
+
return primitive;
|
|
124
|
+
var keys = Object.keys(value), visibleKeys = arrayToHash(keys);
|
|
125
|
+
if (ctx.showHidden)
|
|
126
|
+
keys = Object.getOwnPropertyNames(value);
|
|
127
|
+
if (isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0))
|
|
128
|
+
return formatError(value);
|
|
129
|
+
if (keys.length === 0) {
|
|
130
|
+
if (isFunction(value)) {
|
|
131
|
+
var name = value.name ? ": " + value.name : "";
|
|
132
|
+
return ctx.stylize("[Function" + name + "]", "special");
|
|
133
|
+
}
|
|
134
|
+
if (isRegExp(value))
|
|
135
|
+
return ctx.stylize(RegExp.prototype.toString.call(value), "regexp");
|
|
136
|
+
if (isDate(value))
|
|
137
|
+
return ctx.stylize(Date.prototype.toString.call(value), "date");
|
|
138
|
+
if (isError(value))
|
|
139
|
+
return formatError(value);
|
|
140
|
+
}
|
|
141
|
+
var base = "", array = false, braces = ["{", "}"];
|
|
142
|
+
if (isArray(value))
|
|
143
|
+
array = true, braces = ["[", "]"];
|
|
144
|
+
if (isFunction(value)) {
|
|
145
|
+
var n = value.name ? ": " + value.name : "";
|
|
146
|
+
base = " [Function" + n + "]";
|
|
147
|
+
}
|
|
148
|
+
if (isRegExp(value))
|
|
149
|
+
base = " " + RegExp.prototype.toString.call(value);
|
|
150
|
+
if (isDate(value))
|
|
151
|
+
base = " " + Date.prototype.toUTCString.call(value);
|
|
152
|
+
if (isError(value))
|
|
153
|
+
base = " " + formatError(value);
|
|
154
|
+
if (keys.length === 0 && (!array || value.length == 0))
|
|
155
|
+
return braces[0] + base + braces[1];
|
|
156
|
+
if (recurseTimes < 0)
|
|
157
|
+
if (isRegExp(value))
|
|
158
|
+
return ctx.stylize(RegExp.prototype.toString.call(value), "regexp");
|
|
159
|
+
else
|
|
160
|
+
return ctx.stylize("[Object]", "special");
|
|
161
|
+
ctx.seen.push(value);
|
|
162
|
+
var output;
|
|
163
|
+
if (array)
|
|
164
|
+
output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
|
|
165
|
+
else
|
|
166
|
+
output = keys.map(function(key) {
|
|
167
|
+
return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
|
|
168
|
+
});
|
|
169
|
+
return ctx.seen.pop(), reduceToSingleString(output, base, braces);
|
|
170
|
+
}
|
|
171
|
+
function formatPrimitive(ctx, value) {
|
|
172
|
+
if (isUndefined(value))
|
|
173
|
+
return ctx.stylize("undefined", "undefined");
|
|
174
|
+
if (isString(value)) {
|
|
175
|
+
var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
|
|
176
|
+
return ctx.stylize(simple, "string");
|
|
177
|
+
}
|
|
178
|
+
if (isNumber(value))
|
|
179
|
+
return ctx.stylize("" + value, "number");
|
|
180
|
+
if (isBoolean(value))
|
|
181
|
+
return ctx.stylize("" + value, "boolean");
|
|
182
|
+
if (isNull(value))
|
|
183
|
+
return ctx.stylize("null", "null");
|
|
184
|
+
}
|
|
185
|
+
function formatError(value) {
|
|
186
|
+
return "[" + Error.prototype.toString.call(value) + "]";
|
|
187
|
+
}
|
|
188
|
+
function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
|
|
189
|
+
var output = [];
|
|
190
|
+
for (var i = 0, l = value.length;i < l; ++i)
|
|
191
|
+
if (hasOwnProperty(value, String(i)))
|
|
192
|
+
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));
|
|
193
|
+
else
|
|
194
|
+
output.push("");
|
|
195
|
+
return keys.forEach(function(key) {
|
|
196
|
+
if (!key.match(/^\d+$/))
|
|
197
|
+
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));
|
|
198
|
+
}), output;
|
|
199
|
+
}
|
|
200
|
+
function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
|
|
201
|
+
var name, str, desc;
|
|
202
|
+
if (desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }, desc.get)
|
|
203
|
+
if (desc.set)
|
|
204
|
+
str = ctx.stylize("[Getter/Setter]", "special");
|
|
205
|
+
else
|
|
206
|
+
str = ctx.stylize("[Getter]", "special");
|
|
207
|
+
else if (desc.set)
|
|
208
|
+
str = ctx.stylize("[Setter]", "special");
|
|
209
|
+
if (!hasOwnProperty(visibleKeys, key))
|
|
210
|
+
name = "[" + key + "]";
|
|
211
|
+
if (!str)
|
|
212
|
+
if (ctx.seen.indexOf(desc.value) < 0) {
|
|
213
|
+
if (isNull(recurseTimes))
|
|
214
|
+
str = formatValue(ctx, desc.value, null);
|
|
215
|
+
else
|
|
216
|
+
str = formatValue(ctx, desc.value, recurseTimes - 1);
|
|
217
|
+
if (str.indexOf(`
|
|
218
|
+
`) > -1)
|
|
219
|
+
if (array)
|
|
220
|
+
str = str.split(`
|
|
221
|
+
`).map(function(line) {
|
|
222
|
+
return " " + line;
|
|
223
|
+
}).join(`
|
|
224
|
+
`).slice(2);
|
|
225
|
+
else
|
|
226
|
+
str = `
|
|
227
|
+
` + str.split(`
|
|
228
|
+
`).map(function(line) {
|
|
229
|
+
return " " + line;
|
|
230
|
+
}).join(`
|
|
231
|
+
`);
|
|
232
|
+
} else
|
|
233
|
+
str = ctx.stylize("[Circular]", "special");
|
|
234
|
+
if (isUndefined(name)) {
|
|
235
|
+
if (array && key.match(/^\d+$/))
|
|
236
|
+
return str;
|
|
237
|
+
if (name = JSON.stringify("" + key), name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))
|
|
238
|
+
name = name.slice(1, -1), name = ctx.stylize(name, "name");
|
|
239
|
+
else
|
|
240
|
+
name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), name = ctx.stylize(name, "string");
|
|
241
|
+
}
|
|
242
|
+
return name + ": " + str;
|
|
243
|
+
}
|
|
244
|
+
function reduceToSingleString(output, base, braces) {
|
|
245
|
+
var numLinesEst = 0, length = output.reduce(function(prev, cur) {
|
|
246
|
+
if (numLinesEst++, cur.indexOf(`
|
|
247
|
+
`) >= 0)
|
|
248
|
+
numLinesEst++;
|
|
249
|
+
return prev + cur.replace(/\u001b\[\d\d?m/g, "").length + 1;
|
|
250
|
+
}, 0);
|
|
251
|
+
if (length > 60)
|
|
252
|
+
return braces[0] + (base === "" ? "" : base + `
|
|
253
|
+
`) + " " + output.join(`,
|
|
254
|
+
`) + " " + braces[1];
|
|
255
|
+
return braces[0] + base + " " + output.join(", ") + " " + braces[1];
|
|
256
|
+
}
|
|
257
|
+
function isArray(ar) {
|
|
258
|
+
return Array.isArray(ar);
|
|
259
|
+
}
|
|
260
|
+
function isBoolean(arg) {
|
|
261
|
+
return typeof arg === "boolean";
|
|
262
|
+
}
|
|
263
|
+
function isNull(arg) {
|
|
264
|
+
return arg === null;
|
|
265
|
+
}
|
|
266
|
+
function isNullOrUndefined(arg) {
|
|
267
|
+
return arg == null;
|
|
268
|
+
}
|
|
269
|
+
function isNumber(arg) {
|
|
270
|
+
return typeof arg === "number";
|
|
271
|
+
}
|
|
272
|
+
function isString(arg) {
|
|
273
|
+
return typeof arg === "string";
|
|
274
|
+
}
|
|
275
|
+
function isSymbol(arg) {
|
|
276
|
+
return typeof arg === "symbol";
|
|
277
|
+
}
|
|
278
|
+
function isUndefined(arg) {
|
|
279
|
+
return arg === undefined;
|
|
280
|
+
}
|
|
281
|
+
function isRegExp(re) {
|
|
282
|
+
return isObject(re) && objectToString(re) === "[object RegExp]";
|
|
283
|
+
}
|
|
284
|
+
function isObject(arg) {
|
|
285
|
+
return typeof arg === "object" && arg !== null;
|
|
286
|
+
}
|
|
287
|
+
function isDate(d) {
|
|
288
|
+
return isObject(d) && objectToString(d) === "[object Date]";
|
|
289
|
+
}
|
|
290
|
+
function isError(e) {
|
|
291
|
+
return isObject(e) && (objectToString(e) === "[object Error]" || e instanceof Error);
|
|
292
|
+
}
|
|
293
|
+
function isFunction(arg) {
|
|
294
|
+
return typeof arg === "function";
|
|
295
|
+
}
|
|
296
|
+
function isPrimitive(arg) {
|
|
297
|
+
return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || typeof arg > "u";
|
|
298
|
+
}
|
|
299
|
+
function isBuffer(arg) {
|
|
300
|
+
return arg instanceof Buffer;
|
|
301
|
+
}
|
|
302
|
+
function objectToString(o) {
|
|
303
|
+
return Object.prototype.toString.call(o);
|
|
304
|
+
}
|
|
305
|
+
function pad(n) {
|
|
306
|
+
return n < 10 ? "0" + n.toString(10) : n.toString(10);
|
|
307
|
+
}
|
|
308
|
+
function timestamp() {
|
|
309
|
+
var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(":");
|
|
310
|
+
return [d.getDate(), months[d.getMonth()], time].join(" ");
|
|
311
|
+
}
|
|
312
|
+
function log(...args) {
|
|
313
|
+
console.log("%s - %s", timestamp(), format.apply(null, args));
|
|
314
|
+
}
|
|
315
|
+
function inherits(ctor, superCtor) {
|
|
316
|
+
if (superCtor)
|
|
317
|
+
ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, { constructor: { value: ctor, enumerable: false, writable: true, configurable: true } });
|
|
318
|
+
}
|
|
319
|
+
function _extend(origin, add) {
|
|
320
|
+
if (!add || !isObject(add))
|
|
321
|
+
return origin;
|
|
322
|
+
var keys = Object.keys(add), i = keys.length;
|
|
323
|
+
while (i--)
|
|
324
|
+
origin[keys[i]] = add[keys[i]];
|
|
325
|
+
return origin;
|
|
326
|
+
}
|
|
327
|
+
function hasOwnProperty(obj, prop) {
|
|
328
|
+
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
329
|
+
}
|
|
330
|
+
function callbackifyOnRejected(reason, cb) {
|
|
331
|
+
if (!reason) {
|
|
332
|
+
var newReason = Error("Promise was rejected with a falsy value");
|
|
333
|
+
newReason.reason = reason, reason = newReason;
|
|
334
|
+
}
|
|
335
|
+
return cb(reason);
|
|
336
|
+
}
|
|
337
|
+
function callbackify(original) {
|
|
338
|
+
if (typeof original !== "function")
|
|
339
|
+
throw TypeError('The "original" argument must be of type Function');
|
|
340
|
+
function callbackified(...args) {
|
|
341
|
+
var maybeCb = args.pop();
|
|
342
|
+
if (typeof maybeCb !== "function")
|
|
343
|
+
throw TypeError("The last argument must be of type Function");
|
|
344
|
+
var self = this, cb = function(...args2) {
|
|
345
|
+
return maybeCb.apply(self, ...args2);
|
|
346
|
+
};
|
|
347
|
+
original.apply(this, args).then(function(ret) {
|
|
348
|
+
process.nextTick(cb.bind(null, null, ret));
|
|
349
|
+
}, function(rej) {
|
|
350
|
+
process.nextTick(callbackifyOnRejected.bind(null, rej, cb));
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, Object.getOwnPropertyDescriptors(original)), callbackified;
|
|
354
|
+
}
|
|
355
|
+
var formatRegExp, debuglog, inspect, types = () => {}, months, promisify, TextEncoder, TextDecoder, util_default;
|
|
356
|
+
var init_util = __esm(() => {
|
|
357
|
+
formatRegExp = /%[sdj%]/g;
|
|
358
|
+
debuglog = ((debugs = {}, debugEnvRegex = {}, debugEnv) => ((debugEnv = typeof process < "u" && false) && (debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".*").replace(/,/g, "$|^").toUpperCase()), debugEnvRegex = new RegExp("^" + debugEnv + "$", "i"), (set) => {
|
|
359
|
+
if (set = set.toUpperCase(), !debugs[set])
|
|
360
|
+
if (debugEnvRegex.test(set))
|
|
361
|
+
debugs[set] = function(...args) {
|
|
362
|
+
console.error("%s: %s", set, pid, format.apply(null, ...args));
|
|
363
|
+
};
|
|
364
|
+
else
|
|
365
|
+
debugs[set] = function() {};
|
|
366
|
+
return debugs[set];
|
|
367
|
+
}))();
|
|
368
|
+
inspect = ((i) => (i.colors = { bold: [1, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], white: [37, 39], grey: [90, 39], black: [30, 39], blue: [34, 39], cyan: [36, 39], green: [32, 39], magenta: [35, 39], red: [31, 39], yellow: [33, 39] }, i.styles = { special: "cyan", number: "yellow", boolean: "yellow", undefined: "grey", null: "bold", string: "green", date: "magenta", regexp: "red" }, i.custom = Symbol.for("nodejs.util.inspect.custom"), i))(function(obj, opts, ...rest) {
|
|
369
|
+
var ctx = { seen: [], stylize: stylizeNoColor };
|
|
370
|
+
if (rest.length >= 1)
|
|
371
|
+
ctx.depth = rest[0];
|
|
372
|
+
if (rest.length >= 2)
|
|
373
|
+
ctx.colors = rest[1];
|
|
374
|
+
if (isBoolean(opts))
|
|
375
|
+
ctx.showHidden = opts;
|
|
376
|
+
else if (opts)
|
|
377
|
+
_extend(ctx, opts);
|
|
378
|
+
if (isUndefined(ctx.showHidden))
|
|
379
|
+
ctx.showHidden = false;
|
|
380
|
+
if (isUndefined(ctx.depth))
|
|
381
|
+
ctx.depth = 2;
|
|
382
|
+
if (isUndefined(ctx.colors))
|
|
383
|
+
ctx.colors = false;
|
|
384
|
+
if (ctx.colors)
|
|
385
|
+
ctx.stylize = stylizeWithColor;
|
|
386
|
+
return formatValue(ctx, obj, ctx.depth);
|
|
387
|
+
});
|
|
388
|
+
months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
389
|
+
promisify = ((x) => (x.custom = Symbol.for("nodejs.util.promisify.custom"), x))(function(original) {
|
|
390
|
+
if (typeof original !== "function")
|
|
391
|
+
throw TypeError('The "original" argument must be of type Function');
|
|
392
|
+
if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {
|
|
393
|
+
var fn = original[kCustomPromisifiedSymbol];
|
|
394
|
+
if (typeof fn !== "function")
|
|
395
|
+
throw TypeError('The "nodejs.util.promisify.custom" argument must be of type Function');
|
|
396
|
+
return Object.defineProperty(fn, kCustomPromisifiedSymbol, { value: fn, enumerable: false, writable: false, configurable: true }), fn;
|
|
397
|
+
}
|
|
398
|
+
function fn(...args) {
|
|
399
|
+
var promiseResolve, promiseReject, promise = new Promise(function(resolve, reject) {
|
|
400
|
+
promiseResolve = resolve, promiseReject = reject;
|
|
401
|
+
});
|
|
402
|
+
args.push(function(err, value) {
|
|
403
|
+
if (err)
|
|
404
|
+
promiseReject(err);
|
|
405
|
+
else
|
|
406
|
+
promiseResolve(value);
|
|
407
|
+
});
|
|
408
|
+
try {
|
|
409
|
+
original.apply(this, args);
|
|
410
|
+
} catch (err) {
|
|
411
|
+
promiseReject(err);
|
|
412
|
+
}
|
|
413
|
+
return promise;
|
|
414
|
+
}
|
|
415
|
+
if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol)
|
|
416
|
+
Object.defineProperty(fn, kCustomPromisifiedSymbol, { value: fn, enumerable: false, writable: false, configurable: true });
|
|
417
|
+
return Object.defineProperties(fn, Object.getOwnPropertyDescriptors(original));
|
|
418
|
+
});
|
|
419
|
+
({ TextEncoder, TextDecoder } = globalThis);
|
|
420
|
+
util_default = { TextEncoder, TextDecoder, promisify, log, inherits, _extend, callbackifyOnRejected, callbackify };
|
|
421
|
+
});
|
|
28
422
|
|
|
29
423
|
// ../../internal/constants/src/endpoints.ts
|
|
30
424
|
var DEFAULT_PLATFORM = "BEYOND_AI";
|
|
@@ -180,7 +574,7 @@ function detectEnvironment() {
|
|
|
180
574
|
var nodeInspect;
|
|
181
575
|
if (!isBrowser()) {
|
|
182
576
|
try {
|
|
183
|
-
const util = await
|
|
577
|
+
const util = await Promise.resolve().then(() => (init_util(), exports_util));
|
|
184
578
|
nodeInspect = util.inspect;
|
|
185
579
|
} catch {}
|
|
186
580
|
}
|
|
@@ -233,10 +627,10 @@ var terminalFormatter = (entry) => {
|
|
|
233
627
|
const consoleMethod = getConsoleMethod(entry.level);
|
|
234
628
|
const levelUpper = entry.level.toUpperCase().padEnd(5);
|
|
235
629
|
const isoString = entry.timestamp.toISOString().replace(/\.\d{3}Z$/, "");
|
|
236
|
-
const
|
|
630
|
+
const timestamp2 = `${colors.dim}[${isoString}]${colors.reset}`;
|
|
237
631
|
const level = `${levelColor}${levelUpper}${colors.reset}`;
|
|
238
632
|
const scope = entry.scope ? `${colors.bold}[${entry.scope}]${colors.reset} ` : "";
|
|
239
|
-
const prefix = `${
|
|
633
|
+
const prefix = `${timestamp2} ${level} ${scope}${entry.message}`;
|
|
240
634
|
if (entry.context && Object.keys(entry.context).length > 0) {
|
|
241
635
|
consoleMethod(prefix, formatContext(entry.context));
|
|
242
636
|
} else {
|
|
@@ -251,9 +645,9 @@ var LEVEL_PREFIX = {
|
|
|
251
645
|
error: "[ERROR]"
|
|
252
646
|
};
|
|
253
647
|
function formatContext2(context) {
|
|
254
|
-
return Object.entries(context).map(([key, value]) => `${key}=${
|
|
648
|
+
return Object.entries(context).map(([key, value]) => `${key}=${formatValue2(value)}`).join(" ");
|
|
255
649
|
}
|
|
256
|
-
function
|
|
650
|
+
function formatValue2(value) {
|
|
257
651
|
if (typeof value === "string")
|
|
258
652
|
return value;
|
|
259
653
|
if (typeof value === "number")
|
|
@@ -413,7 +807,7 @@ function isDebug() {
|
|
|
413
807
|
return false;
|
|
414
808
|
}
|
|
415
809
|
}
|
|
416
|
-
var
|
|
810
|
+
var log2 = createLogger({ scope: "auth", minLevel: isDebug() ? "debug" : "warn" });
|
|
417
811
|
|
|
418
812
|
class TokenManager {
|
|
419
813
|
config;
|
|
@@ -427,11 +821,11 @@ class TokenManager {
|
|
|
427
821
|
}
|
|
428
822
|
async getToken() {
|
|
429
823
|
if (this.accessToken && Date.now() < this.tokenExpiry) {
|
|
430
|
-
|
|
824
|
+
log2.debug("Using cached token");
|
|
431
825
|
return this.accessToken;
|
|
432
826
|
}
|
|
433
827
|
if (this.pendingRequest) {
|
|
434
|
-
|
|
828
|
+
log2.debug("Waiting for in-flight token request");
|
|
435
829
|
return this.pendingRequest;
|
|
436
830
|
}
|
|
437
831
|
this.pendingRequest = this.fetchToken();
|
|
@@ -442,7 +836,7 @@ class TokenManager {
|
|
|
442
836
|
}
|
|
443
837
|
}
|
|
444
838
|
async fetchToken() {
|
|
445
|
-
|
|
839
|
+
log2.debug("Fetching new access token...");
|
|
446
840
|
const { clientId, clientSecret } = this.config.credentials;
|
|
447
841
|
const credentials = btoa(`${clientId}:${clientSecret}`);
|
|
448
842
|
const start = performance.now();
|
|
@@ -456,17 +850,17 @@ class TokenManager {
|
|
|
456
850
|
});
|
|
457
851
|
const duration = Math.round(performance.now() - start);
|
|
458
852
|
if (!response.ok) {
|
|
459
|
-
|
|
853
|
+
log2.error(`Token request failed: ${response.status} ${response.statusText}`);
|
|
460
854
|
throw new Error(`Failed to obtain access token: ${response.status} ${response.statusText}`);
|
|
461
855
|
}
|
|
462
856
|
const data = await response.json();
|
|
463
857
|
this.accessToken = data.access_token;
|
|
464
858
|
this.tokenExpiry = Date.now() + (data.expires_in - 60) * 1000;
|
|
465
|
-
|
|
859
|
+
log2.debug(`Token acquired (${duration}ms, expires in ${data.expires_in}s)`);
|
|
466
860
|
return this.accessToken;
|
|
467
861
|
}
|
|
468
862
|
invalidate() {
|
|
469
|
-
|
|
863
|
+
log2.debug("Token invalidated");
|
|
470
864
|
this.accessToken = null;
|
|
471
865
|
this.tokenExpiry = 0;
|
|
472
866
|
}
|
|
@@ -487,6 +881,9 @@ var BEYONDAI_PATHS = {
|
|
|
487
881
|
},
|
|
488
882
|
edubridge: {
|
|
489
883
|
base: "/edubridge"
|
|
884
|
+
},
|
|
885
|
+
powerpath: {
|
|
886
|
+
base: "/powerpath"
|
|
490
887
|
}
|
|
491
888
|
};
|
|
492
889
|
var LEARNWITHAI_PATHS = {
|
|
@@ -502,7 +899,8 @@ var LEARNWITHAI_PATHS = {
|
|
|
502
899
|
gradebook: "/gradebook/1.0",
|
|
503
900
|
resources: "/resources/1.0"
|
|
504
901
|
},
|
|
505
|
-
edubridge: null
|
|
902
|
+
edubridge: null,
|
|
903
|
+
powerpath: null
|
|
506
904
|
};
|
|
507
905
|
var PLATFORM_PATHS = {
|
|
508
906
|
BEYOND_AI: BEYONDAI_PATHS,
|
|
@@ -524,7 +922,8 @@ function resolvePathProfiles(pathProfile, customPaths) {
|
|
|
524
922
|
return {
|
|
525
923
|
caliper: customPaths?.caliper ?? basePaths.caliper,
|
|
526
924
|
oneroster: customPaths?.oneroster ?? basePaths.oneroster,
|
|
527
|
-
edubridge: customPaths?.edubridge ?? basePaths.edubridge
|
|
925
|
+
edubridge: customPaths?.edubridge ?? basePaths.edubridge,
|
|
926
|
+
powerpath: customPaths?.powerpath ?? basePaths.powerpath
|
|
528
927
|
};
|
|
529
928
|
}
|
|
530
929
|
|
|
@@ -560,6 +959,10 @@ class TimebackProvider {
|
|
|
560
959
|
baseUrl: platformEndpoints.api[env],
|
|
561
960
|
authUrl: this.authUrl
|
|
562
961
|
},
|
|
962
|
+
powerpath: {
|
|
963
|
+
baseUrl: platformEndpoints.api[env],
|
|
964
|
+
authUrl: this.authUrl
|
|
965
|
+
},
|
|
563
966
|
caliper: {
|
|
564
967
|
baseUrl: platformEndpoints.caliper[env],
|
|
565
968
|
authUrl: this.authUrl
|
|
@@ -576,6 +979,7 @@ class TimebackProvider {
|
|
|
576
979
|
this.endpoints = {
|
|
577
980
|
oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
578
981
|
edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
982
|
+
powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
579
983
|
caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
|
|
580
984
|
qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
|
|
581
985
|
};
|
|
@@ -694,7 +1098,17 @@ class TimebackProvider {
|
|
|
694
1098
|
// ../../internal/client-infra/src/utils/utils.ts
|
|
695
1099
|
function getEnv(key) {
|
|
696
1100
|
try {
|
|
697
|
-
|
|
1101
|
+
if (typeof process === "undefined")
|
|
1102
|
+
return;
|
|
1103
|
+
if (typeof key === "string") {
|
|
1104
|
+
return process.env[key];
|
|
1105
|
+
}
|
|
1106
|
+
for (const k of key) {
|
|
1107
|
+
const value = process.env[k];
|
|
1108
|
+
if (value !== undefined)
|
|
1109
|
+
return value;
|
|
1110
|
+
}
|
|
1111
|
+
return;
|
|
698
1112
|
} catch {
|
|
699
1113
|
return;
|
|
700
1114
|
}
|
|
@@ -728,6 +1142,18 @@ var DEFAULT_PROVIDER_REGISTRY = {
|
|
|
728
1142
|
};
|
|
729
1143
|
|
|
730
1144
|
// ../../internal/client-infra/src/config/resolve.ts
|
|
1145
|
+
function primaryEnvVar(key) {
|
|
1146
|
+
if (typeof key === "string") {
|
|
1147
|
+
return key;
|
|
1148
|
+
}
|
|
1149
|
+
if (key.length === 0) {
|
|
1150
|
+
throw new Error(`Missing env var key: ${key}`);
|
|
1151
|
+
}
|
|
1152
|
+
return key[0];
|
|
1153
|
+
}
|
|
1154
|
+
function formatEnvVarKey(key) {
|
|
1155
|
+
return primaryEnvVar(key);
|
|
1156
|
+
}
|
|
731
1157
|
function validateEnv(env) {
|
|
732
1158
|
if (env !== "staging" && env !== "production") {
|
|
733
1159
|
throw new Error(`Invalid env "${env}": must be "staging" or "production"`);
|
|
@@ -738,10 +1164,10 @@ function validateAuth(auth, envVars) {
|
|
|
738
1164
|
const clientId = auth?.clientId ?? getEnv(envVars.clientId);
|
|
739
1165
|
const clientSecret = auth?.clientSecret ?? getEnv(envVars.clientSecret);
|
|
740
1166
|
if (!clientId) {
|
|
741
|
-
throw new Error(`Missing clientId: provide in config or set ${envVars.clientId}`);
|
|
1167
|
+
throw new Error(`Missing clientId: provide in config or set ${formatEnvVarKey(envVars.clientId)}`);
|
|
742
1168
|
}
|
|
743
1169
|
if (!clientSecret) {
|
|
744
|
-
throw new Error(`Missing clientSecret: provide in config or set ${envVars.clientSecret}`);
|
|
1170
|
+
throw new Error(`Missing clientSecret: provide in config or set ${formatEnvVarKey(envVars.clientSecret)}`);
|
|
745
1171
|
}
|
|
746
1172
|
return { clientId, clientSecret };
|
|
747
1173
|
}
|
|
@@ -757,21 +1183,21 @@ function buildMissingEnvError(envVars) {
|
|
|
757
1183
|
const clientId = getEnv(envVars.clientId);
|
|
758
1184
|
const clientSecret = getEnv(envVars.clientSecret);
|
|
759
1185
|
if (baseUrl === undefined && clientId === undefined) {
|
|
760
|
-
const hint = envVars.env ?? envVars.baseUrl;
|
|
1186
|
+
const hint = formatEnvVarKey(envVars.env ?? envVars.baseUrl);
|
|
761
1187
|
return `Missing env: provide in config or set ${hint}`;
|
|
762
1188
|
}
|
|
763
1189
|
const missing = [];
|
|
764
1190
|
if (baseUrl === undefined) {
|
|
765
|
-
missing.push(envVars.env ?? envVars.baseUrl);
|
|
1191
|
+
missing.push(formatEnvVarKey(envVars.env ?? envVars.baseUrl));
|
|
766
1192
|
}
|
|
767
1193
|
if (baseUrl !== undefined && authUrl === undefined) {
|
|
768
|
-
missing.push(envVars.authUrl);
|
|
1194
|
+
missing.push(formatEnvVarKey(envVars.authUrl));
|
|
769
1195
|
}
|
|
770
1196
|
if (clientId === undefined) {
|
|
771
|
-
missing.push(envVars.clientId);
|
|
1197
|
+
missing.push(formatEnvVarKey(envVars.clientId));
|
|
772
1198
|
}
|
|
773
1199
|
if (clientSecret === undefined) {
|
|
774
|
-
missing.push(envVars.clientSecret);
|
|
1200
|
+
missing.push(formatEnvVarKey(envVars.clientSecret));
|
|
775
1201
|
}
|
|
776
1202
|
return `Missing environment variables: ${missing.join(", ")}`;
|
|
777
1203
|
}
|
|
@@ -1247,43 +1673,43 @@ function escapeValue(value) {
|
|
|
1247
1673
|
}
|
|
1248
1674
|
return value.replaceAll("'", "''");
|
|
1249
1675
|
}
|
|
1250
|
-
function
|
|
1676
|
+
function formatValue3(value) {
|
|
1251
1677
|
const escaped = escapeValue(value);
|
|
1252
1678
|
const needsQuotes = typeof value === "string" || value instanceof Date;
|
|
1253
1679
|
return needsQuotes ? `'${escaped}'` : escaped;
|
|
1254
1680
|
}
|
|
1255
1681
|
function fieldToConditions(field, condition) {
|
|
1256
1682
|
if (typeof condition === "string" || typeof condition === "number" || typeof condition === "boolean" || condition instanceof Date) {
|
|
1257
|
-
return [`${field}=${
|
|
1683
|
+
return [`${field}=${formatValue3(condition)}`];
|
|
1258
1684
|
}
|
|
1259
1685
|
if (typeof condition === "object" && condition !== null) {
|
|
1260
1686
|
const ops = condition;
|
|
1261
1687
|
const conditions = [];
|
|
1262
1688
|
if (ops.ne !== undefined) {
|
|
1263
|
-
conditions.push(`${field}!=${
|
|
1689
|
+
conditions.push(`${field}!=${formatValue3(ops.ne)}`);
|
|
1264
1690
|
}
|
|
1265
1691
|
if (ops.gt !== undefined) {
|
|
1266
|
-
conditions.push(`${field}>${
|
|
1692
|
+
conditions.push(`${field}>${formatValue3(ops.gt)}`);
|
|
1267
1693
|
}
|
|
1268
1694
|
if (ops.gte !== undefined) {
|
|
1269
|
-
conditions.push(`${field}>=${
|
|
1695
|
+
conditions.push(`${field}>=${formatValue3(ops.gte)}`);
|
|
1270
1696
|
}
|
|
1271
1697
|
if (ops.lt !== undefined) {
|
|
1272
|
-
conditions.push(`${field}<${
|
|
1698
|
+
conditions.push(`${field}<${formatValue3(ops.lt)}`);
|
|
1273
1699
|
}
|
|
1274
1700
|
if (ops.lte !== undefined) {
|
|
1275
|
-
conditions.push(`${field}<=${
|
|
1701
|
+
conditions.push(`${field}<=${formatValue3(ops.lte)}`);
|
|
1276
1702
|
}
|
|
1277
1703
|
if (ops.contains !== undefined) {
|
|
1278
|
-
conditions.push(`${field}~${
|
|
1704
|
+
conditions.push(`${field}~${formatValue3(ops.contains)}`);
|
|
1279
1705
|
}
|
|
1280
1706
|
if (ops.in !== undefined && ops.in.length > 0) {
|
|
1281
|
-
const inConditions = ops.in.map((v) => `${field}=${
|
|
1707
|
+
const inConditions = ops.in.map((v) => `${field}=${formatValue3(v)}`);
|
|
1282
1708
|
const joined = inConditions.join(" OR ");
|
|
1283
1709
|
conditions.push(inConditions.length > 1 ? `(${joined})` : joined);
|
|
1284
1710
|
}
|
|
1285
1711
|
if (ops.notIn !== undefined && ops.notIn.length > 0) {
|
|
1286
|
-
const notInConditions = ops.notIn.map((v) => `${field}!=${
|
|
1712
|
+
const notInConditions = ops.notIn.map((v) => `${field}!=${formatValue3(v)}`);
|
|
1287
1713
|
conditions.push(notInConditions.join(" AND "));
|
|
1288
1714
|
}
|
|
1289
1715
|
return conditions;
|