@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/index.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 __require = /* @__PURE__ */ createRequire(import.meta.url);
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 import("node:util");
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 timestamp = `${colors.dim}[${isoString}]${colors.reset}`;
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 = `${timestamp} ${level} ${scope}${entry.message}`;
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}=${formatValue(value)}`).join(" ");
648
+ return Object.entries(context).map(([key, value]) => `${key}=${formatValue2(value)}`).join(" ");
255
649
  }
256
- function formatValue(value) {
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 log = createLogger({ scope: "auth", minLevel: isDebug() ? "debug" : "warn" });
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
- log.debug("Using cached token");
824
+ log2.debug("Using cached token");
431
825
  return this.accessToken;
432
826
  }
433
827
  if (this.pendingRequest) {
434
- log.debug("Waiting for in-flight token request");
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
- log.debug("Fetching new access token...");
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
- log.error(`Token request failed: ${response.status} ${response.statusText}`);
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
- log.debug(`Token acquired (${duration}ms, expires in ${data.expires_in}s)`);
859
+ log2.debug(`Token acquired (${duration}ms, expires in ${data.expires_in}s)`);
466
860
  return this.accessToken;
467
861
  }
468
862
  invalidate() {
469
- log.debug("Token invalidated");
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
- return typeof process === "undefined" ? undefined : process.env[key];
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 formatValue2(value) {
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}=${formatValue2(condition)}`];
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}!=${formatValue2(ops.ne)}`);
1689
+ conditions.push(`${field}!=${formatValue3(ops.ne)}`);
1264
1690
  }
1265
1691
  if (ops.gt !== undefined) {
1266
- conditions.push(`${field}>${formatValue2(ops.gt)}`);
1692
+ conditions.push(`${field}>${formatValue3(ops.gt)}`);
1267
1693
  }
1268
1694
  if (ops.gte !== undefined) {
1269
- conditions.push(`${field}>=${formatValue2(ops.gte)}`);
1695
+ conditions.push(`${field}>=${formatValue3(ops.gte)}`);
1270
1696
  }
1271
1697
  if (ops.lt !== undefined) {
1272
- conditions.push(`${field}<${formatValue2(ops.lt)}`);
1698
+ conditions.push(`${field}<${formatValue3(ops.lt)}`);
1273
1699
  }
1274
1700
  if (ops.lte !== undefined) {
1275
- conditions.push(`${field}<=${formatValue2(ops.lte)}`);
1701
+ conditions.push(`${field}<=${formatValue3(ops.lte)}`);
1276
1702
  }
1277
1703
  if (ops.contains !== undefined) {
1278
- conditions.push(`${field}~${formatValue2(ops.contains)}`);
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}=${formatValue2(v)}`);
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}!=${formatValue2(v)}`);
1712
+ const notInConditions = ops.notIn.map((v) => `${field}!=${formatValue3(v)}`);
1287
1713
  conditions.push(notInConditions.join(" AND "));
1288
1714
  }
1289
1715
  return conditions;
@@ -1477,10 +1903,10 @@ function validatePageListParams(params) {
1477
1903
  }
1478
1904
  // src/constants.ts
1479
1905
  var QTI_ENV_VARS = {
1480
- baseUrl: "QTI_BASE_URL",
1481
- clientId: "QTI_CLIENT_ID",
1482
- clientSecret: "QTI_CLIENT_SECRET",
1483
- authUrl: "QTI_TOKEN_URL"
1906
+ baseUrl: ["TIMEBACK_API_BASE_URL", "TIMEBACK_BASE_URL", "QTI_BASE_URL"],
1907
+ clientId: ["TIMEBACK_API_CLIENT_ID", "TIMEBACK_CLIENT_ID", "QTI_CLIENT_ID"],
1908
+ clientSecret: ["TIMEBACK_API_CLIENT_SECRET", "TIMEBACK_CLIENT_SECRET", "QTI_CLIENT_SECRET"],
1909
+ authUrl: ["TIMEBACK_API_AUTH_URL", "TIMEBACK_AUTH_URL", "QTI_TOKEN_URL"]
1484
1910
  };
1485
1911
 
1486
1912
  // src/lib/resolve.ts
@@ -1489,12 +1915,12 @@ function resolveToProvider2(config, registry = DEFAULT_PROVIDER_REGISTRY) {
1489
1915
  }
1490
1916
 
1491
1917
  // src/utils.ts
1492
- var log2 = createScopedLogger("qti");
1918
+ var log3 = createScopedLogger("qti");
1493
1919
 
1494
1920
  // src/lib/transport.ts
1495
1921
  class Transport extends BaseTransport {
1496
1922
  constructor(config) {
1497
- super({ config, logger: log2 });
1923
+ super({ config, logger: log3 });
1498
1924
  }
1499
1925
  async requestPaginated(path, options = {}) {
1500
1926
  const body = await this.request(path, options);
@@ -1509,7 +1935,7 @@ class Transport extends BaseTransport {
1509
1935
  }
1510
1936
  }
1511
1937
 
1512
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/external.js
1938
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js
1513
1939
  var exports_external = {};
1514
1940
  __export(exports_external, {
1515
1941
  xor: () => xor,
@@ -1519,7 +1945,7 @@ __export(exports_external, {
1519
1945
  uuidv6: () => uuidv6,
1520
1946
  uuidv4: () => uuidv4,
1521
1947
  uuid: () => uuid2,
1522
- util: () => exports_util,
1948
+ util: () => exports_util2,
1523
1949
  url: () => url,
1524
1950
  uppercase: () => _uppercase,
1525
1951
  unknown: () => unknown,
@@ -1628,7 +2054,7 @@ __export(exports_external, {
1628
2054
  getErrorMap: () => getErrorMap,
1629
2055
  function: () => _function,
1630
2056
  fromJSONSchema: () => fromJSONSchema,
1631
- formatError: () => formatError,
2057
+ formatError: () => formatError2,
1632
2058
  float64: () => float64,
1633
2059
  float32: () => float32,
1634
2060
  flattenError: () => flattenError,
@@ -1750,11 +2176,11 @@ __export(exports_external, {
1750
2176
  $brand: () => $brand
1751
2177
  });
1752
2178
 
1753
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/index.js
2179
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/index.js
1754
2180
  var exports_core2 = {};
1755
2181
  __export(exports_core2, {
1756
2182
  version: () => version,
1757
- util: () => exports_util,
2183
+ util: () => exports_util2,
1758
2184
  treeifyError: () => treeifyError,
1759
2185
  toJSONSchema: () => toJSONSchema,
1760
2186
  toDotPath: () => toDotPath,
@@ -1778,7 +2204,7 @@ __export(exports_core2, {
1778
2204
  initializeContext: () => initializeContext,
1779
2205
  globalRegistry: () => globalRegistry,
1780
2206
  globalConfig: () => globalConfig,
1781
- formatError: () => formatError,
2207
+ formatError: () => formatError2,
1782
2208
  flattenError: () => flattenError,
1783
2209
  finalize: () => finalize,
1784
2210
  extractDefs: () => extractDefs,
@@ -2028,7 +2454,7 @@ __export(exports_core2, {
2028
2454
  $ZodAny: () => $ZodAny
2029
2455
  });
2030
2456
 
2031
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/core.js
2457
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/core.js
2032
2458
  var NEVER = Object.freeze({
2033
2459
  status: "aborted"
2034
2460
  });
@@ -2104,9 +2530,9 @@ function config(newConfig) {
2104
2530
  Object.assign(globalConfig, newConfig);
2105
2531
  return globalConfig;
2106
2532
  }
2107
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/util.js
2108
- var exports_util = {};
2109
- __export(exports_util, {
2533
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js
2534
+ var exports_util2 = {};
2535
+ __export(exports_util2, {
2110
2536
  unwrapMessage: () => unwrapMessage,
2111
2537
  uint8ArrayToHex: () => uint8ArrayToHex,
2112
2538
  uint8ArrayToBase64url: () => uint8ArrayToBase64url,
@@ -2136,7 +2562,7 @@ __export(exports_util, {
2136
2562
  joinValues: () => joinValues,
2137
2563
  issue: () => issue2,
2138
2564
  isPlainObject: () => isPlainObject,
2139
- isObject: () => isObject,
2565
+ isObject: () => isObject2,
2140
2566
  hexToUint8Array: () => hexToUint8Array,
2141
2567
  getSizableOrigin: () => getSizableOrigin,
2142
2568
  getParsedType: () => getParsedType,
@@ -2305,7 +2731,7 @@ function slugify(input) {
2305
2731
  return input.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
2306
2732
  }
2307
2733
  var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => {};
2308
- function isObject(data) {
2734
+ function isObject2(data) {
2309
2735
  return typeof data === "object" && data !== null && !Array.isArray(data);
2310
2736
  }
2311
2737
  var allowsEval = cached(() => {
@@ -2321,7 +2747,7 @@ var allowsEval = cached(() => {
2321
2747
  }
2322
2748
  });
2323
2749
  function isPlainObject(o) {
2324
- if (isObject(o) === false)
2750
+ if (isObject2(o) === false)
2325
2751
  return false;
2326
2752
  const ctor = o.constructor;
2327
2753
  if (ctor === undefined)
@@ -2329,7 +2755,7 @@ function isPlainObject(o) {
2329
2755
  if (typeof ctor !== "function")
2330
2756
  return true;
2331
2757
  const prot = ctor.prototype;
2332
- if (isObject(prot) === false)
2758
+ if (isObject2(prot) === false)
2333
2759
  return false;
2334
2760
  if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
2335
2761
  return false;
@@ -2778,7 +3204,7 @@ class Class {
2778
3204
  constructor(..._args) {}
2779
3205
  }
2780
3206
 
2781
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/errors.js
3207
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/errors.js
2782
3208
  var initializer = (inst, def) => {
2783
3209
  inst.name = "$ZodError";
2784
3210
  Object.defineProperty(inst, "_zod", {
@@ -2810,7 +3236,7 @@ function flattenError(error, mapper = (issue3) => issue3.message) {
2810
3236
  }
2811
3237
  return { formErrors, fieldErrors };
2812
3238
  }
2813
- function formatError(error, mapper = (issue3) => issue3.message) {
3239
+ function formatError2(error, mapper = (issue3) => issue3.message) {
2814
3240
  const fieldErrors = { _errors: [] };
2815
3241
  const processError = (error2) => {
2816
3242
  for (const issue3 of error2.issues) {
@@ -2915,7 +3341,7 @@ function prettifyError(error) {
2915
3341
  `);
2916
3342
  }
2917
3343
 
2918
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/parse.js
3344
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/parse.js
2919
3345
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
2920
3346
  const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
2921
3347
  const result = schema._zod.run({ value, issues: [] }, ctx);
@@ -3002,7 +3428,7 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
3002
3428
  return _safeParseAsync(_Err)(schema, value, _ctx);
3003
3429
  };
3004
3430
  var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
3005
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/regexes.js
3431
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/regexes.js
3006
3432
  var exports_regexes = {};
3007
3433
  __export(exports_regexes, {
3008
3434
  xid: () => xid,
@@ -3159,7 +3585,7 @@ var sha512_hex = /^[0-9a-fA-F]{128}$/;
3159
3585
  var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
3160
3586
  var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
3161
3587
 
3162
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/checks.js
3588
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/checks.js
3163
3589
  var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
3164
3590
  var _a;
3165
3591
  inst._zod ?? (inst._zod = {});
@@ -3706,7 +4132,7 @@ var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (ins
3706
4132
  };
3707
4133
  });
3708
4134
 
3709
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/doc.js
4135
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/doc.js
3710
4136
  class Doc {
3711
4137
  constructor(args = []) {
3712
4138
  this.content = [];
@@ -3744,14 +4170,14 @@ class Doc {
3744
4170
  }
3745
4171
  }
3746
4172
 
3747
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/versions.js
4173
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/versions.js
3748
4174
  var version = {
3749
4175
  major: 4,
3750
4176
  minor: 3,
3751
- patch: 5
4177
+ patch: 6
3752
4178
  };
3753
4179
 
3754
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/schemas.js
4180
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/schemas.js
3755
4181
  var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
3756
4182
  var _a;
3757
4183
  inst ?? (inst = {});
@@ -4335,15 +4761,15 @@ var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => {
4335
4761
  } catch (_err) {}
4336
4762
  }
