@timeback/oneroster 0.1.5 → 0.1.7-beta.20260219190739

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
  }
@@ -490,6 +884,28 @@ var BEYONDAI_PATHS = {
490
884
  },
491
885
  powerpath: {
492
886
  base: "/powerpath"
887
+ },
888
+ clr: {
889
+ credentials: "/ims/clr/v2p0/credentials",
890
+ discovery: "/ims/clr/v2p0/discovery"
891
+ },
892
+ case: {
893
+ base: "/ims/case/v1p1"
894
+ },
895
+ webhooks: {
896
+ webhookList: "/webhooks/",
897
+ webhookGet: "/webhooks/{id}",
898
+ webhookCreate: "/webhooks/",
899
+ webhookUpdate: "/webhooks/{id}",
900
+ webhookDelete: "/webhooks/{id}",
901
+ webhookActivate: "/webhooks/{id}/activate",
902
+ webhookDeactivate: "/webhooks/{id}/deactivate",
903
+ webhookFilterList: "/webhook-filters/",
904
+ webhookFilterGet: "/webhook-filters/{id}",
905
+ webhookFilterCreate: "/webhook-filters/",
906
+ webhookFilterUpdate: "/webhook-filters/{id}",
907
+ webhookFilterDelete: "/webhook-filters/{id}",
908
+ webhookFiltersByWebhook: "/webhook-filters/webhook/{webhookId}"
493
909
  }
494
910
  };
495
911
  var LEARNWITHAI_PATHS = {
@@ -505,8 +921,11 @@ var LEARNWITHAI_PATHS = {
505
921
  gradebook: "/gradebook/1.0",
506
922
  resources: "/resources/1.0"
507
923
  },
924
+ webhooks: null,
508
925
  edubridge: null,
509
- powerpath: null
926
+ powerpath: null,
927
+ clr: null,
928
+ case: null
510
929
  };
511
930
  var PLATFORM_PATHS = {
512
931
  BEYOND_AI: BEYONDAI_PATHS,
@@ -528,8 +947,11 @@ function resolvePathProfiles(pathProfile, customPaths) {
528
947
  return {
529
948
  caliper: customPaths?.caliper ?? basePaths.caliper,
530
949
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
950
+ webhooks: customPaths?.webhooks ?? basePaths.webhooks,
531
951
  edubridge: customPaths?.edubridge ?? basePaths.edubridge,
532
- powerpath: customPaths?.powerpath ?? basePaths.powerpath
952
+ powerpath: customPaths?.powerpath ?? basePaths.powerpath,
953
+ clr: customPaths?.clr ?? basePaths.clr,
954
+ case: customPaths?.case ?? basePaths.case
533
955
  };
534
956
  }
535
957
 
@@ -569,10 +991,22 @@ class TimebackProvider {
569
991
  baseUrl: platformEndpoints.api[env],
570
992
  authUrl: this.authUrl
571
993
  },
994
+ clr: {
995
+ baseUrl: platformEndpoints.api[env],
996
+ authUrl: this.authUrl
997
+ },
998
+ case: {
999
+ baseUrl: platformEndpoints.api[env],
1000
+ authUrl: this.authUrl
1001
+ },
572
1002
  caliper: {
573
1003
  baseUrl: platformEndpoints.caliper[env],
574
1004
  authUrl: this.authUrl
575
1005
  },
1006
+ webhooks: {
1007
+ baseUrl: platformEndpoints.caliper[env],
1008
+ authUrl: this.authUrl
1009
+ },
576
1010
  qti: {
577
1011
  baseUrl: platformEndpoints.qti[env],
578
1012
  authUrl: this.authUrl
@@ -586,7 +1020,10 @@ class TimebackProvider {
586
1020
  oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
587
1021
  edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
588
1022
  powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1023
+ clr: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1024
+ case: { baseUrl: config.baseUrl, authUrl: this.authUrl },
589
1025
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1026
+ webhooks: { baseUrl: config.baseUrl, authUrl: this.authUrl },
590
1027
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
591
1028
  };
592
1029
  } else if (isServicesConfig(config)) {
@@ -605,10 +1042,19 @@ class TimebackProvider {
605
1042
  } else {
606
1043
  throw new Error("Invalid provider configuration");
607
1044
  }
1045
+ for (const service of Object.keys(this.pathProfiles)) {
1046
+ if (this.pathProfiles[service] === null) {
1047
+ delete this.endpoints[service];
1048
+ }
1049
+ }
608
1050
  }
609
1051
  getEndpoint(service) {
610
1052
  const endpoint = this.endpoints[service];
611
1053
  if (!endpoint) {
1054
+ const pathKey = service;
1055
+ if (pathKey in this.pathProfiles && this.pathProfiles[pathKey] === null) {
1056
+ throw new Error(`Service "${service}" is not supported on ${this.platform ?? "this"} platform.`);
1057
+ }
612
1058
  throw new Error(`Service "${service}" is not configured in this provider`);
613
1059
  }
614
1060
  return endpoint;
@@ -1279,43 +1725,43 @@ function escapeValue(value) {
1279
1725
  }
1280
1726
  return value.replaceAll("'", "''");
1281
1727
  }
1282
- function formatValue2(value) {
1728
+ function formatValue3(value) {
1283
1729
  const escaped = escapeValue(value);
1284
1730
  const needsQuotes = typeof value === "string" || value instanceof Date;
1285
1731
  return needsQuotes ? `'${escaped}'` : escaped;
1286
1732
  }
1287
1733
  function fieldToConditions(field, condition) {
1288
1734
  if (typeof condition === "string" || typeof condition === "number" || typeof condition === "boolean" || condition instanceof Date) {
1289
- return [`${field}=${formatValue2(condition)}`];
1735
+ return [`${field}=${formatValue3(condition)}`];
1290
1736
  }
1291
1737
  if (typeof condition === "object" && condition !== null) {
1292
1738
  const ops = condition;
1293
1739
  const conditions = [];
1294
1740
  if (ops.ne !== undefined) {
1295
- conditions.push(`${field}!=${formatValue2(ops.ne)}`);
1741
+ conditions.push(`${field}!=${formatValue3(ops.ne)}`);
1296
1742
  }
1297
1743
  if (ops.gt !== undefined) {
1298
- conditions.push(`${field}>${formatValue2(ops.gt)}`);
1744
+ conditions.push(`${field}>${formatValue3(ops.gt)}`);
1299
1745
  }
1300
1746
  if (ops.gte !== undefined) {
1301
- conditions.push(`${field}>=${formatValue2(ops.gte)}`);
1747
+ conditions.push(`${field}>=${formatValue3(ops.gte)}`);
1302
1748
  }
1303
1749
  if (ops.lt !== undefined) {
1304
- conditions.push(`${field}<${formatValue2(ops.lt)}`);
1750
+ conditions.push(`${field}<${formatValue3(ops.lt)}`);
1305
1751
  }
1306
1752
  if (ops.lte !== undefined) {
1307
- conditions.push(`${field}<=${formatValue2(ops.lte)}`);
1753
+ conditions.push(`${field}<=${formatValue3(ops.lte)}`);
1308
1754
  }
1309
1755
  if (ops.contains !== undefined) {
1310
- conditions.push(`${field}~${formatValue2(ops.contains)}`);
1756
+ conditions.push(`${field}~${formatValue3(ops.contains)}`);
1311
1757
  }
1312
1758
  if (ops.in !== undefined && ops.in.length > 0) {
1313
- const inConditions = ops.in.map((v) => `${field}=${formatValue2(v)}`);
1759
+ const inConditions = ops.in.map((v) => `${field}=${formatValue3(v)}`);
1314
1760
  const joined = inConditions.join(" OR ");
1315
1761
  conditions.push(inConditions.length > 1 ? `(${joined})` : joined);
1316
1762
  }
1317
1763
  if (ops.notIn !== undefined && ops.notIn.length > 0) {
1318
- const notInConditions = ops.notIn.map((v) => `${field}!=${formatValue2(v)}`);
1764
+ const notInConditions = ops.notIn.map((v) => `${field}!=${formatValue3(v)}`);
1319
1765
  conditions.push(notInConditions.join(" AND "));
1320
1766
  }
1321
1767
  return conditions;
@@ -1538,7 +1984,7 @@ function resolveToProvider2(config, registry = DEFAULT_PROVIDER_REGISTRY) {
1538
1984
  }
1539
1985
 
1540
1986
  // src/utils.ts
1541
- var log2 = createScopedLogger("oneroster");
1987
+ var log3 = createScopedLogger("oneroster");
1542
1988
  function parseGrades(grades) {
1543
1989
  if (!grades)
1544
1990
  return;
@@ -1557,7 +2003,7 @@ function normalizeBoolean(value) {
1557
2003
  class Transport extends BaseTransport {
1558
2004
  paths;
1559
2005
  constructor(config) {
1560
- super({ config, logger: log2 });
2006
+ super({ config, logger: log3 });
1561
2007
  this.paths = config.paths;
1562
2008
  }
1563
2009
  async requestPaginated(path, options = {}) {
@@ -1577,7 +2023,7 @@ __export(exports_external, {
1577
2023
  uuidv6: () => uuidv6,
1578
2024
  uuidv4: () => uuidv4,
1579
2025
  uuid: () => uuid2,
1580
- util: () => exports_util,
2026
+ util: () => exports_util2,
1581
2027
  url: () => url,
1582
2028
  uppercase: () => _uppercase,
1583
2029
  unknown: () => unknown,
@@ -1686,7 +2132,7 @@ __export(exports_external, {
1686
2132
  getErrorMap: () => getErrorMap,
1687
2133
  function: () => _function,
1688
2134
  fromJSONSchema: () => fromJSONSchema,
1689
- formatError: () => formatError,
2135
+ formatError: () => formatError2,
1690
2136
  float64: () => float64,
1691
2137
  float32: () => float32,
1692
2138
  flattenError: () => flattenError,
@@ -1812,7 +2258,7 @@ __export(exports_external, {
1812
2258
  var exports_core2 = {};
1813
2259
  __export(exports_core2, {
1814
2260
  version: () => version,
1815
- util: () => exports_util,
2261
+ util: () => exports_util2,
1816
2262
  treeifyError: () => treeifyError,
1817
2263
  toJSONSchema: () => toJSONSchema,
1818
2264
  toDotPath: () => toDotPath,
@@ -1836,7 +2282,7 @@ __export(exports_core2, {
1836
2282
  initializeContext: () => initializeContext,
1837
2283
  globalRegistry: () => globalRegistry,
1838
2284
  globalConfig: () => globalConfig,
1839
- formatError: () => formatError,
2285
+ formatError: () => formatError2,
1840
2286
  flattenError: () => flattenError,
1841
2287
  finalize: () => finalize,
1842
2288
  extractDefs: () => extractDefs,
@@ -2163,8 +2609,8 @@ function config(newConfig) {
2163
2609
  return globalConfig;
2164
2610
  }
2165
2611
  // ../../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js
2166
- var exports_util = {};
2167
- __export(exports_util, {
2612
+ var exports_util2 = {};
2613
+ __export(exports_util2, {
2168
2614
  unwrapMessage: () => unwrapMessage,
2169
2615
  uint8ArrayToHex: () => uint8ArrayToHex,
2170
2616
  uint8ArrayToBase64url: () => uint8ArrayToBase64url,
@@ -2194,7 +2640,7 @@ __export(exports_util, {
2194
2640
  joinValues: () => joinValues,
2195
2641
  issue: () => issue2,
2196
2642
  isPlainObject: () => isPlainObject,
2197
- isObject: () => isObject,
2643
+ isObject: () => isObject2,
2198
2644
  hexToUint8Array: () => hexToUint8Array,
2199
2645
  getSizableOrigin: () => getSizableOrigin,
2200
2646
  getParsedType: () => getParsedType,
@@ -2363,7 +2809,7 @@ function slugify(input) {
2363
2809
  return input.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
2364
2810
  }
2365
2811
  var captureStackTrace = "captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => {};
2366
- function isObject(data) {
2812
+ function isObject2(data) {
2367
2813
  return typeof data === "object" && data !== null && !Array.isArray(data);
2368
2814
  }
2369
2815
  var allowsEval = cached(() => {
@@ -2379,7 +2825,7 @@ var allowsEval = cached(() => {
2379
2825
  }
2380
2826
  });
2381
2827
  function isPlainObject(o) {
2382
- if (isObject(o) === false)
2828
+ if (isObject2(o) === false)
2383
2829
  return false;
2384
2830
  const ctor = o.constructor;
2385
2831
  if (ctor === undefined)
@@ -2387,7 +2833,7 @@ function isPlainObject(o) {
2387
2833
  if (typeof ctor !== "function")
2388
2834
  return true;
2389
2835
  const prot = ctor.prototype;
2390
- if (isObject(prot) === false)
2836
+ if (isObject2(prot) === false)
2391
2837
  return false;
2392
2838
  if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
2393
2839
  return false;
@@ -2868,7 +3314,7 @@ function flattenError(error, mapper = (issue3) => issue3.message) {
2868
3314
  }
2869
3315
  return { formErrors, fieldErrors };
2870
3316
  }
2871
- function formatError(error, mapper = (issue3) => issue3.message) {
3317
+ function formatError2(error, mapper = (issue3) => issue3.message) {
2872
3318
  const fieldErrors = { _errors: [] };
2873
3319
  const processError = (error2) => {
2874
3320
  for (const issue3 of error2.issues) {
@@ -4393,15 +4839,15 @@ var $ZodDate = /* @__PURE__ */ $constructor("$ZodDate", (inst, def) => {
4393
4839
  } catch (_err) {}
4394
4840
  }
4395
4841
  const input = payload.value;
4396
- const isDate = input instanceof Date;
4397
- const isValidDate = isDate && !Number.isNaN(input.getTime());
4842
+ const isDate2 = input instanceof Date;
4843
+ const isValidDate = isDate2 && !Number.isNaN(input.getTime());
4398
4844
  if (isValidDate)
4399
4845
  return payload;
4400
4846
  payload.issues.push({
4401
4847
  expected: "date",
4402
4848
  code: "invalid_type",
4403
4849
  input,
4404
- ...isDate ? { received: "Invalid Date" } : {},
4850
+ ...isDate2 ? { received: "Invalid Date" } : {},
4405
4851
  inst
4406
4852
  });
4407
4853
  return payload;
@@ -4540,13 +4986,13 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
4540
4986
  }
4541
4987
  return propValues;
4542
4988
  });
4543
- const isObject2 = isObject;
4989
+ const isObject3 = isObject2;
4544
4990
  const catchall = def.catchall;
4545
4991
  let value;
4546
4992
  inst._zod.parse = (payload, ctx) => {
4547
4993
  value ?? (value = _normalized.value);
4548
4994
  const input = payload.value;
4549
- if (!isObject2(input)) {
4995
+ if (!isObject3(input)) {
4550
4996
  payload.issues.push({
4551
4997
  expected: "object",
4552
4998
  code: "invalid_type",
@@ -4644,7 +5090,7 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) =>
4644
5090
  return (payload, ctx) => fn(shape, payload, ctx);
4645
5091
  };
4646
5092
  let fastpass;
4647
- const isObject2 = isObject;
5093
+ const isObject3 = isObject2;
4648
5094
  const jit = !globalConfig.jitless;
4649
5095
  const allowsEval2 = allowsEval;
4650
5096
  const fastEnabled = jit && allowsEval2.value;
@@ -4653,7 +5099,7 @@ var $ZodObjectJIT = /* @__PURE__ */ $constructor("$ZodObjectJIT", (inst, def) =>
4653
5099
  inst._zod.parse = (payload, ctx) => {
4654
5100
  value ?? (value = _normalized.value);
4655
5101
  const input = payload.value;
4656
- if (!isObject2(input)) {
5102
+ if (!isObject3(input)) {
4657
5103
  payload.issues.push({
4658
5104
  expected: "object",
4659
5105
  code: "invalid_type",
@@ -4831,7 +5277,7 @@ var $ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("$ZodDiscriminatedUnio
4831
5277
  });
4832
5278
  inst._zod.parse = (payload, ctx) => {
4833
5279
  const input = payload.value;
4834
- if (!isObject(input)) {
5280
+ if (!isObject2(input)) {
4835
5281
  payload.issues.push({
4836
5282
  code: "invalid_type",
4837
5283
  expected: "object",
@@ -11925,10 +12371,10 @@ function _property(property, schema, params) {
11925
12371
  ...normalizeParams(params)
11926
12372
  });
11927
12373
  }
11928
- function _mime(types, params) {
12374
+ function _mime(types2, params) {
11929
12375
  return new $ZodCheckMimeType({
11930
12376
  check: "mime_type",
11931
- mime: types,
12377
+ mime: types2,
11932
12378
  ...normalizeParams(params)
11933
12379
  });
11934
12380
  }
@@ -12251,13 +12697,13 @@ function _stringbool(Classes, _params) {
12251
12697
  });
12252
12698
  return codec;
12253
12699
  }
12254
- function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
12700
+ function _stringFormat(Class2, format2, fnOrRegex, _params = {}) {
12255
12701
  const params = normalizeParams(_params);
12256
12702
  const def = {
12257
12703
  ...normalizeParams(_params),
12258
12704
  check: "string_format",
12259
12705
  type: "string",
12260
- format,
12706
+ format: format2,
12261
12707
  fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
12262
12708
  ...params
12263
12709
  };
@@ -12623,16 +13069,16 @@ var formatMap = {
12623
13069
  var stringProcessor = (schema, ctx, _json, _params) => {
12624
13070
  const json = _json;
12625
13071
  json.type = "string";
12626
- const { minimum, maximum, format, patterns: patterns2, contentEncoding } = schema._zod.bag;
13072
+ const { minimum, maximum, format: format2, patterns: patterns2, contentEncoding } = schema._zod.bag;
12627
13073
  if (typeof minimum === "number")
12628
13074
  json.minLength = minimum;
12629
13075
  if (typeof maximum === "number")
12630
13076
  json.maxLength = maximum;
12631
- if (format) {
12632
- json.format = formatMap[format] ?? format;
13077
+ if (format2) {
13078
+ json.format = formatMap[format2] ?? format2;
12633
13079
  if (json.format === "")
12634
13080
  delete json.format;
12635
- if (format === "time") {
13081
+ if (format2 === "time") {
12636
13082
  delete json.format;
12637
13083
  }
12638
13084
  }
@@ -12654,8 +13100,8 @@ var stringProcessor = (schema, ctx, _json, _params) => {
12654
13100
  };
12655
13101
  var numberProcessor = (schema, ctx, _json, _params) => {
12656
13102
  const json = _json;
12657
- const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
12658
- if (typeof format === "string" && format.includes("int"))
13103
+ const { minimum, maximum, format: format2, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
13104
+ if (typeof format2 === "string" && format2.includes("int"))
12659
13105
  json.type = "integer";
12660
13106
  else
12661
13107
  json.type = "number";
@@ -13468,7 +13914,7 @@ var initializer2 = (inst, issues) => {
13468
13914
  inst.name = "ZodError";
13469
13915
  Object.defineProperties(inst, {
13470
13916
  format: {
13471
- value: (mapper) => formatError(inst, mapper)
13917
+ value: (mapper) => formatError2(inst, mapper)
13472
13918
  },
13473
13919
  flatten: {
13474
13920
  value: (mapper) => flattenError(inst, mapper)
@@ -13525,7 +13971,7 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
13525
13971
  inst.type = def.type;
13526
13972
  Object.defineProperty(inst, "_def", { value: def });
13527
13973
  inst.check = (...checks2) => {
13528
- return inst.clone(exports_util.mergeDefs(def, {
13974
+ return inst.clone(exports_util2.mergeDefs(def, {
13529
13975
  checks: [
13530
13976
  ...def.checks ?? [],
13531
13977
  ...checks2.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch)
@@ -13698,7 +14144,7 @@ function httpUrl(params) {
13698
14144
  return _url(ZodURL, {
13699
14145
  protocol: /^https?$/,
13700
14146
  hostname: exports_regexes.domain,
13701
- ...exports_util.normalizeParams(params)
14147
+ ...exports_util2.normalizeParams(params)
13702
14148
  });
13703
14149
  }
13704
14150
  var ZodEmoji = /* @__PURE__ */ $constructor("ZodEmoji", (inst, def) => {
@@ -13817,8 +14263,8 @@ var ZodCustomStringFormat = /* @__PURE__ */ $constructor("ZodCustomStringFormat"
13817
14263
  $ZodCustomStringFormat.init(inst, def);
13818
14264
  ZodStringFormat.init(inst, def);
13819
14265
  });
13820
- function stringFormat(format, fnOrRegex, _params = {}) {
13821
- return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);
14266
+ function stringFormat(format2, fnOrRegex, _params = {}) {
14267
+ return _stringFormat(ZodCustomStringFormat, format2, fnOrRegex, _params);
13822
14268
  }
13823
14269
  function hostname2(_params) {
13824
14270
  return _stringFormat(ZodCustomStringFormat, "hostname", exports_regexes.hostname, _params);
@@ -13828,11 +14274,11 @@ function hex2(_params) {
13828
14274
  }
13829
14275
  function hash(alg, params) {
13830
14276
  const enc = params?.enc ?? "hex";
13831
- const format = `${alg}_${enc}`;
13832
- const regex = exports_regexes[format];
14277
+ const format2 = `${alg}_${enc}`;
14278
+ const regex = exports_regexes[format2];
13833
14279
  if (!regex)
13834
- throw new Error(`Unrecognized hash format: ${format}`);
13835
- return _stringFormat(ZodCustomStringFormat, format, regex, params);
14280
+ throw new Error(`Unrecognized hash format: ${format2}`);
14281
+ return _stringFormat(ZodCustomStringFormat, format2, regex, params);
13836
14282
  }
13837
14283
  var ZodNumber = /* @__PURE__ */ $constructor("ZodNumber", (inst, def) => {
13838
14284
  $ZodNumber.init(inst, def);
@@ -14016,7 +14462,7 @@ var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
14016
14462
  $ZodObjectJIT.init(inst, def);
14017
14463
  ZodType.init(inst, def);
14018
14464
  inst._zod.processJSONSchema = (ctx, json, params) => objectProcessor(inst, ctx, json, params);
14019
- exports_util.defineLazy(inst, "shape", () => {
14465
+ exports_util2.defineLazy(inst, "shape", () => {
14020
14466
  return def.shape;
14021
14467
  });
14022
14468
  inst.keyof = () => _enum2(Object.keys(inst._zod.def.shape));
@@ -14026,22 +14472,22 @@ var ZodObject = /* @__PURE__ */ $constructor("ZodObject", (inst, def) => {
14026
14472
  inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });
14027
14473
  inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });
14028
14474
  inst.extend = (incoming) => {
14029
- return exports_util.extend(inst, incoming);
14475
+ return exports_util2.extend(inst, incoming);
14030
14476
  };
14031
14477
  inst.safeExtend = (incoming) => {
14032
- return exports_util.safeExtend(inst, incoming);
14478
+ return exports_util2.safeExtend(inst, incoming);
14033
14479
  };
14034
- inst.merge = (other) => exports_util.merge(inst, other);
14035
- inst.pick = (mask) => exports_util.pick(inst, mask);
14036
- inst.omit = (mask) => exports_util.omit(inst, mask);
14037
- inst.partial = (...args) => exports_util.partial(ZodOptional, inst, args[0]);
14038
- inst.required = (...args) => exports_util.required(ZodNonOptional, inst, args[0]);
14480
+ inst.merge = (other) => exports_util2.merge(inst, other);
14481
+ inst.pick = (mask) => exports_util2.pick(inst, mask);
14482
+ inst.omit = (mask) => exports_util2.omit(inst, mask);
14483
+ inst.partial = (...args) => exports_util2.partial(ZodOptional, inst, args[0]);
14484
+ inst.required = (...args) => exports_util2.required(ZodNonOptional, inst, args[0]);
14039
14485
  });
14040
14486
  function object(shape, params) {
14041
14487
  const def = {
14042
14488
  type: "object",
14043
14489
  shape: shape ?? {},
14044
- ...exports_util.normalizeParams(params)
14490
+ ...exports_util2.normalizeParams(params)
14045
14491
  };
14046
14492
  return new ZodObject(def);
14047
14493
  }
@@ -14050,7 +14496,7 @@ function strictObject(shape, params) {
14050
14496
  type: "object",
14051
14497
  shape,
14052
14498
  catchall: never(),
14053
- ...exports_util.normalizeParams(params)
14499
+ ...exports_util2.normalizeParams(params)
14054
14500
  });
14055
14501
  }
14056
14502
  function looseObject(shape, params) {
@@ -14058,7 +14504,7 @@ function looseObject(shape, params) {
14058
14504
  type: "object",
14059
14505
  shape,
14060
14506
  catchall: unknown(),
14061
- ...exports_util.normalizeParams(params)
14507
+ ...exports_util2.normalizeParams(params)
14062
14508
  });
14063
14509
  }
14064
14510
  var ZodUnion = /* @__PURE__ */ $constructor("ZodUnion", (inst, def) => {
@@ -14071,7 +14517,7 @@ function union(options, params) {
14071
14517
  return new ZodUnion({
14072
14518
  type: "union",
14073
14519
  options,
14074
- ...exports_util.normalizeParams(params)
14520
+ ...exports_util2.normalizeParams(params)
14075
14521
  });
14076
14522
  }
14077
14523
  var ZodXor = /* @__PURE__ */ $constructor("ZodXor", (inst, def) => {
@@ -14085,7 +14531,7 @@ function xor(options, params) {
14085
14531
  type: "union",
14086
14532
  options,
14087
14533
  inclusive: false,
14088
- ...exports_util.normalizeParams(params)
14534
+ ...exports_util2.normalizeParams(params)
14089
14535
  });
14090
14536
  }
14091
14537
  var ZodDiscriminatedUnion = /* @__PURE__ */ $constructor("ZodDiscriminatedUnion", (inst, def) => {
@@ -14097,7 +14543,7 @@ function discriminatedUnion(discriminator, options, params) {
14097
14543
  type: "union",
14098
14544
  options,
14099
14545
  discriminator,
14100
- ...exports_util.normalizeParams(params)
14546
+ ...exports_util2.normalizeParams(params)
14101
14547
  });
14102
14548
  }
14103
14549
  var ZodIntersection = /* @__PURE__ */ $constructor("ZodIntersection", (inst, def) => {
@@ -14129,7 +14575,7 @@ function tuple(items, _paramsOrRest, _params) {
14129
14575
  type: "tuple",
14130
14576
  items,
14131
14577
  rest,
14132
- ...exports_util.normalizeParams(params)
14578
+ ...exports_util2.normalizeParams(params)
14133
14579
  });
14134
14580
  }
14135
14581
  var ZodRecord = /* @__PURE__ */ $constructor("ZodRecord", (inst, def) => {
@@ -14144,7 +14590,7 @@ function record(keyType, valueType, params) {
14144
14590
  type: "record",
14145
14591
  keyType,
14146
14592
  valueType,
14147
- ...exports_util.normalizeParams(params)
14593
+ ...exports_util2.normalizeParams(params)
14148
14594
  });
14149
14595
  }
14150
14596
  function partialRecord(keyType, valueType, params) {
@@ -14154,7 +14600,7 @@ function partialRecord(keyType, valueType, params) {
14154
14600
  type: "record",
14155
14601
  keyType: k,
14156
14602
  valueType,
14157
- ...exports_util.normalizeParams(params)
14603
+ ...exports_util2.normalizeParams(params)
14158
14604
  });
14159
14605
  }
14160
14606
  function looseRecord(keyType, valueType, params) {
@@ -14163,7 +14609,7 @@ function looseRecord(keyType, valueType, params) {
14163
14609
  keyType,
14164
14610
  valueType,
14165
14611
  mode: "loose",
14166
- ...exports_util.normalizeParams(params)
14612
+ ...exports_util2.normalizeParams(params)
14167
14613
  });
14168
14614
  }
14169
14615
  var ZodMap = /* @__PURE__ */ $constructor("ZodMap", (inst, def) => {
@@ -14182,7 +14628,7 @@ function map(keyType, valueType, params) {
14182
14628
  type: "map",
14183
14629
  keyType,
14184
14630
  valueType,
14185
- ...exports_util.normalizeParams(params)
14631
+ ...exports_util2.normalizeParams(params)
14186
14632
  });
14187
14633
  }
14188
14634
  var ZodSet = /* @__PURE__ */ $constructor("ZodSet", (inst, def) => {
@@ -14198,7 +14644,7 @@ function set(valueType, params) {
14198
14644
  return new ZodSet({
14199
14645
  type: "set",
14200
14646
  valueType,
14201
- ...exports_util.normalizeParams(params)
14647
+ ...exports_util2.normalizeParams(params)
14202
14648
  });
14203
14649
  }
14204
14650
  var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
@@ -14219,7 +14665,7 @@ var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
14219
14665
  return new ZodEnum({
14220
14666
  ...def,
14221
14667
  checks: [],
14222
- ...exports_util.normalizeParams(params),
14668
+ ...exports_util2.normalizeParams(params),
14223
14669
  entries: newEntries
14224
14670
  });
14225
14671
  };
@@ -14234,7 +14680,7 @@ var ZodEnum = /* @__PURE__ */ $constructor("ZodEnum", (inst, def) => {
14234
14680
  return new ZodEnum({
14235
14681
  ...def,
14236
14682
  checks: [],
14237
- ...exports_util.normalizeParams(params),
14683
+ ...exports_util2.normalizeParams(params),
14238
14684
  entries: newEntries
14239
14685
  });
14240
14686
  };
@@ -14244,14 +14690,14 @@ function _enum2(values, params) {
14244
14690
  return new ZodEnum({
14245
14691
  type: "enum",
14246
14692
  entries,
14247
- ...exports_util.normalizeParams(params)
14693
+ ...exports_util2.normalizeParams(params)
14248
14694
  });
14249
14695
  }
14250
14696
  function nativeEnum(entries, params) {
14251
14697
  return new ZodEnum({
14252
14698
  type: "enum",
14253
14699
  entries,
14254
- ...exports_util.normalizeParams(params)
14700
+ ...exports_util2.normalizeParams(params)
14255
14701
  });
14256
14702
  }
14257
14703
  var ZodLiteral = /* @__PURE__ */ $constructor("ZodLiteral", (inst, def) => {
@@ -14272,7 +14718,7 @@ function literal(value, params) {
14272
14718
  return new ZodLiteral({
14273
14719
  type: "literal",
14274
14720
  values: Array.isArray(value) ? value : [value],
14275
- ...exports_util.normalizeParams(params)
14721
+ ...exports_util2.normalizeParams(params)
14276
14722
  });
14277
14723
  }
14278
14724
  var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => {
@@ -14281,7 +14727,7 @@ var ZodFile = /* @__PURE__ */ $constructor("ZodFile", (inst, def) => {
14281
14727
  inst._zod.processJSONSchema = (ctx, json, params) => fileProcessor(inst, ctx, json, params);
14282
14728
  inst.min = (size, params) => inst.check(_minSize(size, params));
14283
14729
  inst.max = (size, params) => inst.check(_maxSize(size, params));
14284
- inst.mime = (types, params) => inst.check(_mime(Array.isArray(types) ? types : [types], params));
14730
+ inst.mime = (types2, params) => inst.check(_mime(Array.isArray(types2) ? types2 : [types2], params));
14285
14731
  });
14286
14732
  function file(params) {
14287
14733
  return _file(ZodFile, params);
@@ -14296,7 +14742,7 @@ var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
14296
14742
  }
14297
14743
  payload.addIssue = (issue3) => {
14298
14744
  if (typeof issue3 === "string") {
14299
- payload.issues.push(exports_util.issue(issue3, payload.value, def));
14745
+ payload.issues.push(exports_util2.issue(issue3, payload.value, def));
14300
14746
  } else {
14301
14747
  const _issue = issue3;
14302
14748
  if (_issue.fatal)
@@ -14304,7 +14750,7 @@ var ZodTransform = /* @__PURE__ */ $constructor("ZodTransform", (inst, def) => {
14304
14750
  _issue.code ?? (_issue.code = "custom");
14305
14751
  _issue.input ?? (_issue.input = payload.value);
14306
14752
  _issue.inst ?? (_issue.inst = inst);
14307
- payload.issues.push(exports_util.issue(_issue));
14753
+ payload.issues.push(exports_util2.issue(_issue));
14308
14754
  }
14309
14755
  };
14310
14756
  const output = def.transform(payload.value, payload);
@@ -14375,7 +14821,7 @@ function _default2(innerType, defaultValue) {
14375
14821
  type: "default",
14376
14822
  innerType,
14377
14823
  get defaultValue() {
14378
- return typeof defaultValue === "function" ? defaultValue() : exports_util.shallowClone(defaultValue);
14824
+ return typeof defaultValue === "function" ? defaultValue() : exports_util2.shallowClone(defaultValue);
14379
14825
  }
14380
14826
  });
14381
14827
  }
@@ -14390,7 +14836,7 @@ function prefault(innerType, defaultValue) {
14390
14836
  type: "prefault",
14391
14837
  innerType,
14392
14838
  get defaultValue() {
14393
- return typeof defaultValue === "function" ? defaultValue() : exports_util.shallowClone(defaultValue);
14839
+ return typeof defaultValue === "function" ? defaultValue() : exports_util2.shallowClone(defaultValue);
14394
14840
  }
14395
14841
  });
14396
14842
  }
@@ -14404,7 +14850,7 @@ function nonoptional(innerType, params) {
14404
14850
  return new ZodNonOptional({
14405
14851
  type: "nonoptional",
14406
14852
  innerType,
14407
- ...exports_util.normalizeParams(params)
14853
+ ...exports_util2.normalizeParams(params)
14408
14854
  });
14409
14855
  }
14410
14856
  var ZodSuccess = /* @__PURE__ */ $constructor("ZodSuccess", (inst, def) => {
@@ -14489,7 +14935,7 @@ function templateLiteral(parts, params) {
14489
14935
  return new ZodTemplateLiteral({
14490
14936
  type: "template_literal",
14491
14937
  parts,
14492
- ...exports_util.normalizeParams(params)
14938
+ ...exports_util2.normalizeParams(params)
14493
14939
  });
14494
14940
  }
14495
14941
  var ZodLazy = /* @__PURE__ */ $constructor("ZodLazy", (inst, def) => {
@@ -14557,7 +15003,7 @@ function _instanceof(cls, params = {}) {
14557
15003
  check: "custom",
14558
15004
  fn: (data) => data instanceof cls,
14559
15005
  abort: true,
14560
- ...exports_util.normalizeParams(params)
15006
+ ...exports_util2.normalizeParams(params)
14561
15007
  });
14562
15008
  inst._zod.bag.Class = cls;
14563
15009
  inst._zod.check = (payload) => {
@@ -14791,52 +15237,52 @@ function convertBaseSchema(schema, ctx) {
14791
15237
  case "string": {
14792
15238
  let stringSchema = z.string();
14793
15239
  if (schema.format) {
14794
- const format = schema.format;
14795
- if (format === "email") {
15240
+ const format2 = schema.format;
15241
+ if (format2 === "email") {
14796
15242
  stringSchema = stringSchema.check(z.email());
14797
- } else if (format === "uri" || format === "uri-reference") {
15243
+ } else if (format2 === "uri" || format2 === "uri-reference") {
14798
15244
  stringSchema = stringSchema.check(z.url());
14799
- } else if (format === "uuid" || format === "guid") {
15245
+ } else if (format2 === "uuid" || format2 === "guid") {
14800
15246
  stringSchema = stringSchema.check(z.uuid());
14801
- } else if (format === "date-time") {
15247
+ } else if (format2 === "date-time") {
14802
15248
  stringSchema = stringSchema.check(z.iso.datetime());
14803
- } else if (format === "date") {
15249
+ } else if (format2 === "date") {
14804
15250
  stringSchema = stringSchema.check(z.iso.date());
14805
- } else if (format === "time") {
15251
+ } else if (format2 === "time") {
14806
15252
  stringSchema = stringSchema.check(z.iso.time());
14807
- } else if (format === "duration") {
15253
+ } else if (format2 === "duration") {
14808
15254
  stringSchema = stringSchema.check(z.iso.duration());
14809
- } else if (format === "ipv4") {
15255
+ } else if (format2 === "ipv4") {
14810
15256
  stringSchema = stringSchema.check(z.ipv4());
14811
- } else if (format === "ipv6") {
15257
+ } else if (format2 === "ipv6") {
14812
15258
  stringSchema = stringSchema.check(z.ipv6());
14813
- } else if (format === "mac") {
15259
+ } else if (format2 === "mac") {
14814
15260
  stringSchema = stringSchema.check(z.mac());
14815
- } else if (format === "cidr") {
15261
+ } else if (format2 === "cidr") {
14816
15262
  stringSchema = stringSchema.check(z.cidrv4());
14817
- } else if (format === "cidr-v6") {
15263
+ } else if (format2 === "cidr-v6") {
14818
15264
  stringSchema = stringSchema.check(z.cidrv6());
14819
- } else if (format === "base64") {
15265
+ } else if (format2 === "base64") {
14820
15266
  stringSchema = stringSchema.check(z.base64());
14821
- } else if (format === "base64url") {
15267
+ } else if (format2 === "base64url") {
14822
15268
  stringSchema = stringSchema.check(z.base64url());
14823
- } else if (format === "e164") {
15269
+ } else if (format2 === "e164") {
14824
15270
  stringSchema = stringSchema.check(z.e164());
14825
- } else if (format === "jwt") {
15271
+ } else if (format2 === "jwt") {
14826
15272
  stringSchema = stringSchema.check(z.jwt());
14827
- } else if (format === "emoji") {
15273
+ } else if (format2 === "emoji") {
14828
15274
  stringSchema = stringSchema.check(z.emoji());
14829
- } else if (format === "nanoid") {
15275
+ } else if (format2 === "nanoid") {
14830
15276
  stringSchema = stringSchema.check(z.nanoid());
14831
- } else if (format === "cuid") {
15277
+ } else if (format2 === "cuid") {
14832
15278
  stringSchema = stringSchema.check(z.cuid());
14833
- } else if (format === "cuid2") {
15279
+ } else if (format2 === "cuid2") {
14834
15280
  stringSchema = stringSchema.check(z.cuid2());
14835
- } else if (format === "ulid") {
15281
+ } else if (format2 === "ulid") {
14836
15282
  stringSchema = stringSchema.check(z.ulid());
14837
- } else if (format === "xid") {
15283
+ } else if (format2 === "xid") {
14838
15284
  stringSchema = stringSchema.check(z.xid());
14839
- } else if (format === "ksuid") {
15285
+ } else if (format2 === "ksuid") {
14840
15286
  stringSchema = stringSchema.check(z.ksuid());
14841
15287
  }
14842
15288
  }
@@ -15279,6 +15725,8 @@ var ActivityCompletedInput = exports_external.object({
15279
15725
  metricsId: exports_external.string().optional(),
15280
15726
  id: exports_external.string().optional(),
15281
15727
  extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
15728
+ edApp: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional(),
15729
+ session: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional(),
15282
15730
  attempt: exports_external.number().int().min(1).optional(),
15283
15731
  generatedExtensions: exports_external.object({
15284
15732
  pctCompleteApp: exports_external.number().optional()
@@ -15291,7 +15739,9 @@ var TimeSpentInput = exports_external.object({
15291
15739
  eventTime: IsoDateTimeString.optional(),
15292
15740
  metricsId: exports_external.string().optional(),
15293
15741
  id: exports_external.string().optional(),
15294
- extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
15742
+ extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
15743
+ edApp: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional(),
15744
+ session: exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]).optional()
15295
15745
  }).strict();
15296
15746
  var TimebackEvent = exports_external.union([TimebackActivityEvent, TimebackTimeSpentEvent]);
15297
15747
  var CaliperEnvelope = exports_external.object({
@@ -15364,6 +15814,213 @@ var CaliperListEventsParams = exports_external.object({
15364
15814
  actorId: exports_external.string().min(1).optional(),
15365
15815
  actorEmail: exports_external.email().optional()
15366
15816
  }).strict();
15817
+ // ../../types/src/zod/webhooks.ts
15818
+ var WebhookCreateInput = exports_external.object({
15819
+ name: exports_external.string().min(1, "name must be a non-empty string"),
15820
+ targetUrl: exports_external.url("targetUrl must be a valid URL"),
15821
+ secret: exports_external.string().min(1, "secret must be a non-empty string"),
15822
+ active: exports_external.boolean(),
15823
+ sensor: exports_external.string().nullable().optional(),
15824
+ description: exports_external.string().nullable().optional()
15825
+ }).strict();
15826
+ var WebhookFilterType = exports_external.enum(["string", "number", "boolean"]);
15827
+ var WebhookFilterOperation = exports_external.enum([
15828
+ "eq",
15829
+ "neq",
15830
+ "gt",
15831
+ "gte",
15832
+ "lt",
15833
+ "lte",
15834
+ "contains",
15835
+ "notContains",
15836
+ "in",
15837
+ "notIn",
15838
+ "startsWith",
15839
+ "endsWith",
15840
+ "regexp"
15841
+ ]);
15842
+ var WebhookFilterCreateInput = exports_external.object({
15843
+ webhookId: exports_external.string().min(1, "webhookId must be a non-empty string"),
15844
+ filterKey: exports_external.string().min(1, "filterKey must be a non-empty string"),
15845
+ filterValue: exports_external.string().min(1, "filterValue must be a non-empty string"),
15846
+ filterType: WebhookFilterType,
15847
+ filterOperator: WebhookFilterOperation,
15848
+ active: exports_external.boolean()
15849
+ }).strict();
15850
+ // ../../types/src/zod/case.ts
15851
+ var NonEmptyString = exports_external.string().trim().min(1);
15852
+ var InputNodeURISchema = exports_external.object({
15853
+ title: NonEmptyString,
15854
+ identifier: NonEmptyString,
15855
+ uri: NonEmptyString
15856
+ });
15857
+ var CFDocumentInputSchema = exports_external.object({
15858
+ identifier: NonEmptyString,
15859
+ uri: NonEmptyString,
15860
+ lastChangeDateTime: NonEmptyString,
15861
+ title: NonEmptyString,
15862
+ creator: NonEmptyString,
15863
+ officialSourceURL: exports_external.string().optional(),
15864
+ publisher: exports_external.string().optional(),
15865
+ description: exports_external.string().optional(),
15866
+ language: exports_external.string().optional(),
15867
+ version: exports_external.string().optional(),
15868
+ caseVersion: exports_external.string().optional(),
15869
+ adoptionStatus: exports_external.string().optional(),
15870
+ statusStartDate: exports_external.string().optional(),
15871
+ statusEndDate: exports_external.string().optional(),
15872
+ licenseUri: exports_external.string().optional(),
15873
+ notes: exports_external.string().optional(),
15874
+ subject: exports_external.array(exports_external.string()).optional(),
15875
+ extensions: exports_external.unknown().optional()
15876
+ });
15877
+ var CFItemInputSchema = exports_external.object({
15878
+ identifier: NonEmptyString,
15879
+ uri: NonEmptyString,
15880
+ lastChangeDateTime: NonEmptyString,
15881
+ fullStatement: NonEmptyString,
15882
+ alternativeLabel: exports_external.string().optional(),
15883
+ CFItemType: exports_external.string().optional(),
15884
+ cfItemType: exports_external.string().optional(),
15885
+ humanCodingScheme: exports_external.string().optional(),
15886
+ listEnumeration: exports_external.string().optional(),
15887
+ abbreviatedStatement: exports_external.string().optional(),
15888
+ conceptKeywords: exports_external.array(exports_external.string()).optional(),
15889
+ notes: exports_external.string().optional(),
15890
+ subject: exports_external.array(exports_external.string()).optional(),
15891
+ language: exports_external.string().optional(),
15892
+ educationLevel: exports_external.array(exports_external.string()).optional(),
15893
+ CFItemTypeURI: exports_external.unknown().optional(),
15894
+ licenseURI: exports_external.unknown().optional(),
15895
+ statusStartDate: exports_external.string().optional(),
15896
+ statusEndDate: exports_external.string().optional(),
15897
+ extensions: exports_external.unknown().optional()
15898
+ });
15899
+ var CFAssociationInputSchema = exports_external.object({
15900
+ identifier: NonEmptyString,
15901
+ uri: NonEmptyString,
15902
+ lastChangeDateTime: NonEmptyString,
15903
+ associationType: NonEmptyString,
15904
+ originNodeURI: InputNodeURISchema,
15905
+ destinationNodeURI: InputNodeURISchema,
15906
+ sequenceNumber: exports_external.number().optional(),
15907
+ extensions: exports_external.unknown().optional()
15908
+ });
15909
+ var CFDefinitionsSchema = exports_external.object({
15910
+ CFItemTypes: exports_external.array(exports_external.unknown()).optional(),
15911
+ CFSubjects: exports_external.array(exports_external.unknown()).optional(),
15912
+ CFConcepts: exports_external.array(exports_external.unknown()).optional(),
15913
+ CFLicenses: exports_external.array(exports_external.unknown()).optional(),
15914
+ CFAssociationGroupings: exports_external.array(exports_external.unknown()).optional(),
15915
+ extensions: exports_external.unknown().optional()
15916
+ });
15917
+ var CasePackageInput = exports_external.object({
15918
+ CFDocument: CFDocumentInputSchema,
15919
+ CFItems: exports_external.array(CFItemInputSchema),
15920
+ CFAssociations: exports_external.array(CFAssociationInputSchema),
15921
+ CFDefinitions: CFDefinitionsSchema.optional(),
15922
+ extensions: exports_external.unknown().optional()
15923
+ });
15924
+ // ../../types/src/zod/clr.ts
15925
+ var NonEmptyString2 = exports_external.string().trim().min(1);
15926
+ var NonEmptyStringArray = exports_external.array(exports_external.string()).min(1);
15927
+ var ClrImageSchema = exports_external.object({
15928
+ id: NonEmptyString2,
15929
+ type: exports_external.literal("Image"),
15930
+ caption: exports_external.string().optional()
15931
+ });
15932
+ var ClrProfileSchema = exports_external.object({
15933
+ id: NonEmptyString2,
15934
+ type: NonEmptyStringArray,
15935
+ name: exports_external.string().optional(),
15936
+ url: exports_external.string().optional(),
15937
+ phone: exports_external.string().optional(),
15938
+ description: exports_external.string().optional(),
15939
+ image: ClrImageSchema.optional(),
15940
+ email: exports_external.string().optional()
15941
+ });
15942
+ var ClrProofSchema = exports_external.object({
15943
+ type: NonEmptyString2,
15944
+ proofPurpose: NonEmptyString2,
15945
+ verificationMethod: NonEmptyString2,
15946
+ created: NonEmptyString2,
15947
+ proofValue: NonEmptyString2,
15948
+ cryptosuite: exports_external.string().optional()
15949
+ });
15950
+ var ClrCredentialSchemaSchema = exports_external.object({
15951
+ id: NonEmptyString2,
15952
+ type: exports_external.literal("1EdTechJsonSchemaValidator2019")
15953
+ });
15954
+ var AchievementCriteriaSchema = exports_external.object({
15955
+ id: exports_external.string().optional(),
15956
+ narrative: exports_external.string().optional()
15957
+ });
15958
+ var AchievementSchema = exports_external.object({
15959
+ id: NonEmptyString2,
15960
+ type: NonEmptyStringArray,
15961
+ name: NonEmptyString2,
15962
+ description: NonEmptyString2,
15963
+ criteria: AchievementCriteriaSchema,
15964
+ image: ClrImageSchema.optional(),
15965
+ achievementType: exports_external.string().optional(),
15966
+ creator: ClrProfileSchema.optional()
15967
+ });
15968
+ var IdentityObjectSchema = exports_external.object({
15969
+ type: exports_external.literal("IdentityObject"),
15970
+ identityHash: NonEmptyString2,
15971
+ identityType: NonEmptyString2,
15972
+ hashed: exports_external.boolean(),
15973
+ salt: exports_external.string().optional()
15974
+ });
15975
+ var AssociationTypeSchema = exports_external.enum([
15976
+ "exactMatchOf",
15977
+ "isChildOf",
15978
+ "isParentOf",
15979
+ "isPartOf",
15980
+ "isPeerOf",
15981
+ "isRelatedTo",
15982
+ "precedes",
15983
+ "replacedBy"
15984
+ ]);
15985
+ var AssociationSchema = exports_external.object({
15986
+ type: exports_external.literal("Association"),
15987
+ associationType: AssociationTypeSchema,
15988
+ sourceId: NonEmptyString2,
15989
+ targetId: NonEmptyString2
15990
+ });
15991
+ var VerifiableCredentialSchema = exports_external.object({
15992
+ "@context": NonEmptyStringArray,
15993
+ id: NonEmptyString2,
15994
+ type: NonEmptyStringArray,
15995
+ issuer: ClrProfileSchema,
15996
+ validFrom: NonEmptyString2,
15997
+ validUntil: exports_external.string().optional(),
15998
+ credentialSubject: exports_external.object({
15999
+ id: exports_external.string().optional()
16000
+ }),
16001
+ proof: exports_external.array(ClrProofSchema).optional()
16002
+ });
16003
+ var ClrCredentialSubjectSchema = exports_external.object({
16004
+ id: exports_external.string().optional(),
16005
+ type: NonEmptyStringArray,
16006
+ identifier: exports_external.array(IdentityObjectSchema).optional(),
16007
+ achievement: exports_external.array(AchievementSchema).optional(),
16008
+ verifiableCredential: exports_external.array(VerifiableCredentialSchema).min(1),
16009
+ association: exports_external.array(AssociationSchema).optional()
16010
+ });
16011
+ var ClrCredentialInput = exports_external.object({
16012
+ "@context": NonEmptyStringArray,
16013
+ id: NonEmptyString2,
16014
+ type: NonEmptyStringArray,
16015
+ issuer: ClrProfileSchema,
16016
+ name: NonEmptyString2,
16017
+ description: exports_external.string().optional(),
16018
+ validFrom: NonEmptyString2,
16019
+ validUntil: exports_external.string().optional(),
16020
+ credentialSubject: ClrCredentialSubjectSchema,
16021
+ proof: exports_external.array(ClrProofSchema).optional(),
16022
+ credentialSchema: exports_external.array(ClrCredentialSchemaSchema).optional()
16023
+ });
15367
16024
  // ../../types/src/zod/config.ts
15368
16025
  var CourseIds = exports_external.object({
15369
16026
  staging: exports_external.string().meta({ description: "Course ID in staging environment" }).optional(),
@@ -15439,7 +16096,12 @@ var TimebackConfig = exports_external.object({
15439
16096
  }).optional(),
15440
16097
  courses: exports_external.array(CourseConfig).min(1, "At least one course is required").meta({ description: "Courses available in this app" }),
15441
16098
  sensor: exports_external.url().meta({ description: "Default Caliper sensor endpoint URL for all courses" }).optional(),
15442
- launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional()
16099
+ launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional(),
16100
+ studio: exports_external.object({
16101
+ telemetry: exports_external.boolean().meta({
16102
+ description: "Enable anonymous usage telemetry for Studio (default: true)"
16103
+ }).optional().default(true)
16104
+ }).meta({ description: "Studio-specific configuration" }).optional()
15443
16105
  }).meta({
15444
16106
  id: "TimebackConfig",
15445
16107
  title: "Timeback Config",
@@ -15481,7 +16143,7 @@ var TimebackConfig = exports_external.object({
15481
16143
  path: ["courses"]
15482
16144
  });
15483
16145
  // ../../types/src/zod/edubridge.ts
15484
- var EdubridgeDateString = IsoDateTimeString;
16146
+ var EdubridgeDateString = exports_external.union([IsoDateTimeString, IsoDateString]);
15485
16147
  var EduBridgeEnrollment = exports_external.object({
15486
16148
  id: exports_external.string(),
15487
16149
  role: exports_external.string(),
@@ -15525,10 +16187,10 @@ var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
15525
16187
  facts: EduBridgeAnalyticsFacts,
15526
16188
  factsByApp: exports_external.unknown()
15527
16189
  });
15528
- var NonEmptyString = exports_external.string().trim().min(1);
16190
+ var NonEmptyString3 = exports_external.string().trim().min(1);
15529
16191
  var EmailOrStudentId = exports_external.object({
15530
16192
  email: exports_external.email().optional(),
15531
- studentId: NonEmptyString.optional()
16193
+ studentId: NonEmptyString3.optional()
15532
16194
  }).superRefine((value, ctx) => {
15533
16195
  if (!value.email && !value.studentId) {
15534
16196
  ctx.addIssue({
@@ -15544,16 +16206,16 @@ var EmailOrStudentId = exports_external.object({
15544
16206
  }
15545
16207
  });
15546
16208
  var SubjectTrackInput = exports_external.object({
15547
- subject: NonEmptyString,
15548
- grade: NonEmptyString,
15549
- courseId: NonEmptyString,
15550
- orgSourcedId: NonEmptyString.optional()
16209
+ subject: NonEmptyString3,
16210
+ grade: NonEmptyString3,
16211
+ courseId: NonEmptyString3,
16212
+ orgSourcedId: NonEmptyString3.optional()
15551
16213
  });
15552
16214
  var EdubridgeListEnrollmentsParams = exports_external.object({
15553
- userId: NonEmptyString
16215
+ userId: NonEmptyString3
15554
16216
  });
15555
16217
  var EdubridgeEnrollOptions = exports_external.object({
15556
- sourcedId: NonEmptyString.optional(),
16218
+ sourcedId: NonEmptyString3.optional(),
15557
16219
  role: EnrollmentRole.optional(),
15558
16220
  beginDate: EdubridgeDateString.optional(),
15559
16221
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
@@ -15567,7 +16229,7 @@ var EdubridgeUsersListParams = exports_external.object({
15567
16229
  filter: exports_external.string().optional(),
15568
16230
  search: exports_external.string().optional(),
15569
16231
  roles: exports_external.array(OneRosterUserRole).min(1),
15570
- orgSourcedIds: exports_external.array(NonEmptyString).optional()
16232
+ orgSourcedIds: exports_external.array(NonEmptyString3).optional()
15571
16233
  });
15572
16234
  var EdubridgeActivityParams = EmailOrStudentId.extend({
15573
16235
  startDate: EdubridgeDateString,
@@ -15579,17 +16241,94 @@ var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
15579
16241
  timezone: exports_external.string().optional()
15580
16242
  });
15581
16243
  var EdubridgeEnrollmentFactsParams = exports_external.object({
15582
- enrollmentId: NonEmptyString,
16244
+ enrollmentId: NonEmptyString3,
15583
16245
  startDate: EdubridgeDateString.optional(),
15584
16246
  endDate: EdubridgeDateString.optional(),
15585
16247
  timezone: exports_external.string().optional()
15586
16248
  });
16249
+ // ../../types/src/zod/masterytrack.ts
16250
+ var NonEmptyString4 = exports_external.string().trim().min(1);
16251
+ var MasteryTrackAuthorizerInput = exports_external.object({
16252
+ email: exports_external.email()
16253
+ });
16254
+ var MasteryTrackInventorySearchParams = exports_external.object({
16255
+ name: NonEmptyString4.optional(),
16256
+ timeback_id: NonEmptyString4.optional(),
16257
+ grade: NonEmptyString4.optional(),
16258
+ subject: NonEmptyString4.optional(),
16259
+ all: exports_external.boolean().optional()
16260
+ });
16261
+ var MasteryTrackAssignmentInput = exports_external.object({
16262
+ student_email: exports_external.email(),
16263
+ timeback_id: NonEmptyString4.optional(),
16264
+ subject: NonEmptyString4.optional(),
16265
+ grade_rank: exports_external.number().int().min(0).max(12).optional(),
16266
+ assessment_line_item_sourced_id: NonEmptyString4.optional(),
16267
+ assessment_result_sourced_id: NonEmptyString4.optional()
16268
+ }).superRefine((value, ctx) => {
16269
+ const hasTimebackId = !!value.timeback_id;
16270
+ const hasSubject = !!value.subject;
16271
+ const hasGradeRank = value.grade_rank !== undefined;
16272
+ if (!hasTimebackId && !hasSubject) {
16273
+ ctx.addIssue({
16274
+ code: exports_external.ZodIssueCode.custom,
16275
+ message: "must provide either timeback_id or subject",
16276
+ path: ["timeback_id"]
16277
+ });
16278
+ ctx.addIssue({
16279
+ code: exports_external.ZodIssueCode.custom,
16280
+ message: "must provide either timeback_id or subject",
16281
+ path: ["subject"]
16282
+ });
16283
+ }
16284
+ if (hasGradeRank && !hasSubject) {
16285
+ ctx.addIssue({
16286
+ code: exports_external.ZodIssueCode.custom,
16287
+ message: "grade_rank requires subject",
16288
+ path: ["grade_rank"]
16289
+ });
16290
+ }
16291
+ const hasLineItem = !!value.assessment_line_item_sourced_id;
16292
+ const hasResultId = !!value.assessment_result_sourced_id;
16293
+ if (hasLineItem !== hasResultId) {
16294
+ ctx.addIssue({
16295
+ code: exports_external.ZodIssueCode.custom,
16296
+ message: "assessment_line_item_sourced_id and assessment_result_sourced_id must be provided together",
16297
+ path: hasLineItem ? ["assessment_result_sourced_id"] : ["assessment_line_item_sourced_id"]
16298
+ });
16299
+ }
16300
+ });
16301
+ var MasteryTrackInvalidateAssignmentInput = exports_external.object({
16302
+ student_email: exports_external.email(),
16303
+ assignment_id: exports_external.number().int().positive().optional(),
16304
+ timeback_id: NonEmptyString4.optional(),
16305
+ subject: NonEmptyString4.optional(),
16306
+ grade_rank: exports_external.number().int().min(0).max(12).optional()
16307
+ }).superRefine((value, ctx) => {
16308
+ const byAssignment = value.assignment_id !== undefined;
16309
+ const byTimeback = !!value.timeback_id;
16310
+ const bySubjectGrade = !!value.subject && value.grade_rank !== undefined;
16311
+ if (!byAssignment && !byTimeback && !bySubjectGrade) {
16312
+ ctx.addIssue({
16313
+ code: exports_external.ZodIssueCode.custom,
16314
+ message: "Either assignment_id, timeback_id, or (subject and grade_rank) is required",
16315
+ path: ["assignment_id"]
16316
+ });
16317
+ }
16318
+ if (value.grade_rank !== undefined && !value.subject) {
16319
+ ctx.addIssue({
16320
+ code: exports_external.ZodIssueCode.custom,
16321
+ message: "grade_rank requires subject",
16322
+ path: ["grade_rank"]
16323
+ });
16324
+ }
16325
+ });
15587
16326
  // ../../types/src/zod/oneroster.ts
15588
- var NonEmptyString2 = exports_external.string().min(1);
16327
+ var NonEmptyString5 = exports_external.string().min(1);
15589
16328
  var Status = exports_external.enum(["active", "tobedeleted"]);
15590
16329
  var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
15591
16330
  var Ref = exports_external.object({
15592
- sourcedId: NonEmptyString2,
16331
+ sourcedId: NonEmptyString5,
15593
16332
  type: exports_external.string().optional(),
15594
16333
  href: exports_external.string().optional()
15595
16334
  }).strict();
@@ -15604,58 +16343,58 @@ var OneRosterUserRoleInput = exports_external.object({
15604
16343
  endDate: OneRosterDateString.optional()
15605
16344
  }).strict();
15606
16345
  var OneRosterUserCreateInput = exports_external.object({
15607
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16346
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15608
16347
  status: Status.optional(),
15609
16348
  enabledUser: exports_external.boolean(),
15610
- givenName: NonEmptyString2.describe("givenName must be a non-empty string"),
15611
- familyName: NonEmptyString2.describe("familyName must be a non-empty string"),
15612
- middleName: NonEmptyString2.optional(),
15613
- username: NonEmptyString2.optional(),
16349
+ givenName: NonEmptyString5.describe("givenName must be a non-empty string"),
16350
+ familyName: NonEmptyString5.describe("familyName must be a non-empty string"),
16351
+ middleName: NonEmptyString5.optional(),
16352
+ username: NonEmptyString5.optional(),
15614
16353
  email: exports_external.email().optional(),
15615
16354
  roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
15616
16355
  userIds: exports_external.array(exports_external.object({
15617
- type: NonEmptyString2,
15618
- identifier: NonEmptyString2
16356
+ type: NonEmptyString5,
16357
+ identifier: NonEmptyString5
15619
16358
  }).strict()).optional(),
15620
16359
  agents: exports_external.array(Ref).optional(),
15621
16360
  grades: exports_external.array(TimebackGrade).optional(),
15622
- identifier: NonEmptyString2.optional(),
15623
- sms: NonEmptyString2.optional(),
15624
- phone: NonEmptyString2.optional(),
15625
- pronouns: NonEmptyString2.optional(),
15626
- password: NonEmptyString2.optional(),
16361
+ identifier: NonEmptyString5.optional(),
16362
+ sms: NonEmptyString5.optional(),
16363
+ phone: NonEmptyString5.optional(),
16364
+ pronouns: NonEmptyString5.optional(),
16365
+ password: NonEmptyString5.optional(),
15627
16366
  metadata: Metadata
15628
16367
  }).strict();
15629
16368
  var OneRosterCourseCreateInput = exports_external.object({
15630
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16369
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
15631
16370
  status: Status.optional(),
15632
- title: NonEmptyString2.describe("title must be a non-empty string"),
16371
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15633
16372
  org: Ref,
15634
- courseCode: NonEmptyString2.optional(),
16373
+ courseCode: NonEmptyString5.optional(),
15635
16374
  subjects: exports_external.array(TimebackSubject).optional(),
15636
16375
  grades: exports_external.array(TimebackGrade).optional(),
15637
- level: NonEmptyString2.optional(),
16376
+ level: NonEmptyString5.optional(),
15638
16377
  metadata: Metadata
15639
16378
  }).strict();
15640
16379
  var OneRosterClassCreateInput = exports_external.object({
15641
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16380
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
15642
16381
  status: Status.optional(),
15643
- title: NonEmptyString2.describe("title must be a non-empty string"),
16382
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15644
16383
  terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
15645
16384
  course: Ref,
15646
16385
  org: Ref,
15647
- classCode: NonEmptyString2.optional(),
16386
+ classCode: NonEmptyString5.optional(),
15648
16387
  classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
15649
- location: NonEmptyString2.optional(),
16388
+ location: NonEmptyString5.optional(),
15650
16389
  grades: exports_external.array(TimebackGrade).optional(),
15651
16390
  subjects: exports_external.array(TimebackSubject).optional(),
15652
- subjectCodes: exports_external.array(NonEmptyString2).optional(),
15653
- periods: exports_external.array(NonEmptyString2).optional(),
16391
+ subjectCodes: exports_external.array(NonEmptyString5).optional(),
16392
+ periods: exports_external.array(NonEmptyString5).optional(),
15654
16393
  metadata: Metadata
15655
16394
  }).strict();
15656
16395
  var StringBoolean = exports_external.enum(["true", "false"]);
15657
16396
  var OneRosterEnrollmentCreateInput = exports_external.object({
15658
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
16397
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
15659
16398
  status: Status.optional(),
15660
16399
  user: Ref,
15661
16400
  class: Ref,
@@ -15667,15 +16406,15 @@ var OneRosterEnrollmentCreateInput = exports_external.object({
15667
16406
  metadata: Metadata
15668
16407
  }).strict();
15669
16408
  var OneRosterCategoryCreateInput = exports_external.object({
15670
- sourcedId: NonEmptyString2.optional(),
15671
- title: NonEmptyString2.describe("title must be a non-empty string"),
16409
+ sourcedId: NonEmptyString5.optional(),
16410
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15672
16411
  status: Status,
15673
16412
  weight: exports_external.number().nullable().optional(),
15674
16413
  metadata: Metadata
15675
16414
  }).strict();
15676
16415
  var OneRosterLineItemCreateInput = exports_external.object({
15677
- sourcedId: NonEmptyString2.optional(),
15678
- title: NonEmptyString2.describe("title must be a non-empty string"),
16416
+ sourcedId: NonEmptyString5.optional(),
16417
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15679
16418
  class: Ref,
15680
16419
  school: Ref,
15681
16420
  category: Ref,
@@ -15689,7 +16428,7 @@ var OneRosterLineItemCreateInput = exports_external.object({
15689
16428
  metadata: Metadata
15690
16429
  }).strict();
15691
16430
  var OneRosterResultCreateInput = exports_external.object({
15692
- sourcedId: NonEmptyString2.optional(),
16431
+ sourcedId: NonEmptyString5.optional(),
15693
16432
  lineItem: Ref,
15694
16433
  student: Ref,
15695
16434
  class: Ref.optional(),
@@ -15708,15 +16447,15 @@ var OneRosterResultCreateInput = exports_external.object({
15708
16447
  metadata: Metadata
15709
16448
  }).strict();
15710
16449
  var OneRosterScoreScaleCreateInput = exports_external.object({
15711
- sourcedId: NonEmptyString2.optional(),
15712
- title: NonEmptyString2.describe("title must be a non-empty string"),
16450
+ sourcedId: NonEmptyString5.optional(),
16451
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15713
16452
  status: Status.optional(),
15714
16453
  type: exports_external.string().optional(),
15715
16454
  class: Ref.optional(),
15716
16455
  course: Ref.nullable().optional(),
15717
16456
  scoreScaleValue: exports_external.array(exports_external.object({
15718
- itemValueLHS: NonEmptyString2,
15719
- itemValueRHS: NonEmptyString2,
16457
+ itemValueLHS: NonEmptyString5,
16458
+ itemValueRHS: NonEmptyString5,
15720
16459
  value: exports_external.string().optional(),
15721
16460
  description: exports_external.string().optional()
15722
16461
  }).strict()).optional(),
@@ -15725,10 +16464,10 @@ var OneRosterScoreScaleCreateInput = exports_external.object({
15725
16464
  metadata: Metadata
15726
16465
  }).strict();
15727
16466
  var OneRosterAssessmentLineItemCreateInput = exports_external.object({
15728
- sourcedId: NonEmptyString2.optional(),
16467
+ sourcedId: NonEmptyString5.optional(),
15729
16468
  status: Status.optional(),
15730
16469
  dateLastModified: IsoDateTimeString.optional(),
15731
- title: NonEmptyString2.describe("title must be a non-empty string"),
16470
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15732
16471
  description: exports_external.string().nullable().optional(),
15733
16472
  class: Ref.nullable().optional(),
15734
16473
  parentAssessmentLineItem: Ref.nullable().optional(),
@@ -15754,7 +16493,7 @@ var LearningObjectiveScoreSetSchema = exports_external.array(exports_external.ob
15754
16493
  learningObjectiveResults: exports_external.array(LearningObjectiveResult)
15755
16494
  }));
15756
16495
  var OneRosterAssessmentResultCreateInput = exports_external.object({
15757
- sourcedId: NonEmptyString2.optional(),
16496
+ sourcedId: NonEmptyString5.optional(),
15758
16497
  status: Status.optional(),
15759
16498
  dateLastModified: IsoDateTimeString.optional(),
15760
16499
  metadata: Metadata,
@@ -15780,53 +16519,53 @@ var OneRosterAssessmentResultCreateInput = exports_external.object({
15780
16519
  missing: exports_external.string().nullable().optional()
15781
16520
  }).strict();
15782
16521
  var OneRosterOrgCreateInput = exports_external.object({
15783
- sourcedId: NonEmptyString2.optional(),
16522
+ sourcedId: NonEmptyString5.optional(),
15784
16523
  status: Status.optional(),
15785
- name: NonEmptyString2.describe("name must be a non-empty string"),
16524
+ name: NonEmptyString5.describe("name must be a non-empty string"),
15786
16525
  type: OrganizationType,
15787
- identifier: NonEmptyString2.optional(),
16526
+ identifier: NonEmptyString5.optional(),
15788
16527
  parent: Ref.optional(),
15789
16528
  metadata: Metadata
15790
16529
  }).strict();
15791
16530
  var OneRosterSchoolCreateInput = exports_external.object({
15792
- sourcedId: NonEmptyString2.optional(),
16531
+ sourcedId: NonEmptyString5.optional(),
15793
16532
  status: Status.optional(),
15794
- name: NonEmptyString2.describe("name must be a non-empty string"),
16533
+ name: NonEmptyString5.describe("name must be a non-empty string"),
15795
16534
  type: exports_external.literal("school").optional(),
15796
- identifier: NonEmptyString2.optional(),
16535
+ identifier: NonEmptyString5.optional(),
15797
16536
  parent: Ref.optional(),
15798
16537
  metadata: Metadata
15799
16538
  }).strict();
15800
16539
  var OneRosterAcademicSessionCreateInput = exports_external.object({
15801
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16540
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15802
16541
  status: Status,
15803
- title: NonEmptyString2.describe("title must be a non-empty string"),
16542
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15804
16543
  startDate: OneRosterDateString,
15805
16544
  endDate: OneRosterDateString,
15806
16545
  type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
15807
- schoolYear: NonEmptyString2.describe("schoolYear must be a non-empty string"),
16546
+ schoolYear: NonEmptyString5.describe("schoolYear must be a non-empty string"),
15808
16547
  org: Ref,
15809
16548
  parent: Ref.optional(),
15810
16549
  children: exports_external.array(Ref).optional(),
15811
16550
  metadata: Metadata
15812
16551
  }).strict();
15813
16552
  var OneRosterComponentResourceCreateInput = exports_external.object({
15814
- sourcedId: NonEmptyString2.optional(),
15815
- title: NonEmptyString2.describe("title must be a non-empty string"),
16553
+ sourcedId: NonEmptyString5.optional(),
16554
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15816
16555
  courseComponent: Ref,
15817
16556
  resource: Ref,
15818
16557
  status: Status,
15819
16558
  metadata: Metadata
15820
16559
  }).strict();
15821
16560
  var OneRosterCourseComponentCreateInput = exports_external.object({
15822
- sourcedId: NonEmptyString2.optional(),
15823
- title: NonEmptyString2.describe("title must be a non-empty string"),
16561
+ sourcedId: NonEmptyString5.optional(),
16562
+ title: NonEmptyString5.describe("title must be a non-empty string"),
15824
16563
  course: Ref,
15825
16564
  status: Status,
15826
16565
  metadata: Metadata
15827
16566
  }).strict();
15828
16567
  var OneRosterEnrollInput = exports_external.object({
15829
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
16568
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
15830
16569
  role: exports_external.enum(["student", "teacher"]),
15831
16570
  primary: StringBoolean.optional(),
15832
16571
  beginDate: OneRosterDateString.optional(),
@@ -15834,16 +16573,16 @@ var OneRosterEnrollInput = exports_external.object({
15834
16573
  metadata: Metadata
15835
16574
  }).strict();
15836
16575
  var OneRosterAgentInput = exports_external.object({
15837
- agentSourcedId: NonEmptyString2.describe("agentSourcedId must be a non-empty string")
16576
+ agentSourcedId: NonEmptyString5.describe("agentSourcedId must be a non-empty string")
15838
16577
  }).strict();
15839
16578
  var OneRosterCredentialInput = exports_external.object({
15840
- type: NonEmptyString2.describe("type must be a non-empty string"),
15841
- username: NonEmptyString2.describe("username must be a non-empty string"),
16579
+ type: NonEmptyString5.describe("type must be a non-empty string"),
16580
+ username: NonEmptyString5.describe("username must be a non-empty string"),
15842
16581
  password: exports_external.string().optional(),
15843
16582
  metadata: Metadata
15844
16583
  }).strict();
15845
16584
  var OneRosterDemographicsCreateInput = exports_external.object({
15846
- sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
16585
+ sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string")
15847
16586
  }).loose();
15848
16587
  var CommonResourceMetadataSchema = exports_external.object({
15849
16588
  type: ResourceType,
@@ -15915,9 +16654,9 @@ var ResourceMetadataSchema = exports_external.discriminatedUnion("type", [
15915
16654
  AssessmentBankMetadataSchema
15916
16655
  ]);
15917
16656
  var OneRosterResourceCreateInput = exports_external.object({
15918
- sourcedId: NonEmptyString2.optional(),
15919
- title: NonEmptyString2.describe("title must be a non-empty string"),
15920
- vendorResourceId: NonEmptyString2.describe("vendorResourceId must be a non-empty string"),
16657
+ sourcedId: NonEmptyString5.optional(),
16658
+ title: NonEmptyString5.describe("title must be a non-empty string"),
16659
+ vendorResourceId: NonEmptyString5.describe("vendorResourceId must be a non-empty string"),
15921
16660
  roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
15922
16661
  importance: exports_external.enum(["primary", "secondary"]).optional(),
15923
16662
  vendorId: exports_external.string().optional(),
@@ -15926,18 +16665,18 @@ var OneRosterResourceCreateInput = exports_external.object({
15926
16665
  metadata: ResourceMetadataSchema.nullable().optional()
15927
16666
  }).strict();
15928
16667
  var CourseStructureItem = exports_external.object({
15929
- url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
15930
- skillCode: NonEmptyString2.describe("courseStructure.skillCode must be a non-empty string"),
15931
- lessonCode: NonEmptyString2.describe("courseStructure.lessonCode must be a non-empty string"),
15932
- title: NonEmptyString2.describe("courseStructure.title must be a non-empty string"),
15933
- "unit-title": NonEmptyString2.describe("courseStructure.unit-title must be a non-empty string"),
15934
- status: NonEmptyString2.describe("courseStructure.status must be a non-empty string"),
16668
+ url: NonEmptyString5.describe("courseStructure.url must be a non-empty string"),
16669
+ skillCode: NonEmptyString5.describe("courseStructure.skillCode must be a non-empty string"),
16670
+ lessonCode: NonEmptyString5.describe("courseStructure.lessonCode must be a non-empty string"),
16671
+ title: NonEmptyString5.describe("courseStructure.title must be a non-empty string"),
16672
+ "unit-title": NonEmptyString5.describe("courseStructure.unit-title must be a non-empty string"),
16673
+ status: NonEmptyString5.describe("courseStructure.status must be a non-empty string"),
15935
16674
  xp: exports_external.number()
15936
16675
  }).loose();
15937
16676
  var OneRosterCourseStructureInput = exports_external.object({
15938
16677
  course: exports_external.object({
15939
- sourcedId: NonEmptyString2.describe("course.sourcedId must be a non-empty string").optional(),
15940
- title: NonEmptyString2.describe("course.title must be a non-empty string"),
16678
+ sourcedId: NonEmptyString5.describe("course.sourcedId must be a non-empty string").optional(),
16679
+ title: NonEmptyString5.describe("course.title must be a non-empty string"),
15941
16680
  org: Ref,
15942
16681
  status: Status,
15943
16682
  metadata: Metadata
@@ -15949,7 +16688,7 @@ var OneRosterBulkResultItem = exports_external.object({
15949
16688
  }).loose();
15950
16689
  var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
15951
16690
  // ../../types/src/zod/powerpath.ts
15952
- var NonEmptyString3 = exports_external.string().trim().min(1);
16691
+ var NonEmptyString6 = exports_external.string().trim().min(1);
15953
16692
  var ToolProvider = exports_external.enum(["edulastic", "mastery-track"]);
15954
16693
  var LessonTypeRequired = exports_external.enum([
15955
16694
  "powerpath-100",
@@ -15962,14 +16701,14 @@ var LessonTypeRequired = exports_external.enum([
15962
16701
  var GradeArray = exports_external.array(TimebackGrade);
15963
16702
  var ResourceMetadata = exports_external.record(exports_external.string(), exports_external.unknown()).optional();
15964
16703
  var ExternalTestBase = exports_external.object({
15965
- courseId: NonEmptyString3,
15966
- lessonTitle: NonEmptyString3.optional(),
16704
+ courseId: NonEmptyString6,
16705
+ lessonTitle: NonEmptyString6.optional(),
15967
16706
  launchUrl: exports_external.url().optional(),
15968
16707
  toolProvider: ToolProvider,
15969
- unitTitle: NonEmptyString3.optional(),
15970
- courseComponentSourcedId: NonEmptyString3.optional(),
15971
- vendorId: NonEmptyString3.optional(),
15972
- description: NonEmptyString3.optional(),
16708
+ unitTitle: NonEmptyString6.optional(),
16709
+ courseComponentSourcedId: NonEmptyString6.optional(),
16710
+ vendorId: NonEmptyString6.optional(),
16711
+ description: NonEmptyString6.optional(),
15973
16712
  resourceMetadata: ResourceMetadata.nullable().optional(),
15974
16713
  grades: GradeArray
15975
16714
  });
@@ -15979,26 +16718,26 @@ var ExternalTestOut = ExternalTestBase.extend({
15979
16718
  });
15980
16719
  var ExternalPlacement = ExternalTestBase.extend({
15981
16720
  lessonType: exports_external.literal("placement"),
15982
- courseIdOnFail: NonEmptyString3.optional(),
16721
+ courseIdOnFail: NonEmptyString6.optional(),
15983
16722
  xp: exports_external.number().optional()
15984
16723
  });
15985
16724
  var InternalTestBase = exports_external.object({
15986
- courseId: NonEmptyString3,
16725
+ courseId: NonEmptyString6,
15987
16726
  lessonType: LessonTypeRequired,
15988
- lessonTitle: NonEmptyString3.optional(),
15989
- unitTitle: NonEmptyString3.optional(),
15990
- courseComponentSourcedId: NonEmptyString3.optional(),
16727
+ lessonTitle: NonEmptyString6.optional(),
16728
+ unitTitle: NonEmptyString6.optional(),
16729
+ courseComponentSourcedId: NonEmptyString6.optional(),
15991
16730
  resourceMetadata: ResourceMetadata.nullable().optional(),
15992
16731
  xp: exports_external.number().optional(),
15993
16732
  grades: GradeArray.optional(),
15994
- courseIdOnFail: NonEmptyString3.optional()
16733
+ courseIdOnFail: NonEmptyString6.optional()
15995
16734
  });
15996
16735
  var PowerPathCreateInternalTestInput = exports_external.union([
15997
16736
  InternalTestBase.extend({
15998
16737
  testType: exports_external.literal("qti"),
15999
16738
  qti: exports_external.object({
16000
16739
  url: exports_external.url(),
16001
- title: NonEmptyString3.optional(),
16740
+ title: NonEmptyString6.optional(),
16002
16741
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16003
16742
  })
16004
16743
  }),
@@ -16007,28 +16746,28 @@ var PowerPathCreateInternalTestInput = exports_external.union([
16007
16746
  assessmentBank: exports_external.object({
16008
16747
  resources: exports_external.array(exports_external.object({
16009
16748
  url: exports_external.url(),
16010
- title: NonEmptyString3.optional(),
16749
+ title: NonEmptyString6.optional(),
16011
16750
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
16012
16751
  }))
16013
16752
  })
16014
16753
  })
16015
16754
  ]);
16016
16755
  var PowerPathCreateNewAttemptInput = exports_external.object({
16017
- student: NonEmptyString3,
16018
- lesson: NonEmptyString3
16756
+ student: NonEmptyString6,
16757
+ lesson: NonEmptyString6
16019
16758
  });
16020
16759
  var PowerPathFinalStudentAssessmentResponseInput = exports_external.object({
16021
- student: NonEmptyString3,
16022
- lesson: NonEmptyString3
16760
+ student: NonEmptyString6,
16761
+ lesson: NonEmptyString6
16023
16762
  });
16024
16763
  var PowerPathLessonPlansCreateInput = exports_external.object({
16025
- courseId: NonEmptyString3,
16026
- userId: NonEmptyString3,
16027
- classId: NonEmptyString3.optional()
16764
+ courseId: NonEmptyString6,
16765
+ userId: NonEmptyString6,
16766
+ classId: NonEmptyString6.optional()
16028
16767
  });
16029
16768
  var LessonPlanTarget = exports_external.object({
16030
16769
  type: exports_external.enum(["component", "resource"]),
16031
- id: NonEmptyString3
16770
+ id: NonEmptyString6
16032
16771
  });
16033
16772
  var PowerPathLessonPlanOperationInput = exports_external.union([
16034
16773
  exports_external.object({
@@ -16041,8 +16780,8 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16041
16780
  exports_external.object({
16042
16781
  type: exports_external.literal("add-custom-resource"),
16043
16782
  payload: exports_external.object({
16044
- resource_id: NonEmptyString3,
16045
- parent_component_id: NonEmptyString3,
16783
+ resource_id: NonEmptyString6,
16784
+ parent_component_id: NonEmptyString6,
16046
16785
  skipped: exports_external.boolean().optional()
16047
16786
  })
16048
16787
  }),
@@ -16050,14 +16789,14 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16050
16789
  type: exports_external.literal("move-item-before"),
16051
16790
  payload: exports_external.object({
16052
16791
  target: LessonPlanTarget,
16053
- reference_id: NonEmptyString3
16792
+ reference_id: NonEmptyString6
16054
16793
  })
16055
16794
  }),
16056
16795
  exports_external.object({
16057
16796
  type: exports_external.literal("move-item-after"),
16058
16797
  payload: exports_external.object({
16059
16798
  target: LessonPlanTarget,
16060
- reference_id: NonEmptyString3
16799
+ reference_id: NonEmptyString6
16061
16800
  })
16062
16801
  }),
16063
16802
  exports_external.object({
@@ -16076,135 +16815,135 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
16076
16815
  type: exports_external.literal("change-item-parent"),
16077
16816
  payload: exports_external.object({
16078
16817
  target: LessonPlanTarget,
16079
- new_parent_id: NonEmptyString3,
16818
+ new_parent_id: NonEmptyString6,
16080
16819
  position: exports_external.enum(["start", "end"]).optional()
16081
16820
  })
16082
16821
  })
16083
16822
  ]);
16084
16823
  var PowerPathLessonPlanOperationsInput = exports_external.object({
16085
16824
  operation: exports_external.array(PowerPathLessonPlanOperationInput),
16086
- reason: NonEmptyString3.optional()
16825
+ reason: NonEmptyString6.optional()
16087
16826
  });
16088
16827
  var PowerPathLessonPlanUpdateStudentItemResponseInput = exports_external.object({
16089
- studentId: NonEmptyString3,
16090
- componentResourceId: NonEmptyString3,
16828
+ studentId: NonEmptyString6,
16829
+ componentResourceId: NonEmptyString6,
16091
16830
  result: exports_external.object({
16092
16831
  status: exports_external.enum(["active", "tobedeleted"]),
16093
16832
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16094
16833
  score: exports_external.number().optional(),
16095
- textScore: NonEmptyString3.optional(),
16096
- scoreDate: NonEmptyString3,
16834
+ textScore: NonEmptyString6.optional(),
16835
+ scoreDate: NonEmptyString6,
16097
16836
  scorePercentile: exports_external.number().optional(),
16098
16837
  scoreStatus: ScoreStatus,
16099
- comment: NonEmptyString3.optional(),
16838
+ comment: NonEmptyString6.optional(),
16100
16839
  learningObjectiveSet: exports_external.array(exports_external.object({
16101
- source: NonEmptyString3,
16840
+ source: NonEmptyString6,
16102
16841
  learningObjectiveResults: exports_external.array(exports_external.object({
16103
- learningObjectiveId: NonEmptyString3,
16842
+ learningObjectiveId: NonEmptyString6,
16104
16843
  score: exports_external.number().optional(),
16105
- textScore: NonEmptyString3.optional()
16844
+ textScore: NonEmptyString6.optional()
16106
16845
  }))
16107
16846
  })).optional(),
16108
- inProgress: NonEmptyString3.optional(),
16109
- incomplete: NonEmptyString3.optional(),
16110
- late: NonEmptyString3.optional(),
16111
- missing: NonEmptyString3.optional()
16847
+ inProgress: NonEmptyString6.optional(),
16848
+ incomplete: NonEmptyString6.optional(),
16849
+ late: NonEmptyString6.optional(),
16850
+ missing: NonEmptyString6.optional()
16112
16851
  })
16113
16852
  });
16114
16853
  var PowerPathMakeExternalTestAssignmentInput = exports_external.object({
16115
- student: NonEmptyString3,
16116
- lesson: NonEmptyString3,
16117
- applicationName: NonEmptyString3.optional(),
16118
- testId: NonEmptyString3.optional(),
16854
+ student: NonEmptyString6,
16855
+ lesson: NonEmptyString6,
16856
+ applicationName: NonEmptyString6.optional(),
16857
+ testId: NonEmptyString6.optional(),
16119
16858
  skipCourseEnrollment: exports_external.boolean().optional()
16120
16859
  });
16121
16860
  var PowerPathPlacementResetUserPlacementInput = exports_external.object({
16122
- student: NonEmptyString3,
16861
+ student: NonEmptyString6,
16123
16862
  subject: TimebackSubject
16124
16863
  });
16125
16864
  var PowerPathResetAttemptInput = exports_external.object({
16126
- student: NonEmptyString3,
16127
- lesson: NonEmptyString3
16865
+ student: NonEmptyString6,
16866
+ lesson: NonEmptyString6
16128
16867
  });
16129
16868
  var PowerPathScreeningResetSessionInput = exports_external.object({
16130
- userId: NonEmptyString3
16869
+ userId: NonEmptyString6
16131
16870
  });
16132
16871
  var PowerPathScreeningAssignTestInput = exports_external.object({
16133
- userId: NonEmptyString3,
16872
+ userId: NonEmptyString6,
16134
16873
  subject: exports_external.enum(["Math", "Reading", "Language", "Science"])
16135
16874
  });
16136
16875
  var PowerPathTestAssignmentsCreateInput = exports_external.object({
16137
- student: NonEmptyString3,
16876
+ student: NonEmptyString6,
16138
16877
  subject: TimebackSubject,
16139
16878
  grade: TimebackGrade,
16140
- testName: NonEmptyString3.optional()
16879
+ testName: NonEmptyString6.optional()
16141
16880
  });
16142
16881
  var PowerPathTestAssignmentsUpdateInput = exports_external.object({
16143
- testName: NonEmptyString3
16882
+ testName: NonEmptyString6
16144
16883
  });
16145
16884
  var PowerPathTestAssignmentItemInput = exports_external.object({
16146
- student: NonEmptyString3,
16885
+ student: NonEmptyString6,
16147
16886
  subject: TimebackSubject,
16148
16887
  grade: TimebackGrade,
16149
- testName: NonEmptyString3.optional()
16888
+ testName: NonEmptyString6.optional()
16150
16889
  });
16151
16890
  var PowerPathTestAssignmentsBulkInput = exports_external.object({
16152
16891
  items: exports_external.array(PowerPathTestAssignmentItemInput)
16153
16892
  });
16154
16893
  var PowerPathTestAssignmentsImportInput = exports_external.object({
16155
16894
  spreadsheetUrl: exports_external.url(),
16156
- sheet: NonEmptyString3
16895
+ sheet: NonEmptyString6
16157
16896
  });
16158
16897
  var PowerPathTestAssignmentsListParams = exports_external.object({
16159
- student: NonEmptyString3,
16898
+ student: NonEmptyString6,
16160
16899
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16161
- subject: NonEmptyString3.optional(),
16900
+ subject: NonEmptyString6.optional(),
16162
16901
  grade: TimebackGrade.optional(),
16163
16902
  limit: exports_external.number().int().positive().max(3000).optional(),
16164
16903
  offset: exports_external.number().int().nonnegative().optional()
16165
16904
  });
16166
16905
  var PowerPathTestAssignmentsAdminParams = exports_external.object({
16167
- student: NonEmptyString3.optional(),
16906
+ student: NonEmptyString6.optional(),
16168
16907
  status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
16169
- subject: NonEmptyString3.optional(),
16908
+ subject: NonEmptyString6.optional(),
16170
16909
  grade: TimebackGrade.optional(),
16171
16910
  limit: exports_external.number().int().positive().max(3000).optional(),
16172
16911
  offset: exports_external.number().int().nonnegative().optional()
16173
16912
  });
16174
16913
  var PowerPathUpdateStudentQuestionResponseInput = exports_external.object({
16175
- student: NonEmptyString3,
16176
- question: NonEmptyString3,
16177
- response: exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)]).optional(),
16178
- responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString3, exports_external.array(NonEmptyString3)])).optional(),
16179
- lesson: NonEmptyString3
16914
+ student: NonEmptyString6,
16915
+ question: NonEmptyString6,
16916
+ response: exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)]).optional(),
16917
+ responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)])).optional(),
16918
+ lesson: NonEmptyString6
16180
16919
  });
16181
16920
  var PowerPathGetAssessmentProgressParams = exports_external.object({
16182
- student: NonEmptyString3,
16183
- lesson: NonEmptyString3,
16921
+ student: NonEmptyString6,
16922
+ lesson: NonEmptyString6,
16184
16923
  attempt: exports_external.number().int().positive().optional()
16185
16924
  });
16186
16925
  var PowerPathGetNextQuestionParams = exports_external.object({
16187
- student: NonEmptyString3,
16188
- lesson: NonEmptyString3
16926
+ student: NonEmptyString6,
16927
+ lesson: NonEmptyString6
16189
16928
  });
16190
16929
  var PowerPathGetAttemptsParams = exports_external.object({
16191
- student: NonEmptyString3,
16192
- lesson: NonEmptyString3
16930
+ student: NonEmptyString6,
16931
+ lesson: NonEmptyString6
16193
16932
  });
16194
16933
  var PowerPathTestOutParams = exports_external.object({
16195
- student: NonEmptyString3,
16196
- lesson: NonEmptyString3.optional(),
16934
+ student: NonEmptyString6,
16935
+ lesson: NonEmptyString6.optional(),
16197
16936
  finalized: exports_external.boolean().optional(),
16198
- toolProvider: NonEmptyString3.optional(),
16937
+ toolProvider: NonEmptyString6.optional(),
16199
16938
  attempt: exports_external.number().int().positive().optional()
16200
16939
  });
16201
16940
  var PowerPathImportExternalTestAssignmentResultsParams = exports_external.object({
16202
- student: NonEmptyString3,
16203
- lesson: NonEmptyString3,
16204
- applicationName: NonEmptyString3.optional()
16941
+ student: NonEmptyString6,
16942
+ lesson: NonEmptyString6,
16943
+ applicationName: NonEmptyString6.optional()
16205
16944
  });
16206
16945
  var PowerPathPlacementQueryParams = exports_external.object({
16207
- student: NonEmptyString3,
16946
+ student: NonEmptyString6,
16208
16947
  subject: TimebackSubject
16209
16948
  });
16210
16949
  var PowerPathSyllabusQueryParams = exports_external.object({
@@ -16295,7 +17034,7 @@ var QtiItemMetadata = exports_external.object({
16295
17034
  grade: TimebackGrade.optional(),
16296
17035
  difficulty: QtiDifficulty.optional(),
16297
17036
  learningObjectiveSet: exports_external.array(QtiLearningObjectiveSet).optional()
16298
- }).strict();
17037
+ }).loose();
16299
17038
  var QtiModalFeedback = exports_external.object({
16300
17039
  outcomeIdentifier: exports_external.string().min(1),
16301
17040
  identifier: exports_external.string().min(1),
@@ -16332,7 +17071,12 @@ var QtiPaginationParams = exports_external.object({
16332
17071
  sort: exports_external.string().optional(),
16333
17072
  order: exports_external.enum(["asc", "desc"]).optional()
16334
17073
  }).strict();
16335
- var QtiAssessmentItemCreateInput = exports_external.object({
17074
+ var QtiAssessmentItemXmlCreateInput = exports_external.object({
17075
+ format: exports_external.string().pipe(exports_external.literal("xml")),
17076
+ xml: exports_external.string().min(1),
17077
+ metadata: QtiItemMetadata.optional()
17078
+ }).strict();
17079
+ var QtiAssessmentItemJsonCreateInput = exports_external.object({
16336
17080
  identifier: exports_external.string().min(1),
16337
17081
  title: exports_external.string().min(1),
16338
17082
  type: QtiAssessmentItemType,
@@ -16347,6 +17091,10 @@ var QtiAssessmentItemCreateInput = exports_external.object({
16347
17091
  feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
16348
17092
  feedbackBlock: exports_external.array(QtiFeedbackBlock).optional()
16349
17093
  }).strict();
17094
+ var QtiAssessmentItemCreateInput = exports_external.union([
17095
+ QtiAssessmentItemXmlCreateInput,
17096
+ QtiAssessmentItemJsonCreateInput
17097
+ ]);
16350
17098
  var QtiAssessmentItemUpdateInput = exports_external.object({
16351
17099
  identifier: exports_external.string().min(1).optional(),
16352
17100
  title: exports_external.string().min(1),
@@ -16383,9 +17131,9 @@ var QtiAssessmentSection = exports_external.object({
16383
17131
  }).strict();
16384
17132
  var QtiTestPart = exports_external.object({
16385
17133
  identifier: exports_external.string().min(1),
16386
- navigationMode: QtiNavigationMode,
16387
- submissionMode: QtiSubmissionMode,
16388
- "qti-assessment-section": exports_external.union([QtiAssessmentSection, exports_external.array(QtiAssessmentSection)])
17134
+ navigationMode: exports_external.string().pipe(QtiNavigationMode),
17135
+ submissionMode: exports_external.string().pipe(QtiSubmissionMode),
17136
+ "qti-assessment-section": exports_external.array(QtiAssessmentSection)
16389
17137
  }).strict();
16390
17138
  var QtiReorderItemsInput = exports_external.object({
16391
17139
  items: exports_external.array(QtiAssessmentItemRef).min(1)
@@ -16403,7 +17151,7 @@ var QtiAssessmentTestCreateInput = exports_external.object({
16403
17151
  maxAttempts: exports_external.number().optional(),
16404
17152
  toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
16405
17153
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16406
- "qti-test-part": QtiTestPart,
17154
+ "qti-test-part": exports_external.array(QtiTestPart),
16407
17155
  "qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
16408
17156
  }).strict();
16409
17157
  var QtiAssessmentTestUpdateInput = exports_external.object({
@@ -16416,7 +17164,7 @@ var QtiAssessmentTestUpdateInput = exports_external.object({
16416
17164
  maxAttempts: exports_external.number().optional(),
16417
17165
  toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
16418
17166
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
16419
- "qti-test-part": QtiTestPart,
17167
+ "qti-test-part": exports_external.array(QtiTestPart),
16420
17168
  "qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
16421
17169
  }).strict();
16422
17170
  var QtiStimulusCreateInput = exports_external.object({
@@ -16500,7 +17248,7 @@ class Paginator2 extends Paginator {
16500
17248
  params: requestParams,
16501
17249
  max,
16502
17250
  unwrapKey,
16503
- logger: log2,
17251
+ logger: log3,
16504
17252
  transform: transform2
16505
17253
  });
16506
17254
  }
@@ -17800,7 +18548,7 @@ function createOneRosterClient(registry2 = DEFAULT_PROVIDER_REGISTRY) {
17800
18548
  const resolved = resolveToProvider2(config3, registry2);
17801
18549
  if (resolved.mode === "transport") {
17802
18550
  this.transport = resolved.transport;
17803
- log2.info("Client initialized with custom transport");
18551
+ log3.info("Client initialized with custom transport");
17804
18552
  } else {
17805
18553
  const { provider } = resolved;
17806
18554
  const { baseUrl, paths } = provider.getEndpointWithPaths("oneroster");
@@ -17815,7 +18563,7 @@ function createOneRosterClient(registry2 = DEFAULT_PROVIDER_REGISTRY) {
17815
18563
  timeout: provider.timeout,
17816
18564
  paths
17817
18565
  });
17818
- log2.info("Client initialized", {
18566
+ log3.info("Client initialized", {
17819
18567
  platform: provider.platform,
17820
18568
  env: provider.env,
17821
18569
  baseUrl