4337
4763
  const input = payload.value;
4338
- const isDate = input instanceof Date;
4339
- const isValidDate = isDate && !Number.isNaN(input.getTime());
4764
+ const isDate2 = input instanceof Date;
4765
+ const isValidDate = isDate2 && !Number.isNaN(input.getTime());
4340
4766
  if (isValidDate)
4341
4767
  return payload;
4342
4768
  payload.issues.push({
4343
4769
  expected: "date",
4344
4770
  code: "invalid_type",
4345
4771
  input,
4346
- ...isDate ? { received: "Invalid Date" } : {},
4772
+ ...isDate2 ? { received: "Invalid Date" } : {},
4347
4773
  inst
4348
4774
  });
4349
4775
  return payload;
@@ -4482,13 +4908,13 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
4482
4908
  }
4483
4909
  return propValues;
4484
4910
  });
4485
- const isObject2 = isObject;
4911
+ const isObject3 = isObject2;
4486
4912
  const catchall = def.catchall;
4487
4913
  let value;
4488
4914
  inst._zod.parse = (payload, ctx) => {
4489
4915
  value ?? (value = _normalized.value);
4490
4916
  const input = payload.value;
4491
- if (!isObject2(input)) {
4917
+ if (!isObject3(input)) {
4492
4918
  payload.issues.push({
4493
4919
  expected: "object",
4494
4920
  code: "invalid_type",
@@ -4586,7 +5012,7 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) =>
4586
5012
  return (payload, ctx) => fn(shape, payload, ctx);
4587
5013
  };
4588
5014
  let fastpass;
4589
- const isObject2 = isObject;
5015
+ const isObject3 = isObject2;
4590
5016
  const jit = !globalConfig.jitless;
4591
5017
  const allowsEval2 = allowsEval;
4592
5018
  const fastEnabled = jit && allowsEval2.value;
@@ -4595,7 +5021,7 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) =>
4595
5021
  inst._zod.parse = (payload, ctx) => {
4596
5022
  value ?? (value = _normalized.value);
4597
5023
  const input = payload.value;
4598
- if (!isObject2(input)) {
5024
+ if (!isObject3(input)) {
4599
5025
  payload.issues.push({
4600
5026
  expected: "object",
4601
5027
  code: "invalid_type",
@@ -4773,7 +5199,7 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio
4773
5199
  });
4774
5200
  inst._zod.parse = (payload, ctx) => {
4775
5201
  const input = payload.value;
4776
- if (!isObject(input)) {
5202
+ if (!isObject2(input)) {
4777
5203
  payload.issues.push({
4778
5204
  code: "invalid_type",
4779
5205
  expected: "object",
@@ -5034,7 +5460,7 @@ var $ZodRecord = /* @__PURE__ */ $constructor("$ZodRecord", (inst, def) => {
5034
5460
  if (keyResult instanceof Promise) {
5035
5461
  throw new Error("Async schemas not supported in object keys currently");
5036
5462
  }
5037
- const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length && keyResult.issues.some((iss) => iss.code === "invalid_type" && iss.expected === "number");
5463
+ const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length;
5038
5464
  if (checkNumericKey) {
5039
5465
  const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);
5040
5466
  if (retryResult instanceof Promise) {
@@ -5713,7 +6139,7 @@ function handleRefineResult(result, payload, input, inst) {
5713
6139
  payload.issues.push(issue2(_iss));
5714
6140
  }
5715
6141
  }
5716
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/index.js
6142
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/index.js
5717
6143
  var exports_locales = {};
5718
6144
  __export(exports_locales, {
5719
6145
  zhTW: () => zh_TW_default,
@@ -5767,7 +6193,7 @@ __export(exports_locales, {
5767
6193
  ar: () => ar_default
5768
6194
  });
5769
6195
 
5770
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ar.js
6196
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ar.js
5771
6197
  var error = () => {
5772
6198
  const Sizable = {
5773
6199
  string: { unit: "حرف", verb: "أن يحوي" },
@@ -5873,7 +6299,7 @@ function ar_default() {
5873
6299
  localeError: error()
5874
6300
  };
5875
6301
  }
5876
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/az.js
6302
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/az.js
5877
6303
  var error2 = () => {
5878
6304
  const Sizable = {
5879
6305
  string: { unit: "simvol", verb: "olmalıdır" },
@@ -5978,7 +6404,7 @@ function az_default() {
5978
6404
  localeError: error2()
5979
6405
  };
5980
6406
  }
5981
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/be.js
6407
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/be.js
5982
6408
  function getBelarusianPlural(count, one, few, many) {
5983
6409
  const absCount = Math.abs(count);
5984
6410
  const lastDigit = absCount % 10;
@@ -6134,7 +6560,7 @@ function be_default() {
6134
6560
  localeError: error3()
6135
6561
  };
6136
6562
  }
6137
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/bg.js
6563
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/bg.js
6138
6564
  var error4 = () => {
6139
6565
  const Sizable = {
6140
6566
  string: { unit: "символа", verb: "да съдържа" },
@@ -6254,7 +6680,7 @@ function bg_default() {
6254
6680
  localeError: error4()
6255
6681
  };
6256
6682
  }
6257
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ca.js
6683
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ca.js
6258
6684
  var error5 = () => {
6259
6685
  const Sizable = {
6260
6686
  string: { unit: "caràcters", verb: "contenir" },
@@ -6361,7 +6787,7 @@ function ca_default() {
6361
6787
  localeError: error5()
6362
6788
  };
6363
6789
  }
6364
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/cs.js
6790
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/cs.js
6365
6791
  var error6 = () => {
6366
6792
  const Sizable = {
6367
6793
  string: { unit: "znaků", verb: "mít" },
@@ -6472,7 +6898,7 @@ function cs_default() {
6472
6898
  localeError: error6()
6473
6899
  };
6474
6900
  }
6475
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/da.js
6901
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/da.js
6476
6902
  var error7 = () => {
6477
6903
  const Sizable = {
6478
6904
  string: { unit: "tegn", verb: "havde" },
@@ -6587,7 +7013,7 @@ function da_default() {
6587
7013
  localeError: error7()
6588
7014
  };
6589
7015
  }
6590
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/de.js
7016
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/de.js
6591
7017
  var error8 = () => {
6592
7018
  const Sizable = {
6593
7019
  string: { unit: "Zeichen", verb: "zu haben" },
@@ -6695,7 +7121,7 @@ function de_default() {
6695
7121
  localeError: error8()
6696
7122
  };
6697
7123
  }
6698
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/en.js
7124
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/en.js
6699
7125
  var error9 = () => {
6700
7126
  const Sizable = {
6701
7127
  string: { unit: "characters", verb: "to have" },
@@ -6801,7 +7227,7 @@ function en_default() {
6801
7227
  localeError: error9()
6802
7228
  };
6803
7229
  }
6804
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/eo.js
7230
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/eo.js
6805
7231
  var error10 = () => {
6806
7232
  const Sizable = {
6807
7233
  string: { unit: "karaktrojn", verb: "havi" },
@@ -6910,7 +7336,7 @@ function eo_default() {
6910
7336
  localeError: error10()
6911
7337
  };
6912
7338
  }
6913
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/es.js
7339
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/es.js
6914
7340
  var error11 = () => {
6915
7341
  const Sizable = {
6916
7342
  string: { unit: "caracteres", verb: "tener" },
@@ -7042,7 +7468,7 @@ function es_default() {
7042
7468
  localeError: error11()
7043
7469
  };
7044
7470
  }
7045
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fa.js
7471
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fa.js
7046
7472
  var error12 = () => {
7047
7473
  const Sizable = {
7048
7474
  string: { unit: "کاراکتر", verb: "داشته باشد" },
@@ -7156,7 +7582,7 @@ function fa_default() {
7156
7582
  localeError: error12()
7157
7583
  };
7158
7584
  }
7159
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fi.js
7585
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fi.js
7160
7586
  var error13 = () => {
7161
7587
  const Sizable = {
7162
7588
  string: { unit: "merkkiä", subject: "merkkijonon" },
@@ -7268,7 +7694,7 @@ function fi_default() {
7268
7694
  localeError: error13()
7269
7695
  };
7270
7696
  }
7271
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fr.js
7697
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr.js
7272
7698
  var error14 = () => {
7273
7699
  const Sizable = {
7274
7700
  string: { unit: "caractères", verb: "avoir" },
@@ -7376,7 +7802,7 @@ function fr_default() {
7376
7802
  localeError: error14()
7377
7803
  };
7378
7804
  }
7379
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/fr-CA.js
7805
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js
7380
7806
  var error15 = () => {
7381
7807
  const Sizable = {
7382
7808
  string: { unit: "caractères", verb: "avoir" },
@@ -7483,7 +7909,7 @@ function fr_CA_default() {
7483
7909
  localeError: error15()
7484
7910
  };
7485
7911
  }
7486
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/he.js
7912
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/he.js
7487
7913
  var error16 = () => {
7488
7914
  const TypeNames = {
7489
7915
  string: { label: "מחרוזת", gender: "f" },
@@ -7676,7 +8102,7 @@ function he_default() {
7676
8102
  localeError: error16()
7677
8103
  };
7678
8104
  }
7679
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/hu.js
8105
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hu.js
7680
8106
  var error17 = () => {
7681
8107
  const Sizable = {
7682
8108
  string: { unit: "karakter", verb: "legyen" },
@@ -7784,7 +8210,7 @@ function hu_default() {
7784
8210
  localeError: error17()
7785
8211
  };
7786
8212
  }
7787
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/hy.js
8213
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hy.js
7788
8214
  function getArmenianPlural(count, one, many) {
7789
8215
  return Math.abs(count) === 1 ? one : many;
7790
8216
  }
@@ -7931,7 +8357,7 @@ function hy_default() {
7931
8357
  localeError: error18()
7932
8358
  };
7933
8359
  }
7934
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/id.js
8360
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/id.js
7935
8361
  var error19 = () => {
7936
8362
  const Sizable = {
7937
8363
  string: { unit: "karakter", verb: "memiliki" },
@@ -8037,7 +8463,7 @@ function id_default() {
8037
8463
  localeError: error19()
8038
8464
  };
8039
8465
  }
8040
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/is.js
8466
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/is.js
8041
8467
  var error20 = () => {
8042
8468
  const Sizable = {
8043
8469
  string: { unit: "stafi", verb: "að hafa" },
@@ -8146,7 +8572,7 @@ function is_default() {
8146
8572
  localeError: error20()
8147
8573
  };
8148
8574
  }
8149
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/it.js
8575
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/it.js
8150
8576
  var error21 = () => {
8151
8577
  const Sizable = {
8152
8578
  string: { unit: "caratteri", verb: "avere" },
@@ -8254,7 +8680,7 @@ function it_default() {
8254
8680
  localeError: error21()
8255
8681
  };
8256
8682
  }
8257
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ja.js
8683
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ja.js
8258
8684
  var error22 = () => {
8259
8685
  const Sizable = {
8260
8686
  string: { unit: "文字", verb: "である" },
@@ -8361,7 +8787,7 @@ function ja_default() {
8361
8787
  localeError: error22()
8362
8788
  };
8363
8789
  }
8364
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ka.js
8790
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ka.js
8365
8791
  var error23 = () => {
8366
8792
  const Sizable = {
8367
8793
  string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
@@ -8473,7 +8899,7 @@ function ka_default() {
8473
8899
  localeError: error23()
8474
8900
  };
8475
8901
  }
8476
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/km.js
8902
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/km.js
8477
8903
  var error24 = () => {
8478
8904
  const Sizable = {
8479
8905
  string: { unit: "តួអក្សរ", verb: "គួរមាន" },
@@ -8584,11 +9010,11 @@ function km_default() {
8584
9010
  };
8585
9011
  }
8586
9012
 
8587
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/kh.js
9013
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/kh.js
8588
9014
  function kh_default() {
8589
9015
  return km_default();
8590
9016
  }
8591
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ko.js
9017
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ko.js
8592
9018
  var error25 = () => {
8593
9019
  const Sizable = {
8594
9020
  string: { unit: "문자", verb: "to have" },
@@ -8699,7 +9125,7 @@ function ko_default() {
8699
9125
  localeError: error25()
8700
9126
  };
8701
9127
  }
8702
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/lt.js
9128
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/lt.js
8703
9129
  var capitalizeFirstCharacter = (text) => {
8704
9130
  return text.charAt(0).toUpperCase() + text.slice(1);
8705
9131
  };
@@ -8902,7 +9328,7 @@ function lt_default() {
8902
9328
  localeError: error26()
8903
9329
  };
8904
9330
  }
8905
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/mk.js
9331
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/mk.js
8906
9332
  var error27 = () => {
8907
9333
  const Sizable = {
8908
9334
  string: { unit: "знаци", verb: "да имаат" },
@@ -9011,7 +9437,7 @@ function mk_default() {
9011
9437
  localeError: error27()
9012
9438
  };
9013
9439
  }
9014
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ms.js
9440
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ms.js
9015
9441
  var error28 = () => {
9016
9442
  const Sizable = {
9017
9443
  string: { unit: "aksara", verb: "mempunyai" },
@@ -9118,7 +9544,7 @@ function ms_default() {
9118
9544
  localeError: error28()
9119
9545
  };
9120
9546
  }
9121
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/nl.js
9547
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/nl.js
9122
9548
  var error29 = () => {
9123
9549
  const Sizable = {
9124
9550
  string: { unit: "tekens", verb: "heeft" },
@@ -9228,7 +9654,7 @@ function nl_default() {
9228
9654
  localeError: error29()
9229
9655
  };
9230
9656
  }
9231
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/no.js
9657
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/no.js
9232
9658
  var error30 = () => {
9233
9659
  const Sizable = {
9234
9660
  string: { unit: "tegn", verb: "å ha" },
@@ -9336,7 +9762,7 @@ function no_default() {
9336
9762
  localeError: error30()
9337
9763
  };
9338
9764
  }
9339
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ota.js
9765
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ota.js
9340
9766
  var error31 = () => {
9341
9767
  const Sizable = {
9342
9768
  string: { unit: "harf", verb: "olmalıdır" },
@@ -9445,7 +9871,7 @@ function ota_default() {
9445
9871
  localeError: error31()
9446
9872
  };
9447
9873
  }
9448
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ps.js
9874
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ps.js
9449
9875
  var error32 = () => {
9450
9876
  const Sizable = {
9451
9877
  string: { unit: "توکي", verb: "ولري" },
@@ -9559,7 +9985,7 @@ function ps_default() {
9559
9985
  localeError: error32()
9560
9986
  };
9561
9987
  }
9562
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/pl.js
9988
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pl.js
9563
9989
  var error33 = () => {
9564
9990
  const Sizable = {
9565
9991
  string: { unit: "znaków", verb: "mieć" },
@@ -9668,7 +10094,7 @@ function pl_default() {
9668
10094
  localeError: error33()
9669
10095
  };
9670
10096
  }
9671
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/pt.js
10097
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pt.js
9672
10098
  var error34 = () => {
9673
10099
  const Sizable = {
9674
10100
  string: { unit: "caracteres", verb: "ter" },
@@ -9776,7 +10202,7 @@ function pt_default() {
9776
10202
  localeError: error34()
9777
10203
  };
9778
10204
  }
9779
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ru.js
10205
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ru.js
9780
10206
  function getRussianPlural(count, one, few, many) {
9781
10207
  const absCount = Math.abs(count);
9782
10208
  const lastDigit = absCount % 10;
@@ -9932,7 +10358,7 @@ function ru_default() {
9932
10358
  localeError: error35()
9933
10359
  };
9934
10360
  }
9935
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/sl.js
10361
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sl.js
9936
10362
  var error36 = () => {
9937
10363
  const Sizable = {
9938
10364
  string: { unit: "znakov", verb: "imeti" },
@@ -10041,7 +10467,7 @@ function sl_default() {
10041
10467
  localeError: error36()
10042
10468
  };
10043
10469
  }
10044
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/sv.js
10470
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sv.js
10045
10471
  var error37 = () => {
10046
10472
  const Sizable = {
10047
10473
  string: { unit: "tecken", verb: "att ha" },
@@ -10151,7 +10577,7 @@ function sv_default() {
10151
10577
  localeError: error37()
10152
10578
  };
10153
10579
  }
10154
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ta.js
10580
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ta.js
10155
10581
  var error38 = () => {
10156
10582
  const Sizable = {
10157
10583
  string: { unit: "எழுத்துக்கள்", verb: "கொண்டிருக்க வேண்டும்" },
@@ -10261,7 +10687,7 @@ function ta_default() {
10261
10687
  localeError: error38()
10262
10688
  };
10263
10689
  }
10264
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/th.js
10690
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/th.js
10265
10691
  var error39 = () => {
10266
10692
  const Sizable = {
10267
10693
  string: { unit: "ตัวอักษร", verb: "ควรมี" },
@@ -10371,7 +10797,7 @@ function th_default() {
10371
10797
  localeError: error39()
10372
10798
  };
10373
10799
  }
10374
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/tr.js
10800
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/tr.js
10375
10801
  var error40 = () => {
10376
10802
  const Sizable = {
10377
10803
  string: { unit: "karakter", verb: "olmalı" },
@@ -10476,7 +10902,7 @@ function tr_default() {
10476
10902
  localeError: error40()
10477
10903
  };
10478
10904
  }
10479
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/uk.js
10905
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uk.js
10480
10906
  var error41 = () => {
10481
10907
  const Sizable = {
10482
10908
  string: { unit: "символів", verb: "матиме" },
@@ -10585,11 +11011,11 @@ function uk_default() {
10585
11011
  };
10586
11012
  }
10587
11013
 
10588
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ua.js
11014
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ua.js
10589
11015
  function ua_default() {
10590
11016
  return uk_default();
10591
11017
  }
10592
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/ur.js
11018
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ur.js
10593
11019
  var error42 = () => {
10594
11020
  const Sizable = {
10595
11021
  string: { unit: "حروف", verb: "ہونا" },
@@ -10699,7 +11125,7 @@ function ur_default() {
10699
11125
  localeError: error42()
10700
11126
  };
10701
11127
  }
10702
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/uz.js
11128
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uz.js
10703
11129
  var error43 = () => {
10704
11130
  const Sizable = {
10705
11131
  string: { unit: "belgi", verb: "bo‘lishi kerak" },
@@ -10808,7 +11234,7 @@ function uz_default() {
10808
11234
  localeError: error43()
10809
11235
  };
10810
11236
  }
10811
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/vi.js
11237
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/vi.js
10812
11238
  var error44 = () => {
10813
11239
  const Sizable = {
10814
11240
  string: { unit: "ký tự", verb: "có" },
@@ -10916,7 +11342,7 @@ function vi_default() {
10916
11342
  localeError: error44()
10917
11343
  };
10918
11344
  }
10919
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/zh-CN.js
11345
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js
10920
11346
  var error45 = () => {
10921
11347
  const Sizable = {
10922
11348
  string: { unit: "字符", verb: "包含" },
@@ -11025,7 +11451,7 @@ function zh_CN_default() {
11025
11451
  localeError: error45()
11026
11452
  };
11027
11453
  }
11028
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/zh-TW.js
11454
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js
11029
11455
  var error46 = () => {
11030
11456
  const Sizable = {
11031
11457
  string: { unit: "字元", verb: "擁有" },
@@ -11132,7 +11558,7 @@ function zh_TW_default() {
11132
11558
  localeError: error46()
11133
11559
  };
11134
11560
  }
11135
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/locales/yo.js
11561
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/yo.js
11136
11562
  var error47 = () => {
11137
11563
  const Sizable = {
11138
11564
  string: { unit: "àmi", verb: "ní" },
@@ -11239,7 +11665,7 @@ function yo_default() {
11239
11665
  localeError: error47()
11240
11666
  };
11241
11667
  }
11242
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/registries.js
11668
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/registries.js
11243
11669
  var _a;
11244
11670
  var $output = Symbol("ZodOutput");
11245
11671
  var $input = Symbol("ZodInput");
@@ -11289,7 +11715,7 @@ function registry() {
11289
11715
  }
11290
11716
  (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
11291
11717
  var globalRegistry = globalThis.__zod_globalRegistry;
11292
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/api.js
11718
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/api.js
11293
11719
  function _string(Class2, params) {
11294
11720
  return new Class2({
11295
11721
  type: "string",
@@ -11867,10 +12293,10 @@ function _property(property, schema, params) {
11867
12293
  ...normalizeParams(params)
11868
12294
  });
11869
12295
  }
11870
- function _mime(types, params) {
12296
+ function _mime(types2, params) {
11871
12297
  return new $ZodCheckMimeType({
11872
12298
  check: "mime_type",
11873
- mime: types,
12299
+ mime: types2,
11874
12300
  ...normalizeParams(params)
11875
12301
  });
11876
12302
  }
@@ -12193,13 +12619,13 @@ function _stringbool(Classes, _params) {
12193
12619
  });
12194
12620
  return codec;
12195
12621
  }
12196
- function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
12622
+ function _stringFormat(Class2, format2, fnOrRegex, _params = {}) {
12197
12623
  const params = normalizeParams(_params);
12198
12624
  const def = {
12199
12625
  ...normalizeParams(_params),
12200
12626
  check: "string_format",
12201
12627
  type: "string",
12202
- format,
12628
+ format: format2,
12203
12629
  fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
12204
12630
  ...params
12205
12631
  };
@@ -12209,7 +12635,7 @@ function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
12209
12635
  const inst = new Class2(def);
12210
12636
  return inst;
12211
12637
  }
12212
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.js
12638
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js
12213
12639
  function initializeContext(params) {
12214
12640
  let target = params?.target ?? "draft-2020-12";
12215
12641
  if (target === "draft-4")
@@ -12405,7 +12831,7 @@ function finalize(ctx, schema) {
12405
12831
  }
12406
12832
  }
12407
12833
  }
12408
- if (refSchema.$ref) {
12834
+ if (refSchema.$ref && refSeen.def) {
12409
12835
  for (const key in schema2) {
12410
12836
  if (key === "$ref" || key === "allOf")
12411
12837
  continue;
@@ -12554,7 +12980,7 @@ var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) =
12554
12980
  extractDefs(ctx, schema);
12555
12981
  return finalize(ctx, schema);
12556
12982
  };
12557
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema-processors.js
12983
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js
12558
12984
  var formatMap = {
12559
12985
  guid: "uuid",
12560
12986
  url: "uri",
@@ -12565,16 +12991,16 @@ var formatMap = {
12565
12991
  var stringProcessor = (schema, ctx, _json, _params) => {
12566
12992
  const json = _json;
12567
12993
  json.type = "string";
12568
- const { minimum, maximum, format, patterns: patterns2, contentEncoding } = schema._zod.bag;
12994
+ const { minimum, maximum, format: format2, patterns: patterns2, contentEncoding } = schema._zod.bag;
12569
12995
  if (typeof minimum === "number")
12570
12996
  json.minLength = minimum;
12571
12997
  if (typeof maximum === "number")
12572
12998
  json.maxLength = maximum;
12573
- if (format) {
12574
- json.format = formatMap[format] ?? format;
12999
+ if (format2) {
13000
+ json.format = formatMap[format2] ?? format2;
12575
13001
  if (json.format === "")
12576
13002
  delete json.format;
12577
- if (format === "time") {
13003
+ if (format2 === "time") {
12578
13004
  delete json.format;
12579
13005
  }
12580
13006
  }
@@ -12596,8 +13022,8 @@ var stringProcessor = (schema, ctx, _json, _params) => {
12596
13022
  };
12597
13023
  var numberProcessor = (schema, ctx, _json, _params) => {
12598
13024
  const json = _json;
12599
- const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
12600
- if (typeof format === "string" && format.includes("int"))
13025
+ const { minimum, maximum, format: format2, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
13026
+ if (typeof format2 === "string" && format2.includes("int"))
12601
13027
  json.type = "integer";
12602
13028
  else
12603
13029
  json.type = "number";
@@ -13099,7 +13525,7 @@ function toJSONSchema(input, params) {
13099
13525
  extractDefs(ctx, input);
13100
13526
  return finalize(ctx, input);
13101
13527
  }
13102
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema-generator.js
13528
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js
13103
13529
  class JSONSchemaGenerator {
13104
13530
  get metadataRegistry() {
13105
13531
  return this.ctx.metadataRegistry;
@@ -13158,9 +13584,9 @@ class JSONSchemaGenerator {
13158
13584
  return plainResult;
13159
13585
  }
13160
13586
  }
13161
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/core/json-schema.js
13587
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema.js
13162
13588
  var exports_json_schema = {};
13163
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/schemas.js
13589
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js
13164
13590
  var exports_schemas2 = {};
13165
13591
  __export(exports_schemas2, {
13166
13592
  xor: () => xor,
@@ -13329,7 +13755,7 @@ __export(exports_schemas2, {
13329
13755
  ZodAny: () => ZodAny
13330
13756
  });
13331
13757
 
13332
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/checks.js
13758
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/checks.js
13333
13759
  var exports_checks2 = {};
13334
13760
  __export(exports_checks2, {
13335
13761
  uppercase: () => _uppercase,
@@ -13363,7 +13789,7 @@ __export(exports_checks2, {
13363
13789
  endsWith: () => _endsWith
13364
13790
  });
13365
13791
 
13366
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/iso.js
13792
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/iso.js
13367
13793
  var exports_iso = {};
13368
13794
  __export(exports_iso, {
13369
13795
  time: () => time2,
@@ -13404,13 +13830,13 @@ function duration2(params) {
13404
13830
  return _isoDuration(ZodISODuration, params);
13405
13831
  }
13406
13832
 
13407
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/errors.js
13833
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/errors.js
13408
13834
  var initializer2 = (inst, issues) => {
13409
13835
  $ZodError.init(inst, issues);
13410
13836
  inst.name = "ZodError";
13411
13837
  Object.defineProperties(inst, {
13412
13838
  format: {
13413
- value: (mapper) => formatError(inst, mapper)
13839
+ value: (mapper) => formatError2(inst, mapper)
13414
13840
  },
13415
13841
  flatten: {
13416
13842
  value: (mapper) => flattenError(inst, mapper)
@@ -13439,7 +13865,7 @@ var ZodRealError = $constructor("ZodError", initializer2, {
13439
13865
  Parent: Error
13440
13866
  });
13441
13867
 
13442
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/parse.js
13868
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/parse.js
13443
13869
  var parse3 = /* @__PURE__ */ _parse(ZodRealError);
13444
13870
  var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
13445
13871
  var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -13453,7 +13879,7 @@ var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
13453
13879
  var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
13454
13880
  var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
13455
13881
 
13456
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/schemas.js
13882
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js
13457
13883
  var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
13458
13884
  $ZodType.init(inst, def);
13459
13885
  Object.assign(inst["~standard"], {
@@ -13467,7 +13893,7 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
13467
13893
  inst.type = def.type;
13468
13894
  Object.defineProperty(inst, "_def", { value: def });
13469
13895
  inst.check = (...checks2) => {
13470
- return inst.clone(exports_util.mergeDefs(def, {
13896
+ return inst.clone(exports_util2.mergeDefs(def, {
13471
13897
  checks: [
13472
13898
  ...def.checks ?? [],
13473
13899
  ...checks2.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
@@ -13640,7 +14066,7 @@ function httpUrl(params) {
13640
14066
  return _url(ZodURL, {
13641
14067
  protocol: /^https?$/,
13642
14068
  hostname: exports_regexes.domain,
13643
- ...exports_util.normalizeParams(params)
14069
+ ...exports_util2.normalizeParams(params)
13644
14070
  });
13645
14071
  }
13646
14072
  var ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => {
@@ -13759,8 +14185,8 @@ var ZodCustomStringFormat = /* @__PURE__ */ $constructor("ZodCustomStringFormat"
13759
14185
  $ZodCustomStringFormat.init(inst, def);
13760
14186
  ZodStringFormat.init(inst, def);
13761
14187
  });
13762
- function stringFormat(format, fnOrRegex, _params = {}) {
13763
- return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);
14188
+ function stringFormat(format2, fnOrRegex, _params = {}) {
14189
+ return _stringFormat(ZodCustomStringFormat, format2, fnOrRegex, _params);
13764
14190
  }
13765
14191
  function hostname2(_params) {
13766
14192
  return _stringFormat(ZodCustomStringFormat, "hostname", exports_regexes.hostname, _params);
@@ -13770,11 +14196,11 @@ function hex2(_params) {
13770
14196
  }
13771
14197
  function hash(alg, params) {
13772
14198
  const enc = params?.enc ?? "hex";
13773
- const format = `${alg}_${enc}`;
13774
- const regex = exports_regexes[format];
14199
+ const format2 = `${alg}_${enc}`;
14200
+ const regex = exports_regexes[format2];
13775
14201
  if (!regex)
13776
- throw new Error(`Unrecognized hash format: ${format}`);
13777
- return _stringFormat(ZodCustomStringFormat, format, regex, params);
14202
+ throw new Error(`Unrecognized hash format: ${format2}`);
14203
+ return _stringFormat(ZodCustomStringFormat, format2, regex, params);
13778
14204
  }
13779
14205
  var ZodNumber = /* @__PURE__ */ $constructor("ZodNumber", (inst, def) => {
13780
14206
  $ZodNumber.init(inst, def);
@@ -13958,7 +14384,7 @@ var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
13958
14384
  $ZodObjectJIT.init(inst, def);
13959
14385
  ZodType.init(inst, def);
13960
14386
  inst._zod.processJSONSchema = (ctx, json, params) => objectProcessor(inst, ctx, json, params);
13961
- exports_util.defineLazy(inst, "shape", () => {
14387
+ exports_util2.defineLazy(inst, "shape", () => {
13962
14388
  return def.shape;
13963
14389
  });
13964
14390
  inst.keyof = () => _enum2(Object.keys(inst._zod.def.shape));
@@ -13968,22 +14394,22 @@ var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
13968
14394
  inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });
13969
14395
  inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });
13970
14396
  inst.extend = (incoming) => {
13971
- return exports_util.extend(inst, incoming);
14397
+ return exports_util2.extend(inst, incoming);
13972
14398
  };
13973
14399
  inst.safeExtend = (incoming) => {
13974
- return exports_util.safeExtend(inst, incoming);
14400
+ return exports_util2.safeExtend(inst, incoming);
13975
14401
  };
13976
- inst.merge = (other) => exports_util.merge(inst, other);
13977
- inst.pick = (mask) => exports_util.pick(inst, mask);
13978
- inst.omit = (mask) => exports_util.omit(inst, mask);
13979
- inst.partial = (...args) => exports_util.partial(ZodOptional, inst, args[0]);
13980
- inst.required = (...args) => exports_util.required(ZodNonOptional, inst, args[0]);
14402
+ inst.merge = (other) => exports_util2.merge(inst, other);
14403
+ inst.pick = (mask) => exports_util2.pick(inst, mask);
14404
+ inst.omit = (mask) => exports_util2.omit(inst, mask);
14405
+ inst.partial = (...args) => exports_util2.partial(ZodOptional, inst, args[0]);
14406
+ inst.required = (...args) => exports_util2.required(ZodNonOptional, inst, args[0]);
13981
14407
  });
13982
14408
  function object(shape, params) {
13983
14409
  const def = {
13984
14410
  type: "object",
13985
14411
  shape: shape ?? {},
13986
- ...exports_util.normalizeParams(params)
14412
+ ...exports_util2.normalizeParams(params)
13987
14413
  };
13988
14414
  return new ZodObject(def);
13989
14415
  }
@@ -13992,7 +14418,7 @@ function strictObject(shape, params) {
13992
14418
  type: "object",
13993
14419
  shape,
13994
14420
  catchall: never(),
13995
- ...exports_util.normalizeParams(params)
14421
+ ...exports_util2.normalizeParams(params)
13996
14422
  });
13997
14423
  }
13998
14424
  function looseObject(shape, params) {
@@ -14000,7 +14426,7 @@ function looseObject(shape, params) {
14000
14426
  type: "object",
14001
14427
  shape,
14002
14428
  catchall: unknown(),
14003
- ...exports_util.normalizeParams(params)
14429
+ ...exports_util2.normalizeParams(params)
14004
14430
  });
14005
14431
  }
14006
14432
  var ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => {
@@ -14013,7 +14439,7 @@ function union(options, params) {
14013
14439
  return new ZodUnion({
14014
14440
  type: "union",
14015
14441
  options,
14016
- ...exports_util.normalizeParams(params)
14442
+ ...exports_util2.normalizeParams(params)
14017
14443
  });
14018
14444
  }
14019
14445
  var ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => {
@@ -14027,7 +14453,7 @@ function xor(options, params) {
14027
14453
  type: "union",
14028
14454
  options,
14029
14455
  inclusive: false,
14030
- ...exports_util.normalizeParams(params)
14456
+ ...exports_util2.normalizeParams(params)
14031
14457
  });
14032
14458
  }
14033
14459
  var ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => {
@@ -14039,7 +14465,7 @@ function discriminatedUnion(discriminator, options, params) {
14039
14465
  type: "union",
14040
14466
  options,
14041
14467
  discriminator,
14042
- ...exports_util.normalizeParams(params)
14468
+ ...exports_util2.normalizeParams(params)
14043
14469
  });
14044
14470
  }
14045
14471
  var ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => {
@@ -14071,7 +14497,7 @@ function tuple(items, _paramsOrRest, _params) {
14071
14497
  type: "tuple",
14072
14498
  items,
14073
14499
  rest,
14074
- ...exports_util.normalizeParams(params)
14500
+ ...exports_util2.normalizeParams(params)
14075
14501
  });
14076
14502
  }
14077
14503
  var ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => {
@@ -14086,7 +14512,7 @@ function record(keyType, valueType, params) {
14086
14512
  type: "record",
14087
14513
  keyType,
14088
14514
  valueType,
14089
- ...exports_util.normalizeParams(params)
14515
+ ...exports_util2.normalizeParams(params)
14090
14516
  });
14091
14517
  }
14092
14518
  function partialRecord(keyType, valueType, params) {
@@ -14096,7 +14522,7 @@ function partialRecord(keyType, valueType, params) {
14096
14522
  type: "record",
14097
14523
  keyType: k,
14098
14524
  valueType,
14099
- ...exports_util.normalizeParams(params)
14525
+ ...exports_util2.normalizeParams(params)
14100
14526
  });
14101
14527
  }
14102
14528
  function looseRecord(keyType, valueType, params) {
@@ -14105,7 +14531,7 @@ function looseRecord(keyType, valueType, params) {
14105
14531
  keyType,
14106
14532
  valueType,
14107
14533
  mode: "loose",
14108
- ...exports_util.normalizeParams(params)
14534
+ ...exports_util2.normalizeParams(params)
14109
14535
  });
14110
14536
  }
14111
14537
  var ZodMap = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => {
@@ -14124,7 +14550,7 @@ function map(keyType, valueType, params) {
14124
14550
  type: "map",
14125
14551
  keyType,
14126
14552
  valueType,
14127
- ...exports_util.normalizeParams(params)
14553
+ ...exports_util2.normalizeParams(params)
14128
14554
  });
14129
14555
  }
14130
14556
  var ZodSet = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => {
@@ -14140,7 +14566,7 @@ function set(valueType, params) {
14140
14566
  return new ZodSet({
14141
14567
  type: "set",
14142
14568
  valueType,
14143
- ...exports_util.normalizeParams(params)
14569
+ ...exports_util2.normalizeParams(params)
14144
14570
  });
14145
14571
  }
14146
14572
  var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
@@ -14161,7 +14587,7 @@ var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
14161
14587
  return new ZodEnum({
14162
14588
  ...def,
14163
14589
  checks: [],
14164
- ...exports_util.normalizeParams(params),
14590
+ ...exports_util2.normalizeParams(params),
14165
14591
  entries: newEntries
14166
14592
  });
14167
14593
  };
@@ -14176,7 +14602,7 @@ var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
14176
14602
  return new ZodEnum({
14177
14603
  ...def,
14178
14604
  checks: [],
14179
- ...exports_util.normalizeParams(params),
14605
+ ...exports_util2.normalizeParams(params),
14180
14606
  entries: newEntries
14181
14607
  });
14182
14608
  };
@@ -14186,14 +14612,14 @@ function _enum2(values, params) {
14186
14612
  return new ZodEnum({
14187
14613
  type: "enum",
14188
14614
  entries,
14189
- ...exports_util.normalizeParams(params)
14615
+ ...exports_util2.normalizeParams(params)
14190
14616
  });
14191
14617
  }
14192
14618
  function nativeEnum(entries, params) {
14193
14619
  return new ZodEnum({
14194
14620
  type: "enum",
14195
14621
  entries,
14196
- ...exports_util.normalizeParams(params)
14622
+ ...exports_util2.normalizeParams(params)
14197
14623
  });
14198
14624
  }
14199
14625
  var ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => {
@@ -14214,7 +14640,7 @@ function literal(value, params) {
14214
14640
  return new ZodLiteral({
14215
14641
  type: "literal",
14216
14642
  values: Array.isArray(value) ? value : [value],
14217
- ...exports_util.normalizeParams(params)
14643
+ ...exports_util2.normalizeParams(params)
14218
14644
  });
14219
14645
  }
14220
14646
  var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => {
@@ -14223,7 +14649,7 @@ var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => {
14223
14649
  inst._zod.processJSONSchema = (ctx, json, params) => fileProcessor(inst, ctx, json, params);
14224
14650
  inst.min = (size, params) => inst.check(_minSize(size, params));
14225
14651
  inst.max = (size, params) => inst.check(_maxSize(size, params));
14226
- inst.mime = (types, params) => inst.check(_mime(Array.isArray(types) ? types : [types], params));
14652
+ inst.mime = (types2, params) => inst.check(_mime(Array.isArray(types2) ? types2 : [types2], params));
14227
14653
  });
14228
14654
  function file(params) {
14229
14655
  return _file(ZodFile, params);
@@ -14238,7 +14664,7 @@ var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
14238
14664
  }
14239
14665
  payload.addIssue = (issue3) => {
14240
14666
  if (typeof issue3 === "string") {
14241
- payload.issues.push(exports_util.issue(issue3, payload.value, def));
14667
+ payload.issues.push(exports_util2.issue(issue3, payload.value, def));
14242
14668
  } else {
14243
14669
  const _issue = issue3;
14244
14670
  if (_issue.fatal)
@@ -14246,7 +14672,7 @@ var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
14246
14672
  _issue.code ?? (_issue.code = "custom");
14247
14673
  _issue.input ?? (_issue.input = payload.value);
14248
14674
  _issue.inst ?? (_issue.inst = inst);
14249
- payload.issues.push(exports_util.issue(_issue));
14675
+ payload.issues.push(exports_util2.issue(_issue));
14250
14676
  }
14251
14677
  };
14252
14678
  const output = def.transform(payload.value, payload);
@@ -14317,7 +14743,7 @@ function _default2(innerType, defaultValue) {
14317
14743
  type: "default",
14318
14744
  innerType,
14319
14745
  get defaultValue() {
14320
- return typeof defaultValue === "function" ? defaultValue() : exports_util.shallowClone(defaultValue);
14746
+ return typeof defaultValue === "function" ? defaultValue() : exports_util2.shallowClone(defaultValue);
14321
14747
  }
14322
14748
  });
14323
14749
  }
@@ -14332,7 +14758,7 @@ function prefault(innerType, defaultValue) {
14332
14758
  type: "prefault",
14333
14759
  innerType,
14334
14760
  get defaultValue() {
14335
- return typeof defaultValue === "function" ? defaultValue() : exports_util.shallowClone(defaultValue);
14761
+ return typeof defaultValue === "function" ? defaultValue() : exports_util2.shallowClone(defaultValue);
14336
14762
  }
14337
14763
  });
14338
14764
  }
@@ -14346,7 +14772,7 @@ function nonoptional(innerType, params) {
14346
14772
  return new ZodNonOptional({
14347
14773
  type: "nonoptional",
14348
14774
  innerType,
14349
- ...exports_util.normalizeParams(params)
14775
+ ...exports_util2.normalizeParams(params)
14350
14776
  });
14351
14777
  }
14352
14778
  var ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => {
@@ -14431,7 +14857,7 @@ function templateLiteral(parts, params) {
14431
14857
  return new ZodTemplateLiteral({
14432
14858
  type: "template_literal",
14433
14859
  parts,
14434
- ...exports_util.normalizeParams(params)
14860
+ ...exports_util2.normalizeParams(params)
14435
14861
  });
14436
14862
  }
14437
14863
  var ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => {
@@ -14499,7 +14925,7 @@ function _instanceof(cls, params = {}) {
14499
14925
  check: "custom",
14500
14926
  fn: (data) => data instanceof cls,
14501
14927
  abort: true,
14502
- ...exports_util.normalizeParams(params)
14928
+ ...exports_util2.normalizeParams(params)
14503
14929
  });
14504
14930
  inst._zod.bag.Class = cls;
14505
14931
  inst._zod.check = (payload) => {
@@ -14529,7 +14955,7 @@ function json(params) {
14529
14955
  function preprocess(fn, schema) {
14530
14956
  return pipe(transform(fn), schema);
14531
14957
  }
14532
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/compat.js
14958
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/compat.js
14533
14959
  var ZodIssueCode = {
14534
14960
  invalid_type: "invalid_type",
14535
14961
  too_big: "too_big",
@@ -14553,7 +14979,7 @@ function getErrorMap() {
14553
14979
  }
14554
14980
  var ZodFirstPartyTypeKind;
14555
14981
  (function(ZodFirstPartyTypeKind2) {})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
14556
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/from-json-schema.js
14982
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js
14557
14983
  var z = {
14558
14984
  ...exports_schemas2,
14559
14985
  ...exports_checks2,
@@ -14733,52 +15159,52 @@ function convertBaseSchema(schema, ctx) {
14733
15159
  case "string": {
14734
15160
  let stringSchema = z.string();
14735
15161
  if (schema.format) {
14736
- const format = schema.format;
14737
- if (format === "email") {
15162
+ const format2 = schema.format;
15163
+ if (format2 === "email") {
14738
15164
  stringSchema = stringSchema.check(z.email());
14739
- } else if (format === "uri" || format === "uri-reference") {
15165
+ } else if (format2 === "uri" || format2 === "uri-reference") {
14740
15166
  stringSchema = stringSchema.check(z.url());
14741
- } else if (format === "uuid" || format === "guid") {
15167
+ } else if (format2 === "uuid" || format2 === "guid") {
14742
15168
  stringSchema = stringSchema.check(z.uuid());
14743
- } else if (format === "date-time") {
15169
+ } else if (format2 === "date-time") {
14744
15170
  stringSchema = stringSchema.check(z.iso.datetime());
14745
- } else if (format === "date") {
15171
+ } else if (format2 === "date") {
14746
15172
  stringSchema = stringSchema.check(z.iso.date());
14747
- } else if (format === "time") {
15173
+ } else if (format2 === "time") {
14748
15174
  stringSchema = stringSchema.check(z.iso.time());
14749
- } else if (format === "duration") {
15175
+ } else if (format2 === "duration") {
14750
15176
  stringSchema = stringSchema.check(z.iso.duration());
14751
- } else if (format === "ipv4") {
15177
+ } else if (format2 === "ipv4") {
14752
15178
  stringSchema = stringSchema.check(z.ipv4());
14753
- } else if (format === "ipv6") {
15179
+ } else if (format2 === "ipv6") {
14754
15180
  stringSchema = stringSchema.check(z.ipv6());
14755
- } else if (format === "mac") {
15181
+ } else if (format2 === "mac") {
14756
15182
  stringSchema = stringSchema.check(z.mac());
14757
- } else if (format === "cidr") {
15183
+ } else if (format2 === "cidr") {
14758
15184
  stringSchema = stringSchema.check(z.cidrv4());
14759
- } else if (format === "cidr-v6") {
15185
+ } else if (format2 === "cidr-v6") {
14760
15186
  stringSchema = stringSchema.check(z.cidrv6());
14761
- } else if (format === "base64") {
15187
+ } else if (format2 === "base64") {
14762
15188
  stringSchema = stringSchema.check(z.base64());
14763
- } else if (format === "base64url") {
15189
+ } else if (format2 === "base64url") {
14764
15190
  stringSchema = stringSchema.check(z.base64url());
14765
- } else if (format === "e164") {
15191
+ } else if (format2 === "e164") {
14766
15192
  stringSchema = stringSchema.check(z.e164());
14767
- } else if (format === "jwt") {
15193
+ } else if (format2 === "jwt") {
14768
15194
  stringSchema = stringSchema.check(z.jwt());
14769
- } else if (format === "emoji") {
15195
+ } else if (format2 === "emoji") {
14770
15196
  stringSchema = stringSchema.check(z.emoji());
14771
- } else if (format === "nanoid") {
15197
+ } else if (format2 === "nanoid") {
14772
15198
  stringSchema = stringSchema.check(z.nanoid());
14773
- } else if (format === "cuid") {
15199
+ } else if (format2 === "cuid") {
14774
15200
  stringSchema = stringSchema.check(z.cuid());
14775
- } else if (format === "cuid2") {
15201
+ } else if (format2 === "cuid2") {
14776
15202
  stringSchema = stringSchema.check(z.cuid2());
14777
- } else if (format === "ulid") {
15203
+ } else if (format2 === "ulid") {
14778
15204
  stringSchema = stringSchema.check(z.ulid());
14779
- } else if (format === "xid") {
15205
+ } else if (format2 === "xid") {
14780
15206
  stringSchema = stringSchema.check(z.xid());
14781
- } else if (format === "ksuid") {
15207
+ } else if (format2 === "ksuid") {
14782
15208
  stringSchema = stringSchema.check(z.ksuid());
14783
15209
  }
14784
15210
  }
@@ -15014,7 +15440,7 @@ function fromJSONSchema(schema, params) {
15014
15440
  };
15015
15441
  return convertSchema(schema, ctx);
15016
15442
  }
15017
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/coerce.js
15443
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/coerce.js
15018
15444
  var exports_coerce = {};
15019
15445
  __export(exports_coerce, {
15020
15446
  string: () => string3,
@@ -15039,7 +15465,7 @@ function date4(params) {
15039
15465
  return _coercedDate(ZodDate, params);
15040
15466
  }
15041
15467
 
15042
- // ../../../node_modules/.bun/zod@4.3.5/node_modules/zod/v4/classic/external.js
15468
+ // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js
15043
15469
  config(en_default());
15044
15470
  // ../../types/src/zod/primitives.ts
15045
15471
  var IsoDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
@@ -15056,7 +15482,7 @@ var TimebackSubject = exports_external.enum([
15056
15482
  "Math",
15057
15483
  "None",
15058
15484
  "Other"
15059
- ]);
15485
+ ]).meta({ id: "TimebackSubject", description: "Subject area" });
15060
15486
  var TimebackGrade = exports_external.union([
15061
15487
  exports_external.literal(-1),
15062
15488
  exports_external.literal(0),
@@ -15073,7 +15499,10 @@ var TimebackGrade = exports_external.union([
15073
15499
  exports_external.literal(11),
15074
15500
  exports_external.literal(12),
15075
15501
  exports_external.literal(13)
15076
- ]);
15502
+ ]).meta({
15503
+ id: "TimebackGrade",
15504
+ description: "Grade level (-1 = Pre-K, 0 = K, 1-12 = grades, 13 = AP)"
15505
+ });
15077
15506
  var ScoreStatus = exports_external.enum([
15078
15507
  "exempt",
15079
15508
  "fully graded",
@@ -15100,6 +15529,47 @@ var OneRosterUserRole = exports_external.enum([
15100
15529
  "teacher"
15101
15530
  ]);
15102
15531
  var EnrollmentRole = exports_external.enum(["administrator", "proctor", "student", "teacher"]);
15532
+ var ResourceType = exports_external.enum([
15533
+ "qti",
15534
+ "text",
15535
+ "audio",
15536
+ "video",
15537
+ "interactive",
15538
+ "visual",
15539
+ "course-material",
15540
+ "assessment-bank"
15541
+ ]);
15542
+ var QtiSubType = exports_external.enum(["qti-test", "qti-question", "qti-stimulus", "qti-test-bank"]);
15543
+ var CourseMaterialSubType = exports_external.enum(["unit", "course", "resource-collection"]);
15544
+ var QuestionType = exports_external.enum([
15545
+ "choice",
15546
+ "order",
15547
+ "associate",
15548
+ "match",
15549
+ "hotspot",
15550
+ "hottext",
15551
+ "select-point",
15552
+ "graphic-order",
15553
+ "graphic-associate",
15554
+ "graphic-gap-match",
15555
+ "text-entry",
15556
+ "extended-text",
15557
+ "inline-choice",
15558
+ "upload",
15559
+ "slider",
15560
+ "drawing",
15561
+ "media",
15562
+ "custom"
15563
+ ]);
15564
+ var Difficulty = exports_external.enum(["easy", "medium", "hard"]);
15565
+ var LearningObjectiveSetSchema = exports_external.array(exports_external.object({
15566
+ source: exports_external.string(),
15567
+ learningObjectiveIds: exports_external.array(exports_external.string())
15568
+ }));
15569
+ var FastFailConfigSchema = exports_external.object({
15570
+ consecutive_failures: exports_external.number().int().min(1).optional(),
15571
+ stagnation_limit: exports_external.number().int().min(1).optional()
15572
+ }).optional();
15103
15573
  var LessonType = exports_external.enum(["powerpath-100", "quiz", "test-out", "placement", "unit-test", "alpha-read-article"]).nullable();
15104
15574
  var IMSErrorResponse = exports_external.object({
15105
15575
  imsx_codeMajor: exports_external.enum(["failure", "success"]),
@@ -15176,7 +15646,13 @@ var ActivityCompletedInput = exports_external.object({
15176
15646
  eventTime: IsoDateTimeString.optional(),
15177
15647
  metricsId: exports_external.string().optional(),
15178
15648
  id: exports_external.string().optional(),
15179
- extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
15649
+ extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
15650
+ edApp: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional(),
15651
+ session: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional(),
15652
+ attempt: exports_external.number().int().min(1).optional(),
15653
+ generatedExtensions: exports_external.object({
15654
+ pctCompleteApp: exports_external.number().optional()
15655
+ }).loose().optional()
15180
15656
  }).strict();
15181
15657
  var TimeSpentInput = exports_external.object({
15182
15658
  actor: TimebackUser,
@@ -15185,7 +15661,9 @@ var TimeSpentInput = exports_external.object({
15185
15661
  eventTime: IsoDateTimeString.optional(),
15186
15662
  metricsId: exports_external.string().optional(),
15187
15663
  id: exports_external.string().optional(),
15188
- extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
15664
+ extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
15665
+ edApp: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional(),
15666
+ session: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional()
15189
15667
  }).strict();
15190
15668
  var TimebackEvent = exports_external.union([TimebackActivityEvent, TimebackTimeSpentEvent]);
15191
15669
  var CaliperEnvelope = exports_external.object({
@@ -15260,51 +15738,122 @@ var CaliperListEventsParams = exports_external.object({
15260
15738
  }).strict();
15261
15739
  // ../../types/src/zod/config.ts
15262
15740
  var CourseIds = exports_external.object({
15263
- staging: exports_external.string().optional(),
15264
- production: exports_external.string().optional()
15265
- });
15266
- var CourseType = exports_external.enum(["base", "hole-filling", "optional"]);
15267
- var PublishStatus = exports_external.enum(["draft", "testing", "published", "deactivated"]);
15741
+ staging: exports_external.string().meta({ description: "Course ID in staging environment" }).optional(),
15742
+ production: exports_external.string().meta({ description: "Course ID in production environment" }).optional()
15743
+ }).meta({ id: "CourseIds", description: "Environment-specific course IDs (populated by sync)" });
15744
+ var CourseType = exports_external.enum(["base", "hole-filling", "optional"]).meta({ id: "CourseType", description: "Course classification type" });
15745
+ var PublishStatus = exports_external.enum(["draft", "testing", "published", "deactivated"]).meta({ id: "PublishStatus", description: "Course publication status" });
15268
15746
  var CourseGoals = exports_external.object({
15269
- dailyXp: exports_external.number().int().positive().optional(),
15270
- dailyLessons: exports_external.number().int().positive().optional(),
15271
- dailyActiveMinutes: exports_external.number().int().positive().optional(),
15272
- dailyAccuracy: exports_external.number().int().min(0).max(100).optional(),
15273
- dailyMasteredUnits: exports_external.number().int().positive().optional()
15274
- });
15747
+ dailyXp: exports_external.number().int().positive().meta({ description: "Target XP to earn per day" }).optional(),
15748
+ dailyLessons: exports_external.number().int().positive().meta({ description: "Target lessons to complete per day" }).optional(),
15749
+ dailyActiveMinutes: exports_external.number().int().positive().meta({ description: "Target active learning minutes per day" }).optional(),
15750
+ dailyAccuracy: exports_external.number().int().min(0).max(100).meta({ description: "Target accuracy percentage (0-100)" }).optional(),
15751
+ dailyMasteredUnits: exports_external.number().int().positive().meta({ description: "Target units to master per day" }).optional()
15752
+ }).meta({ id: "CourseGoals", description: "Daily learning goals for a course" });
15275
15753
  var CourseMetrics = exports_external.object({
15276
- totalXp: exports_external.number().int().positive().optional(),
15277
- totalLessons: exports_external.number().int().positive().optional(),
15278
- totalGrades: exports_external.number().int().positive().optional()
15279
- });
15754
+ totalXp: exports_external.number().int().positive().meta({ description: "Total XP available in the course" }).optional(),
15755
+ totalLessons: exports_external.number().int().positive().meta({ description: "Total number of lessons/activities" }).optional(),
15756
+ totalGrades: exports_external.number().int().positive().meta({ description: "Total grade levels covered" }).optional()
15757
+ }).meta({ id: "CourseMetrics", description: "Aggregate metrics for a course" });
15280
15758
  var CourseMetadata = exports_external.object({
15281
15759
  courseType: CourseType.optional(),
15282
- isSupplemental: exports_external.boolean().optional(),
15283
- isCustom: exports_external.boolean().optional(),
15760
+ isSupplemental: exports_external.boolean().meta({ description: "Whether this is supplemental to a base course" }).optional(),
15761
+ isCustom: exports_external.boolean().meta({ description: "Whether this is a custom course for an individual student" }).optional(),
15284
15762
  publishStatus: PublishStatus.optional(),
15285
- contactEmail: exports_external.email().optional(),
15286
- primaryApp: exports_external.string().optional(),
15763
+ contactEmail: exports_external.email().meta({ description: "Contact email for course issues" }).optional(),
15764
+ primaryApp: exports_external.string().meta({ description: "Primary application identifier" }).optional(),
15287
15765
  goals: CourseGoals.optional(),
15288
15766
  metrics: CourseMetrics.optional()
15289
- });
15767
+ }).meta({ id: "CourseMetadata", description: "Course metadata (matches API metadata object)" });
15290
15768
  var CourseDefaults = exports_external.object({
15291
- courseCode: exports_external.string().optional(),
15292
- level: exports_external.string().optional(),
15769
+ courseCode: exports_external.string().meta({ description: "Course code (e.g., 'MATH101')" }).optional(),
15770
+ level: exports_external.string().meta({ description: "Course level (e.g., 'AP', 'Honors')" }).optional(),
15293
15771
  metadata: CourseMetadata.optional()
15772
+ }).meta({
15773
+ id: "CourseDefaults",
15774
+ description: "Default properties that apply to all courses unless overridden"
15294
15775
  });
15776
+ var CourseEnvOverrides = exports_external.object({
15777
+ level: exports_external.string().meta({ description: "Course level for this environment" }).optional(),
15778
+ sensor: exports_external.url().meta({ description: "Caliper sensor endpoint URL for this environment" }).optional(),
15779
+ launchUrl: exports_external.url().meta({ description: "LTI launch URL for this environment" }).optional(),
15780
+ metadata: CourseMetadata.optional()
15781
+ }).meta({
15782
+ id: "CourseEnvOverrides",
15783
+ description: "Environment-specific course overrides (non-identity fields)"
15784
+ });
15785
+ var CourseOverrides = exports_external.object({
15786
+ staging: CourseEnvOverrides.meta({
15787
+ description: "Overrides for staging environment"
15788
+ }).optional(),
15789
+ production: CourseEnvOverrides.meta({
15790
+ description: "Overrides for production environment"
15791
+ }).optional()
15792
+ }).meta({ id: "CourseOverrides", description: "Per-environment course overrides" });
15295
15793
  var CourseConfig = CourseDefaults.extend({
15296
- subject: TimebackSubject,
15297
- grade: TimebackGrade,
15298
- ids: CourseIds.nullable().optional()
15794
+ subject: TimebackSubject.meta({ description: "Subject area for this course" }),
15795
+ grade: TimebackGrade.meta({
15796
+ description: "Grade level (-1 = Pre-K, 0 = K, 1-12 = grades, 13 = AP)"
15797
+ }).optional(),
15798
+ ids: CourseIds.nullable().optional(),
15799
+ sensor: exports_external.url().meta({ description: "Caliper sensor endpoint URL for this course" }).optional(),
15800
+ launchUrl: exports_external.url().meta({ description: "LTI launch URL for this course" }).optional(),
15801
+ overrides: CourseOverrides.optional()
15802
+ }).meta({
15803
+ id: "CourseConfig",
15804
+ description: "Configuration for a single course. Must have either grade or courseCode (or both)."
15299
15805
  });
15300
15806
  var TimebackConfig = exports_external.object({
15301
- name: exports_external.string().min(1, "App name is required"),
15302
- defaults: CourseDefaults.optional(),
15303
- courses: exports_external.array(CourseConfig).min(1, "At least one course is required"),
15304
- sensors: exports_external.array(exports_external.string().url()).optional()
15807
+ $schema: exports_external.string().meta({ description: "JSON Schema reference for editor support" }).optional(),
15808
+ name: exports_external.string().min(1, "App name is required").meta({ description: "Display name for your app" }),
15809
+ defaults: CourseDefaults.meta({
15810
+ description: "Default properties applied to all courses"
15811
+ }).optional(),
15812
+ courses: exports_external.array(CourseConfig).min(1, "At least one course is required").meta({ description: "Courses available in this app" }),
15813
+ sensor: exports_external.url().meta({ description: "Default Caliper sensor endpoint URL for all courses" }).optional(),
15814
+ launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional()
15815
+ }).meta({
15816
+ id: "TimebackConfig",
15817
+ title: "Timeback Config",
15818
+ description: "Configuration schema for timeback.config.json files"
15819
+ }).refine((config2) => {
15820
+ return config2.courses.every((c) => c.grade !== undefined || c.courseCode !== undefined);
15821
+ }, {
15822
+ message: "Each course must have either a grade or a courseCode",
15823
+ path: ["courses"]
15824
+ }).refine((config2) => {
15825
+ const withGrade = config2.courses.filter((c) => c.grade !== undefined);
15826
+ const keys = withGrade.map((c) => `${c.subject}:${c.grade}`);
15827
+ return new Set(keys).size === keys.length;
15828
+ }, {
15829
+ message: "Duplicate (subject, grade) pair found; each must be unique",
15830
+ path: ["courses"]
15831
+ }).refine((config2) => {
15832
+ const withCode = config2.courses.filter((c) => c.courseCode !== undefined);
15833
+ const codes = withCode.map((c) => c.courseCode);
15834
+ return new Set(codes).size === codes.length;
15835
+ }, {
15836
+ message: "Duplicate courseCode found; each must be unique",
15837
+ path: ["courses"]
15838
+ }).refine((config2) => {
15839
+ return config2.courses.every((c) => {
15840
+ if (c.sensor !== undefined || config2.sensor !== undefined) {
15841
+ return true;
15842
+ }
15843
+ const launchUrls = [
15844
+ c.launchUrl,
15845
+ config2.launchUrl,
15846
+ c.overrides?.staging?.launchUrl,
15847
+ c.overrides?.production?.launchUrl
15848
+ ].filter(Boolean);
15849
+ return launchUrls.length > 0;
15850
+ });
15851
+ }, {
15852
+ message: "Each course must have an effective sensor. Either set `sensor` explicitly (top-level or per-course), or provide a `launchUrl` so sensor can be derived from its origin.",
15853
+ path: ["courses"]
15305
15854
  });
15306
15855
  // ../../types/src/zod/edubridge.ts
15307
- var EdubridgeDateString = exports_external.union([IsoDateString, IsoDateTimeString]);
15856
+ var EdubridgeDateString = exports_external.union([IsoDateTimeString, IsoDateString]);
15308
15857
  var EduBridgeEnrollment = exports_external.object({
15309
15858
  id: exports_external.string(),
15310
15859
  role: exports_external.string(),
@@ -15368,12 +15917,9 @@ var EmailOrStudentId = exports_external.object({
15368
15917
  });
15369
15918
  var SubjectTrackInput = exports_external.object({
15370
15919
  subject: NonEmptyString,
15371
- gradeLevel: NonEmptyString,
15372
- targetCourseId: NonEmptyString,
15373
- metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
15374
- });
15375
- var SubjectTrackUpsertInput = SubjectTrackInput.extend({
15376
- id: NonEmptyString
15920
+ grade: NonEmptyString,
15921
+ courseId: NonEmptyString,
15922
+ orgSourcedId: NonEmptyString.optional()
15377
15923
  });
15378
15924
  var EdubridgeListEnrollmentsParams = exports_external.object({
15379
15925
  userId: NonEmptyString
@@ -15552,20 +16098,45 @@ var OneRosterScoreScaleCreateInput = exports_external.object({
15552
16098
  }).strict();
15553
16099
  var OneRosterAssessmentLineItemCreateInput = exports_external.object({
15554
16100
  sourcedId: NonEmptyString2.optional(),
16101
+ status: Status.optional(),
16102
+ dateLastModified: IsoDateTimeString.optional(),
15555
16103
  title: NonEmptyString2.describe("title must be a non-empty string"),
15556
- class: Ref,
15557
- school: Ref,
15558
- category: Ref,
15559
- assignDate: OneRosterDateString,
15560
- dueDate: OneRosterDateString,
15561
- status: Status,
16104
+ description: exports_external.string().nullable().optional(),
16105
+ class: Ref.nullable().optional(),
16106
+ parentAssessmentLineItem: Ref.nullable().optional(),
16107
+ scoreScale: Ref.nullable().optional(),
16108
+ resultValueMin: exports_external.number().nullable().optional(),
16109
+ resultValueMax: exports_external.number().nullable().optional(),
16110
+ component: Ref.nullable().optional(),
16111
+ componentResource: Ref.nullable().optional(),
16112
+ learningObjectiveSet: exports_external.array(exports_external.object({
16113
+ source: exports_external.string(),
16114
+ learningObjectiveIds: exports_external.array(exports_external.string())
16115
+ })).optional().nullable(),
16116
+ course: Ref.nullable().optional(),
15562
16117
  metadata: Metadata
15563
16118
  }).strict();
16119
+ var LearningObjectiveResult = exports_external.object({
16120
+ learningObjectiveId: exports_external.string(),
16121
+ score: exports_external.number().optional(),
16122
+ textScore: exports_external.string().optional()
16123
+ });
16124
+ var LearningObjectiveScoreSetSchema = exports_external.array(exports_external.object({
16125
+ source: exports_external.string(),
16126
+ learningObjectiveResults: exports_external.array(LearningObjectiveResult)
16127
+ }));
15564
16128
  var OneRosterAssessmentResultCreateInput = exports_external.object({
15565
16129
  sourcedId: NonEmptyString2.optional(),
15566
- lineItem: Ref,
16130
+ status: Status.optional(),
16131
+ dateLastModified: IsoDateTimeString.optional(),
16132
+ metadata: Metadata,
16133
+ assessmentLineItem: Ref,
15567
16134
  student: Ref,
15568
- scoreDate: OneRosterDateString,
16135
+ score: exports_external.number().nullable().optional(),
16136
+ textScore: exports_external.string().nullable().optional(),
16137
+ scoreDate: exports_external.string().datetime(),
16138
+ scoreScale: Ref.nullable().optional(),
16139
+ scorePercentile: exports_external.number().nullable().optional(),
15569
16140
  scoreStatus: exports_external.enum([
15570
16141
  "exempt",
15571
16142
  "fully graded",
@@ -15573,9 +16144,12 @@ var OneRosterAssessmentResultCreateInput = exports_external.object({
15573
16144
  "partially graded",
15574
16145
  "submitted"
15575
16146
  ]),
15576
- score: exports_external.string().optional(),
15577
- status: Status,
15578
- metadata: Metadata
16147
+ comment: exports_external.string().nullable().optional(),
16148
+ learningObjectiveSet: LearningObjectiveScoreSetSchema.nullable().optional(),
16149
+ inProgress: exports_external.string().nullable().optional(),
16150
+ incomplete: exports_external.string().nullable().optional(),
16151
+ late: exports_external.string().nullable().optional(),
16152
+ missing: exports_external.string().nullable().optional()
15579
16153
  }).strict();
15580
16154
  var OneRosterOrgCreateInput = exports_external.object({
15581
16155
  sourcedId: NonEmptyString2.optional(),
@@ -15643,6 +16217,75 @@ var OneRosterCredentialInput = exports_external.object({
15643
16217
  var OneRosterDemographicsCreateInput = exports_external.object({
15644
16218
  sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
15645
16219
  }).loose();
16220
+ var CommonResourceMetadataSchema = exports_external.object({
16221
+ type: ResourceType,
16222
+ subject: TimebackSubject.nullish(),
16223
+ grades: exports_external.array(TimebackGrade).nullish(),
16224
+ language: exports_external.string().nullish(),
16225
+ xp: exports_external.number().nullish(),
16226
+ url: exports_external.url().nullish(),
16227
+ keywords: exports_external.array(exports_external.string()).nullish(),
16228
+ learningObjectiveSet: LearningObjectiveSetSchema.nullish(),
16229
+ lessonType: exports_external.string().nullish()
16230
+ }).passthrough();
16231
+ var QtiMetadataSchema = CommonResourceMetadataSchema.extend({
16232
+ type: exports_external.literal("qti"),
16233
+ subType: QtiSubType,
16234
+ questionType: QuestionType.optional(),
16235
+ difficulty: Difficulty.optional()
16236
+ });
16237
+ var TextMetadataSchema = CommonResourceMetadataSchema.extend({
16238
+ type: exports_external.literal("text"),
16239
+ format: exports_external.string(),
16240
+ author: exports_external.string().optional(),
16241
+ pageCount: exports_external.number().optional()
16242
+ });
16243
+ var AudioMetadataSchema = CommonResourceMetadataSchema.extend({
16244
+ type: exports_external.literal("audio"),
16245
+ duration: exports_external.string().regex(/^\d{2}:\d{2}:\d{2}(\.\d{2})?$/).optional(),
16246
+ format: exports_external.string(),
16247
+ speaker: exports_external.string().optional()
16248
+ });
16249
+ var VideoMetadataSchema = CommonResourceMetadataSchema.extend({
16250
+ type: exports_external.literal("video"),
16251
+ duration: exports_external.string().regex(/^\d{2}:\d{2}:\d{2}(\.\d{2})?$/).optional(),
16252
+ captionsAvailable: exports_external.boolean().optional(),
16253
+ format: exports_external.string()
16254
+ });
16255
+ var InteractiveMetadataSchema = CommonResourceMetadataSchema.extend({
16256
+ type: exports_external.literal("interactive"),
16257
+ launchUrl: exports_external.url().optional(),
16258
+ toolProvider: exports_external.string().optional(),
16259
+ instructionalMethod: exports_external.string().optional(),
16260
+ courseIdOnFail: exports_external.string().nullable().optional(),
16261
+ fail_fast: FastFailConfigSchema
16262
+ });
16263
+ var VisualMetadataSchema = CommonResourceMetadataSchema.extend({
16264
+ type: exports_external.literal("visual"),
16265
+ format: exports_external.string(),
16266
+ resolution: exports_external.string().optional()
16267
+ });
16268
+ var CourseMaterialMetadataSchema = CommonResourceMetadataSchema.extend({
16269
+ type: exports_external.literal("course-material"),
16270
+ subType: CourseMaterialSubType,
16271
+ author: exports_external.string().optional(),
16272
+ format: exports_external.string(),
16273
+ instructionalMethod: exports_external.string().optional()
16274
+ });
16275
+ var AssessmentBankMetadataSchema = CommonResourceMetadataSchema.extend({
16276
+ type: exports_external.literal("assessment-bank"),
16277
+ resources: exports_external.array(exports_external.string())
16278
+ });
16279
+ var ResourceMetadataSchema = exports_external.discriminatedUnion("type", [
16280
+ QtiMetadataSchema,
16281
+ TextMetadataSchema,
16282
+ AudioMetadataSchema,
16283
+ VideoMetadataSchema,
16284
+ InteractiveMetadataSchema,
16285
+ VisualMetadataSchema,
16286
+ CourseMaterialMetadataSchema,
16287
+ AssessmentBankMetadataSchema
16288
+ ]);
15646
16289
  var OneRosterResourceCreateInput = exports_external.object({
15647
16290
  sourcedId: NonEmptyString2.optional(),
15648
16291
  title: NonEmptyString2.describe("title must be a non-empty string"),
@@ -15652,7 +16295,7 @@ var OneRosterResourceCreateInput = exports_external.object({
15652
16295
  vendorId: exports_external.string().optional(),
15653
16296
  applicationId: exports_external.string().optional(),
15654
16297
  status: Status.optional(),
15655
- metadata: Metadata
16298
+ metadata: ResourceMetadataSchema.nullable().optional()
15656
16299
  }).strict();
15657
16300
  var CourseStructureItem = exports_external.object({
15658
16301
  url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
@@ -15677,6 +16320,268 @@ var OneRosterBulkResultItem = exports_external.object({
15677
16320
  student: Ref
15678
16321
  }).loose();
15679
16322
  var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
16323
+ // ../../types/src/zod/powerpath.ts
16324
+ var NonEmptyString3 = exports_external.string().trim().min(1);
16325
+ var ToolProvider = exports_external.enum(["edulastic", "mastery-track"]);
16326
+ var LessonTypeRequired = exports_external.enum([
16327
+ "powerpath-100",
16328
+ "quiz",
16329
+ "test-out",
16330
+ "placement",
16331
+ "unit-test",
16332
+ "alpha-read-article"
16333
+ ]);
16334
+ var GradeArray = exports_external.array(TimebackGrade);
16335
+ var ResourceMetadata = exports_external.record(exports_external.string(), exports_external.unknown()).optional();
16336
+ var ExternalTestBase = exports_external.object({
16337
+ courseId: NonEmptyString3,
16338
+ lessonTitle: NonEmptyString3.optional(),
16339
+ launchUrl: exports_external.url().optional(),
16340
+ toolProvider: ToolProvider,
16341
+ unitTitle: NonEmptyString3.optional(),
16342
+ courseComponentSourcedId: NonEmptyString3.optional(),
16343
+ vendorId: NonEmptyString3.optional(),
16344
+ description: NonEmptyString3.optional(),
16345
+ resourceMetadata: ResourceMetadata.nullable().optional(),
16346
+ grades: GradeArray
16347
+ });
16348
+ var ExternalTestOut = ExternalTestBase.extend({
16349
+ lessonType: exports_external.literal("test-out"),
16350
+ xp: exports_external.number()
16351
+ });
16352
+ var ExternalPlacement = ExternalTestBase.extend({
16353
+ lessonType: exports_external.literal("placement"),
16354
+ courseIdOnFail: NonEmptyString3.optional(),
16355
+ xp: exports_external.number().optional()
16356
+ });
16357
+ var InternalTestBase = exports_external.object({
16358
+ courseId: NonEmptyString3,
16359
+ lessonType: LessonTypeRequired,
16360
+ lessonTitle: NonEmptyString3.optional(),
16361
+ unitTitle: NonEmptyString3.optional(),
16362
+ courseComponentSourcedId: NonEmptyString3.optional(),
16363
+ resourceMetadata: ResourceMetadata.nullable().optional(),
16364
+ xp: exports_external.number().optional(),
16365
+ grades: GradeArray.optional(),
16366
+ courseIdOnFail: NonEmptyString3.optional()
16367
+ });
16368
+ var PowerPathCreateInternalTestInput = exports_external.union([
16369
+ InternalTestBase.extend({
16370
+ testType: exports_external.literal("qti"),
16371
+ qti: exports_external.object({
16372
+ url: exports_external.url(),
16373
+ title: NonEmptyString3.optional(),
16374
+ metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16375
+ })
16376
+ }),
16377
+ InternalTestBase.extend({
16378
+ testType: exports_external.literal("assessment-bank"),
16379
+ assessmentBank: exports_external.object({
16380
+ resources: exports_external.array(exports_external.object({
16381
+ url: exports_external.url(),
16382
+ title: NonEmptyString3.optional(),
16383
+ metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16384
+ }))
16385
+ })
16386
+ })
16387
+ ]);
16388
+ var PowerPathCreateNewAttemptInput = exports_external.object({
16389
+ student: NonEmptyString3,
16390
+ lesson: NonEmptyString3
16391
+ });
16392
+ var PowerPathFinalStudentAssessmentResponseInput = exports_external.object({
16393
+ student: NonEmptyString3,
16394
+ lesson: NonEmptyString3
16395
+ });
16396
+ var PowerPathLessonPlansCreateInput = exports_external.object({
16397
+ courseId: NonEmptyString3,
16398
+ userId: NonEmptyString3,
16399
+ classId: NonEmptyString3.optional()
16400
+ });
16401
+ var LessonPlanTarget = exports_external.object({
16402
+ type: exports_external.enum(["component", "resource"]),
16403
+ id: NonEmptyString3
16404
+ });
16405
+ var PowerPathLessonPlanOperationInput = exports_external.union([
16406
+ exports_external.object({
16407
+ type: exports_external.literal("set-skipped"),
16408
+ payload: exports_external.object({
16409
+ target: LessonPlanTarget,
16410
+ value: exports_external.boolean()
16411
+ })
16412
+ }),
16413
+ exports_external.object({
16414
+ type: exports_external.literal("add-custom-resource"),
16415
+ payload: exports_external.object({
16416
+ resource_id: NonEmptyString3,
16417
+ parent_component_id: NonEmptyString3,
16418
+ skipped: exports_external.boolean().optional()
16419
+ })
16420
+ }),
16421
+ exports_external.object({
16422
+ type: exports_external.literal("move-item-before"),
16423
+ payload: exports_external.object({
16424
+ target: LessonPlanTarget,
16425
+ reference_id: NonEmptyString3
16426
+ })
16427
+ }),
16428
+ exports_external.object({
16429
+ type: exports_external.literal("move-item-after"),
16430
+ payload: exports_external.object({
16431
+ target: LessonPlanTarget,
16432
+ reference_id: NonEmptyString3
16433
+ })
16434
+ }),
16435
+ exports_external.object({
16436
+ type: exports_external.literal("move-item-to-start"),
16437
+ payload: exports_external.object({
16438
+ target: LessonPlanTarget
16439
+ })
16440
+ }),
16441
+ exports_external.object({
16442
+ type: exports_external.literal("move-item-to-end"),
16443
+ payload: exports_external.object({
16444
+ target: LessonPlanTarget
16445
+ })
16446
+ }),
16447
+ exports_external.object({
16448
+ type: exports_external.literal("change-item-parent"),
16449
+ payload: exports_external.object({
16450
+ target: LessonPlanTarget,
16451
+ new_parent_id: NonEmptyString3,
16452
+ position: exports_external.enum(["start", "end"]).optional()
16453
+ })
16454
+ })
16455
+ ]);
16456
+ var PowerPathLessonPlanOperationsInput = exports_external.object({
16457
+ operation: exports_external.array(PowerPathLessonPlanOperationInput),
16458
+ reason: NonEmptyString3.optional()
16459
+ });
16460
+ var PowerPathLessonPlanUpdateStudentItemResponseInput = exports_external.object({
16461
+ studentId: NonEmptyString3,
16462
+ componentResourceId: NonEmptyString3,
16463
+ result: exports_external.object({
16464
+ status: exports_external.enum(["active", "tobedeleted"]),
16465
+ metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16466
+ score: exports_external.number().optional(),
16467
+ textScore: NonEmptyString3.optional(),
16468
+ scoreDate: NonEmptyString3,
16469
+ scorePercentile: exports_external.number().optional(),
16470
+ scoreStatus: ScoreStatus,
16471
+ comment: NonEmptyString3.optional(),
16472
+ learningObjectiveSet: exports_external.array(exports_external.object({
16473
+ source: NonEmptyString3,
16474
+ learningObjectiveResults: exports_external.array(exports_external.object({
16475
+ learningObjectiveId: NonEmptyString3,
16476
+ score: exports_external.number().optional(),
16477
+ textScore: NonEmptyString3.optional()
16478
+ }))
16479
+ })).optional(),
16480
+ inProgress: NonEmptyString3.optional(),
16481
+ incomplete: NonEmptyString3.optional(),
16482
+ late: NonEmptyString3.optional(),
16483
+ missing: NonEmptyString3.optional()
16484
+ })
16485
+ });
16486
+ var PowerPathMakeExternalTestAssignmentInput = exports_external.object({
16487
+ student: NonEmptyString3,
16488
+ lesson: NonEmptyString3,
16489
+ applicationName: NonEmptyString3.optional(),
16490
+ testId: NonEmptyString3.optional(),
16491
+ skipCourseEnrollment: exports_external.boolean().optional()
16492
+ });
16493
+ var PowerPathPlacementResetUserPlacementInput = exports_external.object({
16494
+ student: NonEmptyString3,
16495
+ subject: TimebackSubject
16496
+ });
16497
+ var PowerPathResetAttemptInput = exports_external.object({
16498
+ student: NonEmptyString3,
16499
+ lesson: NonEmptyString3
16500
+ });
16501
+ var PowerPathScreeningResetSessionInput = exports_external.object({
16502
+ userId: NonEmptyString3
16503
+ });
16504
+ var PowerPathScreeningAssignTestInput = exports_external.object({
16505
+ userId: NonEmptyString3,
16506
+ subject: exports_external.enum(["Math", "Reading", "Language", "Science"])
16507
+ });
16508
+ var PowerPathTestAssignmentsCreateInput = exports_external.object({
16509
+ student: NonEmptyString3,
16510
+ subject: TimebackSubject,
16511
+ grade: TimebackGrade,
16512
+ testName: NonEmptyString3.optional()
16513
+ });
16514
+ var PowerPathTestAssignmentsUpdateInput = exports_external.object({
16515
+ testName: NonEmptyString3
16516
+ });
16517
+ var PowerPathTestAssignmentItemInput = exports_external.object({
16518
+ student: NonEmptyString3,
16519
+ subject: TimebackSubject,
16520
+ grade: TimebackGrade,
16521
+ testName: NonEmptyString3.optional()
16522
+ });
16523
+ var PowerPathTestAssignmentsBulkInput = exports_external.object({
16524
+ items: exports_external.array(PowerPathTestAssignmentItemInput)
16525
+ });
16526
+ var PowerPathTestAssignmentsImportInput = exports_external.object({
16527
+ spreadsheetUrl: exports_external.url(),
16528
+ sheet: NonEmptyString3
16529
+ });
16530
+ var PowerPathTestAssignmentsListParams = exports_external.object({
16531
+ student: NonEmptyString3,
16532
+ status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16533
+ subject: NonEmptyString3.optional(),
16534
+ grade: TimebackGrade.optional(),
16535
+ limit: exports_external.number().int().positive().max(3000).optional(),
16536
+ offset: exports_external.number().int().nonnegative().optional()
16537
+ });
16538
+ var PowerPathTestAssignmentsAdminParams = exports_external.object({
16539
+ student: NonEmptyString3.optional(),
16540
+ status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16541
+ subject: NonEmptyString3.optional(),
16542
+ grade: TimebackGrade.optional(),
16543
+ limit: exports_external.number().int().positive().max(3000).optional(),
16544
+ offset: exports_external.number().int().nonnegative().optional()
16545
+ });
16546
+ var PowerPathUpdateStudentQuestionResponseInput = exports_external.object({
16547
+ student: NonEmptyString3,
16548
+ question: NonEmptyString3,
16549
+ response: exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)]).optional(),
16550
+ responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)])).optional(),
16551
+ lesson: NonEmptyString3
16552
+ });
16553
+ var PowerPathGetAssessmentProgressParams = exports_external.object({
16554
+ student: NonEmptyString3,
16555
+ lesson: NonEmptyString3,
16556
+ attempt: exports_external.number().int().positive().optional()
16557
+ });
16558
+ var PowerPathGetNextQuestionParams = exports_external.object({
16559
+ student: NonEmptyString3,
16560
+ lesson: NonEmptyString3
16561
+ });
16562
+ var PowerPathGetAttemptsParams = exports_external.object({
16563
+ student: NonEmptyString3,
16564
+ lesson: NonEmptyString3
16565
+ });
16566
+ var PowerPathTestOutParams = exports_external.object({
16567
+ student: NonEmptyString3,
16568
+ lesson: NonEmptyString3.optional(),
16569
+ finalized: exports_external.boolean().optional(),
16570
+ toolProvider: NonEmptyString3.optional(),
16571
+ attempt: exports_external.number().int().positive().optional()
16572
+ });
16573
+ var PowerPathImportExternalTestAssignmentResultsParams = exports_external.object({
16574
+ student: NonEmptyString3,
16575
+ lesson: NonEmptyString3,
16576
+ applicationName: NonEmptyString3.optional()
16577
+ });
16578
+ var PowerPathPlacementQueryParams = exports_external.object({
16579
+ student: NonEmptyString3,
16580
+ subject: TimebackSubject
16581
+ });
16582
+ var PowerPathSyllabusQueryParams = exports_external.object({
16583
+ status: exports_external.enum(["active", "tobedeleted"]).optional()
16584
+ });
15680
16585
  // ../../types/src/zod/qti.ts
15681
16586
  var QtiAssessmentItemType = exports_external.enum([
15682
16587
  "choice",
@@ -15953,7 +16858,7 @@ class Paginator2 extends Paginator {
15953
16858
  path,
15954
16859
  params: requestParams,
15955
16860
  max,
15956
- logger: log2,
16861
+ logger: log3,
15957
16862
  paginationStyle: "page"
15958
16863
  });
15959
16864
  }
@@ -16372,7 +17277,7 @@ function createQtiClient(registry2 = DEFAULT_PROVIDER_REGISTRY) {
16372
17277
  const resolved = resolveToProvider2(config3, registry2);
16373
17278
  if (resolved.mode === "transport") {
16374
17279
  this.transport = resolved.transport;
16375
- log2.info("Client initialized with custom transport");
17280
+ log3.info("Client initialized with custom transport");
16376
17281
  } else {
16377
17282
  const { provider } = resolved;
16378
17283
  const { baseUrl } = provider.getEndpoint("qti");
@@ -16386,7 +17291,7 @@ function createQtiClient(registry2 = DEFAULT_PROVIDER_REGISTRY) {
16386
17291
  tokenProvider,
16387
17292
  timeout: provider.timeout
16388
17293
  });
16389
- log2.info("Client initialized", {
17294
+ log3.info("Client initialized", {
16390
17295
  platform: provider.platform,
16391
17296
  env: provider.env,
16392
17297
  baseUrl