timeback-studio 0.1.0 → 0.1.2
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/bin.js
CHANGED
|
@@ -16696,11 +16696,11 @@ async function validateEmailWithTimeback(environment, clientId, clientSecret, em
|
|
|
16696
16696
|
auth: { clientId, clientSecret }
|
|
16697
16697
|
});
|
|
16698
16698
|
try {
|
|
16699
|
-
const
|
|
16699
|
+
const page = await client.oneroster.users.list({
|
|
16700
16700
|
where: { email: email3 },
|
|
16701
16701
|
limit: 1
|
|
16702
16702
|
});
|
|
16703
|
-
if (
|
|
16703
|
+
if (page.data.length === 0) {
|
|
16704
16704
|
return {
|
|
16705
16705
|
valid: false,
|
|
16706
16706
|
error: `No user found with email "${email3}" in ${environment}`
|
|
@@ -16931,6 +16931,9 @@ import { readFile as readFile2 } from "node:fs/promises";
|
|
|
16931
16931
|
import { basename, relative, resolve } from "node:path";
|
|
16932
16932
|
import { createJiti } from "jiti";
|
|
16933
16933
|
// ../types/src/zod/primitives.ts
|
|
16934
|
+
var IsoDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
16935
|
+
var IsoDateTimeString = exports_external.string().min(1).regex(IsoDateTimeRegex, "must be a valid ISO 8601 datetime");
|
|
16936
|
+
var IsoDateString = exports_external.string().min(1).regex(/^\d{4}-\d{2}-\d{2}$/, "must be a valid ISO 8601 date (YYYY-MM-DD)");
|
|
16934
16937
|
var TimebackSubject = exports_external.enum([
|
|
16935
16938
|
"Reading",
|
|
16936
16939
|
"Language",
|
|
@@ -16940,7 +16943,8 @@ var TimebackSubject = exports_external.enum([
|
|
|
16940
16943
|
"Science",
|
|
16941
16944
|
"FastMath",
|
|
16942
16945
|
"Math",
|
|
16943
|
-
"None"
|
|
16946
|
+
"None",
|
|
16947
|
+
"Other"
|
|
16944
16948
|
]);
|
|
16945
16949
|
var TimebackGrade = exports_external.union([
|
|
16946
16950
|
exports_external.literal(-1),
|
|
@@ -17007,16 +17011,16 @@ var TimebackActivityContext = exports_external.object({
|
|
|
17007
17011
|
id: exports_external.string(),
|
|
17008
17012
|
type: exports_external.literal("TimebackActivityContext"),
|
|
17009
17013
|
subject: TimebackSubject,
|
|
17010
|
-
app: exports_external.object({ name: exports_external.string() })
|
|
17011
|
-
activity: exports_external.object({ id: exports_external.string().optional(), name: exports_external.string()
|
|
17012
|
-
course: exports_external.object({ id: exports_external.string(), name: exports_external.string() }),
|
|
17014
|
+
app: exports_external.object({ name: exports_external.string() }),
|
|
17015
|
+
activity: exports_external.object({ id: exports_external.string().optional(), name: exports_external.string() }).strict().optional(),
|
|
17016
|
+
course: exports_external.object({ id: exports_external.string().optional(), name: exports_external.string() }).strict().optional(),
|
|
17013
17017
|
process: exports_external.boolean().optional()
|
|
17014
17018
|
});
|
|
17015
17019
|
var CaliperEventBase = exports_external.object({
|
|
17016
17020
|
"@context": exports_external.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
|
|
17017
17021
|
id: exports_external.string(),
|
|
17018
17022
|
type: exports_external.string(),
|
|
17019
|
-
eventTime:
|
|
17023
|
+
eventTime: IsoDateTimeString,
|
|
17020
17024
|
profile: exports_external.literal("TimebackProfile"),
|
|
17021
17025
|
actor: TimebackUser,
|
|
17022
17026
|
action: exports_external.string(),
|
|
@@ -17054,13 +17058,95 @@ var TimebackTimeSpentEvent = CaliperEventBase.extend({
|
|
|
17054
17058
|
action: exports_external.literal("SpentTime"),
|
|
17055
17059
|
generated: TimebackTimeSpentMetricsCollection
|
|
17056
17060
|
});
|
|
17061
|
+
var ActivityCompletedInput = exports_external.object({
|
|
17062
|
+
actor: TimebackUser,
|
|
17063
|
+
object: TimebackActivityContext,
|
|
17064
|
+
metrics: exports_external.array(TimebackActivityMetric).min(1, "metrics must contain at least one metric"),
|
|
17065
|
+
eventTime: IsoDateTimeString.optional(),
|
|
17066
|
+
metricsId: exports_external.string().optional(),
|
|
17067
|
+
id: exports_external.string().optional(),
|
|
17068
|
+
extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17069
|
+
}).strict();
|
|
17070
|
+
var TimeSpentInput = exports_external.object({
|
|
17071
|
+
actor: TimebackUser,
|
|
17072
|
+
object: TimebackActivityContext,
|
|
17073
|
+
metrics: exports_external.array(TimebackTimeMetric).min(1, "metrics must contain at least one metric"),
|
|
17074
|
+
eventTime: IsoDateTimeString.optional(),
|
|
17075
|
+
metricsId: exports_external.string().optional(),
|
|
17076
|
+
id: exports_external.string().optional(),
|
|
17077
|
+
extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17078
|
+
}).strict();
|
|
17057
17079
|
var TimebackEvent = exports_external.union([TimebackActivityEvent, TimebackTimeSpentEvent]);
|
|
17058
17080
|
var CaliperEnvelope = exports_external.object({
|
|
17059
17081
|
sensor: exports_external.string(),
|
|
17060
|
-
sendTime:
|
|
17082
|
+
sendTime: IsoDateTimeString,
|
|
17061
17083
|
dataVersion: exports_external.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
|
|
17062
17084
|
data: exports_external.array(TimebackEvent)
|
|
17063
17085
|
});
|
|
17086
|
+
var CaliperProfile = exports_external.enum([
|
|
17087
|
+
"AnnotationProfile",
|
|
17088
|
+
"AssessmentProfile",
|
|
17089
|
+
"ToolUseProfile",
|
|
17090
|
+
"GeneralProfile",
|
|
17091
|
+
"FeedbackProfile",
|
|
17092
|
+
"MediaProfile",
|
|
17093
|
+
"SurveyProfile",
|
|
17094
|
+
"ResourceManagementProfile",
|
|
17095
|
+
"ForumProfile",
|
|
17096
|
+
"AssignableProfile",
|
|
17097
|
+
"GradingProfile",
|
|
17098
|
+
"ReadingProfile",
|
|
17099
|
+
"SessionProfile",
|
|
17100
|
+
"SearchProfile",
|
|
17101
|
+
"ToolLaunchProfile",
|
|
17102
|
+
"TimebackProfile"
|
|
17103
|
+
]);
|
|
17104
|
+
var CaliperEntity = exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]);
|
|
17105
|
+
var CaliperActor = exports_external.object({
|
|
17106
|
+
id: exports_external.string(),
|
|
17107
|
+
type: exports_external.string(),
|
|
17108
|
+
extensions: exports_external.object({
|
|
17109
|
+
email: exports_external.email()
|
|
17110
|
+
}).loose()
|
|
17111
|
+
}).strict();
|
|
17112
|
+
var CaliperEvent = exports_external.object({
|
|
17113
|
+
"@context": exports_external.string().optional(),
|
|
17114
|
+
id: exports_external.string(),
|
|
17115
|
+
type: exports_external.string(),
|
|
17116
|
+
actor: exports_external.union([exports_external.string(), CaliperActor, TimebackUser]),
|
|
17117
|
+
action: exports_external.string(),
|
|
17118
|
+
object: CaliperEntity,
|
|
17119
|
+
eventTime: IsoDateTimeString,
|
|
17120
|
+
profile: CaliperProfile,
|
|
17121
|
+
edApp: CaliperEntity.optional(),
|
|
17122
|
+
generated: CaliperEntity.optional(),
|
|
17123
|
+
target: CaliperEntity.optional(),
|
|
17124
|
+
referrer: CaliperEntity.optional(),
|
|
17125
|
+
group: CaliperEntity.optional(),
|
|
17126
|
+
membership: CaliperEntity.optional(),
|
|
17127
|
+
session: CaliperEntity.optional(),
|
|
17128
|
+
federatedSession: CaliperEntity.optional(),
|
|
17129
|
+
extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17130
|
+
}).strict();
|
|
17131
|
+
var CaliperEnvelopeInput = exports_external.object({
|
|
17132
|
+
sensor: exports_external.string().min(1, "sensor must be a non-empty string"),
|
|
17133
|
+
sendTime: IsoDateTimeString,
|
|
17134
|
+
dataVersion: exports_external.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
|
|
17135
|
+
data: exports_external.array(CaliperEvent).min(1, "data must contain at least one event")
|
|
17136
|
+
});
|
|
17137
|
+
var CaliperSendEventsInput = exports_external.object({
|
|
17138
|
+
sensor: exports_external.string().min(1, "sensor must be a non-empty string"),
|
|
17139
|
+
events: exports_external.array(CaliperEvent).min(1, "events must contain at least one event")
|
|
17140
|
+
});
|
|
17141
|
+
var CaliperListEventsParams = exports_external.object({
|
|
17142
|
+
limit: exports_external.number().int().positive().optional(),
|
|
17143
|
+
offset: exports_external.number().int().min(0).optional(),
|
|
17144
|
+
sensor: exports_external.string().min(1).optional(),
|
|
17145
|
+
startDate: IsoDateTimeString.optional(),
|
|
17146
|
+
endDate: IsoDateTimeString.optional(),
|
|
17147
|
+
actorId: exports_external.string().min(1).optional(),
|
|
17148
|
+
actorEmail: exports_external.email().optional()
|
|
17149
|
+
}).strict();
|
|
17064
17150
|
// ../types/src/zod/config.ts
|
|
17065
17151
|
var CourseIds = exports_external.object({
|
|
17066
17152
|
staging: exports_external.string().optional(),
|
|
@@ -17107,11 +17193,12 @@ var TimebackConfig = exports_external.object({
|
|
|
17107
17193
|
sensors: exports_external.array(exports_external.string().url()).optional()
|
|
17108
17194
|
});
|
|
17109
17195
|
// ../types/src/zod/edubridge.ts
|
|
17196
|
+
var EdubridgeDateString = exports_external.union([IsoDateString, IsoDateTimeString]);
|
|
17110
17197
|
var EduBridgeEnrollment = exports_external.object({
|
|
17111
17198
|
id: exports_external.string(),
|
|
17112
17199
|
role: exports_external.string(),
|
|
17113
|
-
beginDate:
|
|
17114
|
-
endDate:
|
|
17200
|
+
beginDate: EdubridgeDateString.nullable(),
|
|
17201
|
+
endDate: EdubridgeDateString.nullable(),
|
|
17115
17202
|
metadata: exports_external.object({
|
|
17116
17203
|
goals: exports_external.object({ dailyXp: exports_external.number().optional() }).optional(),
|
|
17117
17204
|
metrics: exports_external.object({ totalXp: exports_external.number().optional(), totalLessons: exports_external.number().optional() }).optional()
|
|
@@ -17145,17 +17232,590 @@ var EduBridgeAnalyticsFacts = exports_external.record(exports_external.string(),
|
|
|
17145
17232
|
var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
|
|
17146
17233
|
message: exports_external.string(),
|
|
17147
17234
|
enrollmentId: exports_external.string(),
|
|
17148
|
-
startDate:
|
|
17149
|
-
endDate:
|
|
17235
|
+
startDate: EdubridgeDateString,
|
|
17236
|
+
endDate: EdubridgeDateString,
|
|
17150
17237
|
facts: EduBridgeAnalyticsFacts,
|
|
17151
17238
|
factsByApp: exports_external.unknown()
|
|
17152
17239
|
});
|
|
17240
|
+
var NonEmptyString = exports_external.string().trim().min(1);
|
|
17241
|
+
var EmailOrStudentId = exports_external.object({
|
|
17242
|
+
email: exports_external.email().optional(),
|
|
17243
|
+
studentId: NonEmptyString.optional()
|
|
17244
|
+
}).superRefine((value, ctx) => {
|
|
17245
|
+
if (!value.email && !value.studentId) {
|
|
17246
|
+
ctx.addIssue({
|
|
17247
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17248
|
+
message: "must provide either email or studentId",
|
|
17249
|
+
path: ["email"]
|
|
17250
|
+
});
|
|
17251
|
+
ctx.addIssue({
|
|
17252
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17253
|
+
message: "must provide either email or studentId",
|
|
17254
|
+
path: ["studentId"]
|
|
17255
|
+
});
|
|
17256
|
+
}
|
|
17257
|
+
});
|
|
17153
17258
|
var SubjectTrackInput = exports_external.object({
|
|
17154
|
-
subject:
|
|
17155
|
-
gradeLevel:
|
|
17156
|
-
targetCourseId:
|
|
17259
|
+
subject: NonEmptyString,
|
|
17260
|
+
gradeLevel: NonEmptyString,
|
|
17261
|
+
targetCourseId: NonEmptyString,
|
|
17157
17262
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17158
17263
|
});
|
|
17264
|
+
var SubjectTrackUpsertInput = SubjectTrackInput.extend({
|
|
17265
|
+
id: NonEmptyString
|
|
17266
|
+
});
|
|
17267
|
+
var EdubridgeListEnrollmentsParams = exports_external.object({
|
|
17268
|
+
userId: NonEmptyString
|
|
17269
|
+
});
|
|
17270
|
+
var EdubridgeEnrollOptions = exports_external.object({
|
|
17271
|
+
sourcedId: NonEmptyString.optional(),
|
|
17272
|
+
role: EnrollmentRole.optional(),
|
|
17273
|
+
beginDate: EdubridgeDateString.optional(),
|
|
17274
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17275
|
+
});
|
|
17276
|
+
var EdubridgeUsersListParams = exports_external.object({
|
|
17277
|
+
fields: exports_external.string().optional(),
|
|
17278
|
+
limit: exports_external.number().int().positive().optional(),
|
|
17279
|
+
offset: exports_external.number().int().nonnegative().optional(),
|
|
17280
|
+
sort: exports_external.string().optional(),
|
|
17281
|
+
orderBy: exports_external.enum(["asc", "desc"]).optional(),
|
|
17282
|
+
filter: exports_external.string().optional(),
|
|
17283
|
+
search: exports_external.string().optional(),
|
|
17284
|
+
roles: exports_external.array(OneRosterUserRole).min(1),
|
|
17285
|
+
orgSourcedIds: exports_external.array(NonEmptyString).optional()
|
|
17286
|
+
});
|
|
17287
|
+
var EdubridgeActivityParams = EmailOrStudentId.extend({
|
|
17288
|
+
startDate: EdubridgeDateString,
|
|
17289
|
+
endDate: EdubridgeDateString,
|
|
17290
|
+
timezone: exports_external.string().optional()
|
|
17291
|
+
});
|
|
17292
|
+
var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
|
|
17293
|
+
weekDate: EdubridgeDateString,
|
|
17294
|
+
timezone: exports_external.string().optional()
|
|
17295
|
+
});
|
|
17296
|
+
var EdubridgeEnrollmentFactsParams = exports_external.object({
|
|
17297
|
+
enrollmentId: NonEmptyString,
|
|
17298
|
+
startDate: EdubridgeDateString.optional(),
|
|
17299
|
+
endDate: EdubridgeDateString.optional(),
|
|
17300
|
+
timezone: exports_external.string().optional()
|
|
17301
|
+
});
|
|
17302
|
+
// ../types/src/zod/oneroster.ts
|
|
17303
|
+
var NonEmptyString2 = exports_external.string().min(1);
|
|
17304
|
+
var Status = exports_external.enum(["active", "tobedeleted"]);
|
|
17305
|
+
var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
|
|
17306
|
+
var Ref = exports_external.object({
|
|
17307
|
+
sourcedId: NonEmptyString2,
|
|
17308
|
+
type: exports_external.string().optional(),
|
|
17309
|
+
href: exports_external.string().optional()
|
|
17310
|
+
}).strict();
|
|
17311
|
+
var OneRosterDateString = exports_external.union([IsoDateString, IsoDateTimeString]);
|
|
17312
|
+
var OneRosterUserRoleInput = exports_external.object({
|
|
17313
|
+
roleType: exports_external.enum(["primary", "secondary"]),
|
|
17314
|
+
role: OneRosterUserRole,
|
|
17315
|
+
org: Ref,
|
|
17316
|
+
userProfile: exports_external.string().optional(),
|
|
17317
|
+
metadata: Metadata,
|
|
17318
|
+
beginDate: OneRosterDateString.optional(),
|
|
17319
|
+
endDate: OneRosterDateString.optional()
|
|
17320
|
+
}).strict();
|
|
17321
|
+
var OneRosterUserCreateInput = exports_external.object({
|
|
17322
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
|
|
17323
|
+
status: Status.optional(),
|
|
17324
|
+
enabledUser: exports_external.boolean(),
|
|
17325
|
+
givenName: NonEmptyString2.describe("givenName must be a non-empty string"),
|
|
17326
|
+
familyName: NonEmptyString2.describe("familyName must be a non-empty string"),
|
|
17327
|
+
middleName: NonEmptyString2.optional(),
|
|
17328
|
+
username: NonEmptyString2.optional(),
|
|
17329
|
+
email: exports_external.email().optional(),
|
|
17330
|
+
roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
|
|
17331
|
+
userIds: exports_external.array(exports_external.object({
|
|
17332
|
+
type: NonEmptyString2,
|
|
17333
|
+
identifier: NonEmptyString2
|
|
17334
|
+
}).strict()).optional(),
|
|
17335
|
+
agents: exports_external.array(Ref).optional(),
|
|
17336
|
+
grades: exports_external.array(TimebackGrade).optional(),
|
|
17337
|
+
identifier: NonEmptyString2.optional(),
|
|
17338
|
+
sms: NonEmptyString2.optional(),
|
|
17339
|
+
phone: NonEmptyString2.optional(),
|
|
17340
|
+
pronouns: NonEmptyString2.optional(),
|
|
17341
|
+
password: NonEmptyString2.optional(),
|
|
17342
|
+
metadata: Metadata
|
|
17343
|
+
}).strict();
|
|
17344
|
+
var OneRosterCourseCreateInput = exports_external.object({
|
|
17345
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
|
|
17346
|
+
status: Status.optional(),
|
|
17347
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17348
|
+
org: Ref,
|
|
17349
|
+
courseCode: NonEmptyString2.optional(),
|
|
17350
|
+
subjects: exports_external.array(TimebackSubject).optional(),
|
|
17351
|
+
grades: exports_external.array(TimebackGrade).optional(),
|
|
17352
|
+
level: NonEmptyString2.optional(),
|
|
17353
|
+
metadata: Metadata
|
|
17354
|
+
}).strict();
|
|
17355
|
+
var OneRosterClassCreateInput = exports_external.object({
|
|
17356
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
|
|
17357
|
+
status: Status.optional(),
|
|
17358
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17359
|
+
terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
|
|
17360
|
+
course: Ref,
|
|
17361
|
+
org: Ref,
|
|
17362
|
+
classCode: NonEmptyString2.optional(),
|
|
17363
|
+
classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
|
|
17364
|
+
location: NonEmptyString2.optional(),
|
|
17365
|
+
grades: exports_external.array(TimebackGrade).optional(),
|
|
17366
|
+
subjects: exports_external.array(TimebackSubject).optional(),
|
|
17367
|
+
subjectCodes: exports_external.array(NonEmptyString2).optional(),
|
|
17368
|
+
periods: exports_external.array(NonEmptyString2).optional(),
|
|
17369
|
+
metadata: Metadata
|
|
17370
|
+
}).strict();
|
|
17371
|
+
var StringBoolean = exports_external.enum(["true", "false"]);
|
|
17372
|
+
var OneRosterEnrollmentCreateInput = exports_external.object({
|
|
17373
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
|
|
17374
|
+
status: Status.optional(),
|
|
17375
|
+
user: Ref,
|
|
17376
|
+
class: Ref,
|
|
17377
|
+
school: Ref.optional(),
|
|
17378
|
+
role: OneRosterUserRole,
|
|
17379
|
+
primary: StringBoolean.optional(),
|
|
17380
|
+
beginDate: OneRosterDateString.optional(),
|
|
17381
|
+
endDate: OneRosterDateString.optional(),
|
|
17382
|
+
metadata: Metadata
|
|
17383
|
+
}).strict();
|
|
17384
|
+
var OneRosterCategoryCreateInput = exports_external.object({
|
|
17385
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17386
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17387
|
+
status: Status,
|
|
17388
|
+
weight: exports_external.number().nullable().optional(),
|
|
17389
|
+
metadata: Metadata
|
|
17390
|
+
}).strict();
|
|
17391
|
+
var OneRosterLineItemCreateInput = exports_external.object({
|
|
17392
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17393
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17394
|
+
class: Ref,
|
|
17395
|
+
school: Ref,
|
|
17396
|
+
category: Ref,
|
|
17397
|
+
assignDate: OneRosterDateString,
|
|
17398
|
+
dueDate: OneRosterDateString,
|
|
17399
|
+
status: Status,
|
|
17400
|
+
description: exports_external.string().optional(),
|
|
17401
|
+
resultValueMin: exports_external.number().nullable().optional(),
|
|
17402
|
+
resultValueMax: exports_external.number().nullable().optional(),
|
|
17403
|
+
scoreScale: Ref.optional(),
|
|
17404
|
+
metadata: Metadata
|
|
17405
|
+
}).strict();
|
|
17406
|
+
var OneRosterResultCreateInput = exports_external.object({
|
|
17407
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17408
|
+
lineItem: Ref,
|
|
17409
|
+
student: Ref,
|
|
17410
|
+
class: Ref.optional(),
|
|
17411
|
+
scoreDate: OneRosterDateString,
|
|
17412
|
+
scoreStatus: exports_external.enum([
|
|
17413
|
+
"exempt",
|
|
17414
|
+
"fully graded",
|
|
17415
|
+
"not submitted",
|
|
17416
|
+
"partially graded",
|
|
17417
|
+
"submitted"
|
|
17418
|
+
]),
|
|
17419
|
+
score: exports_external.number().nullable().optional(),
|
|
17420
|
+
textScore: exports_external.string().nullable().optional(),
|
|
17421
|
+
status: Status,
|
|
17422
|
+
comment: exports_external.string().nullable().optional(),
|
|
17423
|
+
metadata: Metadata
|
|
17424
|
+
}).strict();
|
|
17425
|
+
var OneRosterScoreScaleCreateInput = exports_external.object({
|
|
17426
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17427
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17428
|
+
status: Status.optional(),
|
|
17429
|
+
type: exports_external.string().optional(),
|
|
17430
|
+
class: Ref.optional(),
|
|
17431
|
+
course: Ref.nullable().optional(),
|
|
17432
|
+
scoreScaleValue: exports_external.array(exports_external.object({
|
|
17433
|
+
itemValueLHS: NonEmptyString2,
|
|
17434
|
+
itemValueRHS: NonEmptyString2,
|
|
17435
|
+
value: exports_external.string().optional(),
|
|
17436
|
+
description: exports_external.string().optional()
|
|
17437
|
+
}).strict()).optional(),
|
|
17438
|
+
minScore: exports_external.number().optional(),
|
|
17439
|
+
maxScore: exports_external.number().optional(),
|
|
17440
|
+
metadata: Metadata
|
|
17441
|
+
}).strict();
|
|
17442
|
+
var OneRosterAssessmentLineItemCreateInput = exports_external.object({
|
|
17443
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17444
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17445
|
+
class: Ref,
|
|
17446
|
+
school: Ref,
|
|
17447
|
+
category: Ref,
|
|
17448
|
+
assignDate: OneRosterDateString,
|
|
17449
|
+
dueDate: OneRosterDateString,
|
|
17450
|
+
status: Status,
|
|
17451
|
+
metadata: Metadata
|
|
17452
|
+
}).strict();
|
|
17453
|
+
var OneRosterAssessmentResultCreateInput = exports_external.object({
|
|
17454
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17455
|
+
lineItem: Ref,
|
|
17456
|
+
student: Ref,
|
|
17457
|
+
scoreDate: OneRosterDateString,
|
|
17458
|
+
scoreStatus: exports_external.enum([
|
|
17459
|
+
"exempt",
|
|
17460
|
+
"fully graded",
|
|
17461
|
+
"not submitted",
|
|
17462
|
+
"partially graded",
|
|
17463
|
+
"submitted"
|
|
17464
|
+
]),
|
|
17465
|
+
score: exports_external.string().optional(),
|
|
17466
|
+
status: Status,
|
|
17467
|
+
metadata: Metadata
|
|
17468
|
+
}).strict();
|
|
17469
|
+
var OneRosterOrgCreateInput = exports_external.object({
|
|
17470
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17471
|
+
status: Status.optional(),
|
|
17472
|
+
name: NonEmptyString2.describe("name must be a non-empty string"),
|
|
17473
|
+
type: OrganizationType,
|
|
17474
|
+
identifier: NonEmptyString2.optional(),
|
|
17475
|
+
parent: Ref.optional(),
|
|
17476
|
+
metadata: Metadata
|
|
17477
|
+
}).strict();
|
|
17478
|
+
var OneRosterSchoolCreateInput = exports_external.object({
|
|
17479
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17480
|
+
status: Status.optional(),
|
|
17481
|
+
name: NonEmptyString2.describe("name must be a non-empty string"),
|
|
17482
|
+
type: exports_external.literal("school").optional(),
|
|
17483
|
+
identifier: NonEmptyString2.optional(),
|
|
17484
|
+
parent: Ref.optional(),
|
|
17485
|
+
metadata: Metadata
|
|
17486
|
+
}).strict();
|
|
17487
|
+
var OneRosterAcademicSessionCreateInput = exports_external.object({
|
|
17488
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
|
|
17489
|
+
status: Status,
|
|
17490
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17491
|
+
startDate: OneRosterDateString,
|
|
17492
|
+
endDate: OneRosterDateString,
|
|
17493
|
+
type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
|
|
17494
|
+
schoolYear: NonEmptyString2.describe("schoolYear must be a non-empty string"),
|
|
17495
|
+
org: Ref,
|
|
17496
|
+
parent: Ref.optional(),
|
|
17497
|
+
children: exports_external.array(Ref).optional(),
|
|
17498
|
+
metadata: Metadata
|
|
17499
|
+
}).strict();
|
|
17500
|
+
var OneRosterComponentResourceCreateInput = exports_external.object({
|
|
17501
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17502
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17503
|
+
courseComponent: Ref,
|
|
17504
|
+
resource: Ref,
|
|
17505
|
+
status: Status,
|
|
17506
|
+
metadata: Metadata
|
|
17507
|
+
}).strict();
|
|
17508
|
+
var OneRosterCourseComponentCreateInput = exports_external.object({
|
|
17509
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17510
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17511
|
+
course: Ref,
|
|
17512
|
+
status: Status,
|
|
17513
|
+
metadata: Metadata
|
|
17514
|
+
}).strict();
|
|
17515
|
+
var OneRosterEnrollInput = exports_external.object({
|
|
17516
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
|
|
17517
|
+
role: exports_external.enum(["student", "teacher"]),
|
|
17518
|
+
primary: StringBoolean.optional(),
|
|
17519
|
+
beginDate: OneRosterDateString.optional(),
|
|
17520
|
+
endDate: OneRosterDateString.optional(),
|
|
17521
|
+
metadata: Metadata
|
|
17522
|
+
}).strict();
|
|
17523
|
+
var OneRosterAgentInput = exports_external.object({
|
|
17524
|
+
agentSourcedId: NonEmptyString2.describe("agentSourcedId must be a non-empty string")
|
|
17525
|
+
}).strict();
|
|
17526
|
+
var OneRosterCredentialInput = exports_external.object({
|
|
17527
|
+
type: NonEmptyString2.describe("type must be a non-empty string"),
|
|
17528
|
+
username: NonEmptyString2.describe("username must be a non-empty string"),
|
|
17529
|
+
password: exports_external.string().optional(),
|
|
17530
|
+
metadata: Metadata
|
|
17531
|
+
}).strict();
|
|
17532
|
+
var OneRosterDemographicsCreateInput = exports_external.object({
|
|
17533
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
|
|
17534
|
+
}).loose();
|
|
17535
|
+
var OneRosterResourceCreateInput = exports_external.object({
|
|
17536
|
+
sourcedId: NonEmptyString2.optional(),
|
|
17537
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
17538
|
+
vendorResourceId: NonEmptyString2.describe("vendorResourceId must be a non-empty string"),
|
|
17539
|
+
roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
|
|
17540
|
+
importance: exports_external.enum(["primary", "secondary"]).optional(),
|
|
17541
|
+
vendorId: exports_external.string().optional(),
|
|
17542
|
+
applicationId: exports_external.string().optional(),
|
|
17543
|
+
status: Status.optional(),
|
|
17544
|
+
metadata: Metadata
|
|
17545
|
+
}).strict();
|
|
17546
|
+
var CourseStructureItem = exports_external.object({
|
|
17547
|
+
url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
|
|
17548
|
+
skillCode: NonEmptyString2.describe("courseStructure.skillCode must be a non-empty string"),
|
|
17549
|
+
lessonCode: NonEmptyString2.describe("courseStructure.lessonCode must be a non-empty string"),
|
|
17550
|
+
title: NonEmptyString2.describe("courseStructure.title must be a non-empty string"),
|
|
17551
|
+
"unit-title": NonEmptyString2.describe("courseStructure.unit-title must be a non-empty string"),
|
|
17552
|
+
status: NonEmptyString2.describe("courseStructure.status must be a non-empty string"),
|
|
17553
|
+
xp: exports_external.number()
|
|
17554
|
+
}).loose();
|
|
17555
|
+
var OneRosterCourseStructureInput = exports_external.object({
|
|
17556
|
+
course: exports_external.object({
|
|
17557
|
+
sourcedId: NonEmptyString2.describe("course.sourcedId must be a non-empty string").optional(),
|
|
17558
|
+
title: NonEmptyString2.describe("course.title must be a non-empty string"),
|
|
17559
|
+
org: Ref,
|
|
17560
|
+
status: Status,
|
|
17561
|
+
metadata: Metadata
|
|
17562
|
+
}).strict(),
|
|
17563
|
+
courseStructure: exports_external.record(exports_external.string(), CourseStructureItem)
|
|
17564
|
+
}).strict();
|
|
17565
|
+
var OneRosterBulkResultItem = exports_external.object({
|
|
17566
|
+
student: Ref
|
|
17567
|
+
}).loose();
|
|
17568
|
+
var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
|
|
17569
|
+
// ../types/src/zod/qti.ts
|
|
17570
|
+
var QtiAssessmentItemType = exports_external.enum([
|
|
17571
|
+
"choice",
|
|
17572
|
+
"text-entry",
|
|
17573
|
+
"extended-text",
|
|
17574
|
+
"inline-choice",
|
|
17575
|
+
"match",
|
|
17576
|
+
"order",
|
|
17577
|
+
"associate",
|
|
17578
|
+
"select-point",
|
|
17579
|
+
"graphic-order",
|
|
17580
|
+
"graphic-associate",
|
|
17581
|
+
"graphic-gap-match",
|
|
17582
|
+
"hotspot",
|
|
17583
|
+
"hottext",
|
|
17584
|
+
"slider",
|
|
17585
|
+
"drawing",
|
|
17586
|
+
"media",
|
|
17587
|
+
"upload"
|
|
17588
|
+
]);
|
|
17589
|
+
var QtiCardinality = exports_external.enum(["single", "multiple", "ordered", "record"]);
|
|
17590
|
+
var QtiBaseType = exports_external.enum([
|
|
17591
|
+
"identifier",
|
|
17592
|
+
"boolean",
|
|
17593
|
+
"integer",
|
|
17594
|
+
"float",
|
|
17595
|
+
"string",
|
|
17596
|
+
"point",
|
|
17597
|
+
"pair",
|
|
17598
|
+
"directedPair",
|
|
17599
|
+
"duration",
|
|
17600
|
+
"file",
|
|
17601
|
+
"uri"
|
|
17602
|
+
]);
|
|
17603
|
+
var QtiDifficulty = exports_external.enum(["easy", "medium", "hard"]);
|
|
17604
|
+
var QtiNavigationMode = exports_external.enum(["linear", "nonlinear"]);
|
|
17605
|
+
var QtiSubmissionMode = exports_external.enum(["individual", "simultaneous"]);
|
|
17606
|
+
var QtiShowHide = exports_external.enum(["show", "hide"]);
|
|
17607
|
+
var QtiValidationSchema = exports_external.enum(["test", "item", "stimulus"]);
|
|
17608
|
+
var QtiFeedbackType = exports_external.enum(["QUESTION", "LESSON"]);
|
|
17609
|
+
var QtiCorrectResponse = exports_external.object({
|
|
17610
|
+
value: exports_external.array(exports_external.string())
|
|
17611
|
+
}).strict();
|
|
17612
|
+
var QtiResponseDeclaration = exports_external.object({
|
|
17613
|
+
identifier: exports_external.string().min(1),
|
|
17614
|
+
cardinality: QtiCardinality,
|
|
17615
|
+
baseType: QtiBaseType.optional(),
|
|
17616
|
+
correctResponse: QtiCorrectResponse
|
|
17617
|
+
}).strict();
|
|
17618
|
+
var QtiOutcomeDeclaration = exports_external.object({
|
|
17619
|
+
identifier: exports_external.string().min(1),
|
|
17620
|
+
cardinality: QtiCardinality,
|
|
17621
|
+
baseType: QtiBaseType.optional()
|
|
17622
|
+
}).strict();
|
|
17623
|
+
var QtiTestOutcomeDeclaration = exports_external.object({
|
|
17624
|
+
identifier: exports_external.string().min(1),
|
|
17625
|
+
cardinality: QtiCardinality.optional(),
|
|
17626
|
+
baseType: QtiBaseType,
|
|
17627
|
+
normalMaximum: exports_external.number().optional(),
|
|
17628
|
+
normalMinimum: exports_external.number().optional(),
|
|
17629
|
+
defaultValue: exports_external.object({
|
|
17630
|
+
value: exports_external.unknown().optional()
|
|
17631
|
+
}).strict().optional()
|
|
17632
|
+
}).strict();
|
|
17633
|
+
var QtiInlineFeedback = exports_external.object({
|
|
17634
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
17635
|
+
variableIdentifier: exports_external.string().min(1)
|
|
17636
|
+
}).strict();
|
|
17637
|
+
var QtiResponseProcessing = exports_external.object({
|
|
17638
|
+
templateType: exports_external.enum(["match_correct", "map_response"]),
|
|
17639
|
+
responseDeclarationIdentifier: exports_external.string().min(1),
|
|
17640
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
17641
|
+
correctResponseIdentifier: exports_external.string().min(1),
|
|
17642
|
+
incorrectResponseIdentifier: exports_external.string().min(1),
|
|
17643
|
+
inlineFeedback: QtiInlineFeedback.optional()
|
|
17644
|
+
}).strict();
|
|
17645
|
+
var QtiLearningObjectiveSet = exports_external.object({
|
|
17646
|
+
source: exports_external.string().min(1),
|
|
17647
|
+
learningObjectiveIds: exports_external.array(exports_external.string())
|
|
17648
|
+
}).strict();
|
|
17649
|
+
var QtiItemMetadata = exports_external.object({
|
|
17650
|
+
subject: exports_external.string().optional(),
|
|
17651
|
+
grade: TimebackGrade.optional(),
|
|
17652
|
+
difficulty: QtiDifficulty.optional(),
|
|
17653
|
+
learningObjectiveSet: exports_external.array(QtiLearningObjectiveSet).optional()
|
|
17654
|
+
}).strict();
|
|
17655
|
+
var QtiModalFeedback = exports_external.object({
|
|
17656
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
17657
|
+
identifier: exports_external.string().min(1),
|
|
17658
|
+
showHide: QtiShowHide,
|
|
17659
|
+
content: exports_external.string(),
|
|
17660
|
+
title: exports_external.string()
|
|
17661
|
+
}).strict();
|
|
17662
|
+
var QtiFeedbackInline = exports_external.object({
|
|
17663
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
17664
|
+
identifier: exports_external.string().min(1),
|
|
17665
|
+
showHide: QtiShowHide,
|
|
17666
|
+
content: exports_external.string(),
|
|
17667
|
+
class: exports_external.array(exports_external.string())
|
|
17668
|
+
}).strict();
|
|
17669
|
+
var QtiFeedbackBlock = exports_external.object({
|
|
17670
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
17671
|
+
identifier: exports_external.string().min(1),
|
|
17672
|
+
showHide: QtiShowHide,
|
|
17673
|
+
content: exports_external.string(),
|
|
17674
|
+
class: exports_external.array(exports_external.string())
|
|
17675
|
+
}).strict();
|
|
17676
|
+
var QtiStylesheet = exports_external.object({
|
|
17677
|
+
href: exports_external.string().min(1),
|
|
17678
|
+
type: exports_external.string().min(1)
|
|
17679
|
+
}).strict();
|
|
17680
|
+
var QtiCatalogInfo = exports_external.object({
|
|
17681
|
+
id: exports_external.string().min(1),
|
|
17682
|
+
support: exports_external.string(),
|
|
17683
|
+
content: exports_external.string()
|
|
17684
|
+
}).strict();
|
|
17685
|
+
var QtiPaginationParams = exports_external.object({
|
|
17686
|
+
page: exports_external.number().int().positive().optional(),
|
|
17687
|
+
limit: exports_external.number().int().positive().optional(),
|
|
17688
|
+
sort: exports_external.string().optional(),
|
|
17689
|
+
order: exports_external.enum(["asc", "desc"]).optional()
|
|
17690
|
+
}).strict();
|
|
17691
|
+
var QtiAssessmentItemCreateInput = exports_external.object({
|
|
17692
|
+
identifier: exports_external.string().min(1),
|
|
17693
|
+
title: exports_external.string().min(1),
|
|
17694
|
+
type: QtiAssessmentItemType,
|
|
17695
|
+
qtiVersion: exports_external.string().optional(),
|
|
17696
|
+
timeDependent: exports_external.boolean().optional(),
|
|
17697
|
+
adaptive: exports_external.boolean().optional(),
|
|
17698
|
+
responseDeclarations: exports_external.array(QtiResponseDeclaration).optional(),
|
|
17699
|
+
outcomeDeclarations: exports_external.array(QtiOutcomeDeclaration).optional(),
|
|
17700
|
+
responseProcessing: QtiResponseProcessing.optional(),
|
|
17701
|
+
metadata: QtiItemMetadata.optional(),
|
|
17702
|
+
modalFeedback: exports_external.array(QtiModalFeedback).optional(),
|
|
17703
|
+
feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
|
|
17704
|
+
feedbackBlock: exports_external.array(QtiFeedbackBlock).optional()
|
|
17705
|
+
}).strict();
|
|
17706
|
+
var QtiAssessmentItemUpdateInput = exports_external.object({
|
|
17707
|
+
identifier: exports_external.string().min(1).optional(),
|
|
17708
|
+
title: exports_external.string().min(1),
|
|
17709
|
+
type: QtiAssessmentItemType,
|
|
17710
|
+
qtiVersion: exports_external.string().optional(),
|
|
17711
|
+
timeDependent: exports_external.boolean().optional(),
|
|
17712
|
+
adaptive: exports_external.boolean().optional(),
|
|
17713
|
+
responseDeclarations: exports_external.array(QtiResponseDeclaration).optional(),
|
|
17714
|
+
outcomeDeclarations: exports_external.array(QtiOutcomeDeclaration).optional(),
|
|
17715
|
+
responseProcessing: QtiResponseProcessing.optional(),
|
|
17716
|
+
metadata: QtiItemMetadata.optional(),
|
|
17717
|
+
modalFeedback: exports_external.array(QtiModalFeedback).optional(),
|
|
17718
|
+
feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
|
|
17719
|
+
feedbackBlock: exports_external.array(QtiFeedbackBlock).optional(),
|
|
17720
|
+
rawXml: exports_external.string(),
|
|
17721
|
+
content: exports_external.record(exports_external.string(), exports_external.unknown())
|
|
17722
|
+
}).strict();
|
|
17723
|
+
var QtiAssessmentItemProcessResponseInput = exports_external.object({
|
|
17724
|
+
response: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())])
|
|
17725
|
+
}).strict();
|
|
17726
|
+
var QtiAssessmentItemRef = exports_external.object({
|
|
17727
|
+
identifier: exports_external.string().min(1),
|
|
17728
|
+
href: exports_external.union([exports_external.string(), exports_external.array(exports_external.string()), exports_external.array(exports_external.array(exports_external.string()))]).optional(),
|
|
17729
|
+
sequence: exports_external.number().optional()
|
|
17730
|
+
}).strict();
|
|
17731
|
+
var QtiAssessmentSection = exports_external.object({
|
|
17732
|
+
identifier: exports_external.string().min(1),
|
|
17733
|
+
title: exports_external.string().min(1),
|
|
17734
|
+
visible: exports_external.boolean(),
|
|
17735
|
+
required: exports_external.boolean().optional(),
|
|
17736
|
+
fixed: exports_external.boolean().optional(),
|
|
17737
|
+
sequence: exports_external.number().optional(),
|
|
17738
|
+
"qti-assessment-item-ref": exports_external.array(QtiAssessmentItemRef).optional()
|
|
17739
|
+
}).strict();
|
|
17740
|
+
var QtiTestPart = exports_external.object({
|
|
17741
|
+
identifier: exports_external.string().min(1),
|
|
17742
|
+
navigationMode: QtiNavigationMode,
|
|
17743
|
+
submissionMode: QtiSubmissionMode,
|
|
17744
|
+
"qti-assessment-section": exports_external.union([QtiAssessmentSection, exports_external.array(QtiAssessmentSection)])
|
|
17745
|
+
}).strict();
|
|
17746
|
+
var QtiReorderItemsInput = exports_external.object({
|
|
17747
|
+
items: exports_external.array(QtiAssessmentItemRef).min(1)
|
|
17748
|
+
}).strict();
|
|
17749
|
+
var QtiAssessmentTestMetadataUpdateInput = exports_external.object({
|
|
17750
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17751
|
+
}).strict();
|
|
17752
|
+
var QtiAssessmentTestCreateInput = exports_external.object({
|
|
17753
|
+
identifier: exports_external.string().min(1),
|
|
17754
|
+
title: exports_external.string().min(1),
|
|
17755
|
+
qtiVersion: exports_external.string().optional(),
|
|
17756
|
+
toolName: exports_external.string().optional(),
|
|
17757
|
+
toolVersion: exports_external.string().optional(),
|
|
17758
|
+
timeLimit: exports_external.number().optional(),
|
|
17759
|
+
maxAttempts: exports_external.number().optional(),
|
|
17760
|
+
toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
|
|
17761
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
17762
|
+
"qti-test-part": QtiTestPart,
|
|
17763
|
+
"qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
|
|
17764
|
+
}).strict();
|
|
17765
|
+
var QtiAssessmentTestUpdateInput = exports_external.object({
|
|
17766
|
+
identifier: exports_external.string().min(1).optional(),
|
|
17767
|
+
title: exports_external.string().min(1),
|
|
17768
|
+
qtiVersion: exports_external.string().optional(),
|
|
17769
|
+
toolName: exports_external.string().optional(),
|
|
17770
|
+
toolVersion: exports_external.string().optional(),
|
|
17771
|
+
timeLimit: exports_external.number().optional(),
|
|
17772
|
+
maxAttempts: exports_external.number().optional(),
|
|
17773
|
+
toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
|
|
17774
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
17775
|
+
"qti-test-part": QtiTestPart,
|
|
17776
|
+
"qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
|
|
17777
|
+
}).strict();
|
|
17778
|
+
var QtiStimulusCreateInput = exports_external.object({
|
|
17779
|
+
identifier: exports_external.string().min(1),
|
|
17780
|
+
title: exports_external.string().min(1),
|
|
17781
|
+
label: exports_external.string().optional(),
|
|
17782
|
+
language: exports_external.string().optional(),
|
|
17783
|
+
stylesheet: QtiStylesheet.optional(),
|
|
17784
|
+
content: exports_external.string(),
|
|
17785
|
+
catalogInfo: exports_external.array(QtiCatalogInfo).optional(),
|
|
17786
|
+
toolName: exports_external.string().optional(),
|
|
17787
|
+
toolVersion: exports_external.string().optional(),
|
|
17788
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17789
|
+
}).strict();
|
|
17790
|
+
var QtiStimulusUpdateInput = exports_external.object({
|
|
17791
|
+
identifier: exports_external.string().min(1).optional(),
|
|
17792
|
+
title: exports_external.string().min(1),
|
|
17793
|
+
label: exports_external.string().optional(),
|
|
17794
|
+
language: exports_external.string().optional(),
|
|
17795
|
+
stylesheet: QtiStylesheet.optional(),
|
|
17796
|
+
content: exports_external.string(),
|
|
17797
|
+
catalogInfo: exports_external.array(QtiCatalogInfo).optional(),
|
|
17798
|
+
toolName: exports_external.string().optional(),
|
|
17799
|
+
toolVersion: exports_external.string().optional(),
|
|
17800
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17801
|
+
}).strict();
|
|
17802
|
+
var QtiValidateInput = exports_external.object({
|
|
17803
|
+
xml: exports_external.string().optional(),
|
|
17804
|
+
schema: QtiValidationSchema,
|
|
17805
|
+
entityId: exports_external.string().optional()
|
|
17806
|
+
}).strict();
|
|
17807
|
+
var QtiValidateBatchInput = exports_external.object({
|
|
17808
|
+
xml: exports_external.array(exports_external.string()),
|
|
17809
|
+
schema: QtiValidationSchema,
|
|
17810
|
+
entityIds: exports_external.array(exports_external.string())
|
|
17811
|
+
}).strict();
|
|
17812
|
+
var QtiLessonFeedbackInput = exports_external.object({
|
|
17813
|
+
questionId: exports_external.string().optional(),
|
|
17814
|
+
userId: exports_external.string().min(1),
|
|
17815
|
+
feedback: exports_external.string().min(1),
|
|
17816
|
+
lessonId: exports_external.string().min(1),
|
|
17817
|
+
humanApproved: exports_external.boolean().optional()
|
|
17818
|
+
}).strict();
|
|
17159
17819
|
// ../internal/cli-infra/src/config/timeback.ts
|
|
17160
17820
|
var FILE_PATTERNS2 = ["timeback.config.ts", "timeback.config.js", "timeback.config.mjs"];
|
|
17161
17821
|
var jiti = createJiti(import.meta.url, { fsCache: false });
|
|
@@ -17301,7 +17961,7 @@ function getParser(opts = {}) {
|
|
|
17301
17961
|
|
|
17302
17962
|
// ../internal/cli-infra/src/search/search.ts
|
|
17303
17963
|
function searchCourses(client, query, max = 50) {
|
|
17304
|
-
return client.oneroster.courses.
|
|
17964
|
+
return client.oneroster.courses.listAll({
|
|
17305
17965
|
search: query,
|
|
17306
17966
|
where: { status: "active" },
|
|
17307
17967
|
max
|
|
@@ -18207,7 +18867,7 @@ async function resolveConfig(courseIds, opts, credentials, configuredEnvs, defau
|
|
|
18207
18867
|
return resolved;
|
|
18208
18868
|
}
|
|
18209
18869
|
|
|
18210
|
-
// ../../node_modules/.bun/@hono+node-server@1.19.
|
|
18870
|
+
// ../../node_modules/.bun/@hono+node-server@1.19.9+fd698e00a3b2abce/node_modules/@hono/node-server/dist/index.mjs
|
|
18211
18871
|
import { createServer as createServerHTTP } from "http";
|
|
18212
18872
|
import { Http2ServerRequest as Http2ServerRequest2 } from "http2";
|
|
18213
18873
|
import { Http2ServerRequest } from "http2";
|
|
@@ -18516,17 +19176,9 @@ var buildOutgoingHttpHeaders = (headers) => {
|
|
|
18516
19176
|
return res;
|
|
18517
19177
|
};
|
|
18518
19178
|
var X_ALREADY_SENT = "x-hono-already-sent";
|
|
18519
|
-
var webFetch = global.fetch;
|
|
18520
19179
|
if (typeof global.crypto === "undefined") {
|
|
18521
19180
|
global.crypto = crypto;
|
|
18522
19181
|
}
|
|
18523
|
-
global.fetch = (info, init2) => {
|
|
18524
|
-
init2 = {
|
|
18525
|
-
compress: false,
|
|
18526
|
-
...init2
|
|
18527
|
-
};
|
|
18528
|
-
return webFetch(info, init2);
|
|
18529
|
-
};
|
|
18530
19182
|
var outgoingEnded = Symbol("outgoingEnded");
|
|
18531
19183
|
var handleRequestError = () => new Response(null, {
|
|
18532
19184
|
status: 400
|
|
@@ -18749,7 +19401,7 @@ var serve = (options, listeningListener) => {
|
|
|
18749
19401
|
return server;
|
|
18750
19402
|
};
|
|
18751
19403
|
|
|
18752
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19404
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/compose.js
|
|
18753
19405
|
var compose = (middleware, onError, onNotFound) => {
|
|
18754
19406
|
return (context, next) => {
|
|
18755
19407
|
let index = -1;
|
|
@@ -18793,10 +19445,10 @@ var compose = (middleware, onError, onNotFound) => {
|
|
|
18793
19445
|
};
|
|
18794
19446
|
};
|
|
18795
19447
|
|
|
18796
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19448
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/request/constants.js
|
|
18797
19449
|
var GET_MATCH_RESULT = /* @__PURE__ */ Symbol();
|
|
18798
19450
|
|
|
18799
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19451
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/body.js
|
|
18800
19452
|
var parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {
|
|
18801
19453
|
const { all = false, dot = false } = options;
|
|
18802
19454
|
const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;
|
|
@@ -18864,7 +19516,7 @@ var handleParsingNestedValues = (form, key, value) => {
|
|
|
18864
19516
|
});
|
|
18865
19517
|
};
|
|
18866
19518
|
|
|
18867
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19519
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/url.js
|
|
18868
19520
|
var splitPath = (path) => {
|
|
18869
19521
|
const paths = path.split("/");
|
|
18870
19522
|
if (paths[0] === "") {
|
|
@@ -19062,7 +19714,7 @@ var getQueryParams = (url2, key) => {
|
|
|
19062
19714
|
};
|
|
19063
19715
|
var decodeURIComponent_ = decodeURIComponent;
|
|
19064
19716
|
|
|
19065
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19717
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/request.js
|
|
19066
19718
|
var tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_);
|
|
19067
19719
|
var HonoRequest = class {
|
|
19068
19720
|
raw;
|
|
@@ -19173,7 +19825,7 @@ var HonoRequest = class {
|
|
|
19173
19825
|
}
|
|
19174
19826
|
};
|
|
19175
19827
|
|
|
19176
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19828
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/html.js
|
|
19177
19829
|
var HtmlEscapedCallbackPhase = {
|
|
19178
19830
|
Stringify: 1,
|
|
19179
19831
|
BeforeStream: 2,
|
|
@@ -19211,7 +19863,7 @@ var resolveCallback = async (str, phase, preserveCallbacks, context, buffer) =>
|
|
|
19211
19863
|
}
|
|
19212
19864
|
};
|
|
19213
19865
|
|
|
19214
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19866
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/context.js
|
|
19215
19867
|
var TEXT_PLAIN = "text/plain; charset=UTF-8";
|
|
19216
19868
|
var setDefaultContentType = (contentType, headers) => {
|
|
19217
19869
|
return {
|
|
@@ -19377,7 +20029,7 @@ var Context = class {
|
|
|
19377
20029
|
};
|
|
19378
20030
|
};
|
|
19379
20031
|
|
|
19380
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20032
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router.js
|
|
19381
20033
|
var METHOD_NAME_ALL = "ALL";
|
|
19382
20034
|
var METHOD_NAME_ALL_LOWERCASE = "all";
|
|
19383
20035
|
var METHODS = ["get", "post", "put", "delete", "options", "patch"];
|
|
@@ -19385,10 +20037,10 @@ var MESSAGE_MATCHER_IS_ALREADY_BUILT = "Can not add a route since the matcher is
|
|
|
19385
20037
|
var UnsupportedPathError = class extends Error {
|
|
19386
20038
|
};
|
|
19387
20039
|
|
|
19388
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20040
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/constants.js
|
|
19389
20041
|
var COMPOSED_HANDLER = "__COMPOSED_HANDLER";
|
|
19390
20042
|
|
|
19391
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20043
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/hono-base.js
|
|
19392
20044
|
var notFoundHandler = (c) => {
|
|
19393
20045
|
return c.text("404 Not Found", 404);
|
|
19394
20046
|
};
|
|
@@ -19607,7 +20259,7 @@ var Hono = class _Hono {
|
|
|
19607
20259
|
};
|
|
19608
20260
|
};
|
|
19609
20261
|
|
|
19610
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20262
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/matcher.js
|
|
19611
20263
|
var emptyParam = [];
|
|
19612
20264
|
function match(method, path) {
|
|
19613
20265
|
const matchers = this.buildAllMatchers();
|
|
@@ -19628,7 +20280,7 @@ function match(method, path) {
|
|
|
19628
20280
|
return match2(method, path);
|
|
19629
20281
|
}
|
|
19630
20282
|
|
|
19631
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20283
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/node.js
|
|
19632
20284
|
var LABEL_REG_EXP_STR = "[^/]+";
|
|
19633
20285
|
var ONLY_WILDCARD_REG_EXP_STR = ".*";
|
|
19634
20286
|
var TAIL_WILDCARD_REG_EXP_STR = "(?:|/.*)";
|
|
@@ -19732,7 +20384,7 @@ var Node = class _Node {
|
|
|
19732
20384
|
}
|
|
19733
20385
|
};
|
|
19734
20386
|
|
|
19735
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20387
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/trie.js
|
|
19736
20388
|
var Trie = class {
|
|
19737
20389
|
#context = { varIndex: 0 };
|
|
19738
20390
|
#root = new Node;
|
|
@@ -19788,7 +20440,7 @@ var Trie = class {
|
|
|
19788
20440
|
}
|
|
19789
20441
|
};
|
|
19790
20442
|
|
|
19791
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20443
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/router.js
|
|
19792
20444
|
var nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];
|
|
19793
20445
|
var wildcardRegExpCache = /* @__PURE__ */ Object.create(null);
|
|
19794
20446
|
function buildWildcardRegExp(path) {
|
|
@@ -19953,7 +20605,7 @@ var RegExpRouter = class {
|
|
|
19953
20605
|
}
|
|
19954
20606
|
};
|
|
19955
20607
|
|
|
19956
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20608
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/prepared-router.js
|
|
19957
20609
|
var PreparedRegExpRouter = class {
|
|
19958
20610
|
name = "PreparedRegExpRouter";
|
|
19959
20611
|
#matchers;
|
|
@@ -20025,7 +20677,7 @@ var PreparedRegExpRouter = class {
|
|
|
20025
20677
|
match = match;
|
|
20026
20678
|
};
|
|
20027
20679
|
|
|
20028
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20680
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/smart-router/router.js
|
|
20029
20681
|
var SmartRouter = class {
|
|
20030
20682
|
name = "SmartRouter";
|
|
20031
20683
|
#routers = [];
|
|
@@ -20080,7 +20732,7 @@ var SmartRouter = class {
|
|
|
20080
20732
|
}
|
|
20081
20733
|
};
|
|
20082
20734
|
|
|
20083
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20735
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/trie-router/node.js
|
|
20084
20736
|
var emptyParams = /* @__PURE__ */ Object.create(null);
|
|
20085
20737
|
var Node2 = class _Node2 {
|
|
20086
20738
|
#methods;
|
|
@@ -20234,7 +20886,7 @@ var Node2 = class _Node2 {
|
|
|
20234
20886
|
}
|
|
20235
20887
|
};
|
|
20236
20888
|
|
|
20237
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20889
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/trie-router/router.js
|
|
20238
20890
|
var TrieRouter = class {
|
|
20239
20891
|
name = "TrieRouter";
|
|
20240
20892
|
#node;
|
|
@@ -20256,7 +20908,7 @@ var TrieRouter = class {
|
|
|
20256
20908
|
}
|
|
20257
20909
|
};
|
|
20258
20910
|
|
|
20259
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20911
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/hono.js
|
|
20260
20912
|
var Hono2 = class extends Hono {
|
|
20261
20913
|
constructor(options = {}) {
|
|
20262
20914
|
super(options);
|
|
@@ -20266,7 +20918,7 @@ var Hono2 = class extends Hono {
|
|
|
20266
20918
|
}
|
|
20267
20919
|
};
|
|
20268
20920
|
|
|
20269
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
20921
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/middleware/cors/index.js
|
|
20270
20922
|
var cors = (options) => {
|
|
20271
20923
|
const defaults = {
|
|
20272
20924
|
origin: "*",
|
|
@@ -20793,7 +21445,7 @@ class BootstrapService {
|
|
|
20793
21445
|
return enrollmentData.enrollments;
|
|
20794
21446
|
}
|
|
20795
21447
|
try {
|
|
20796
|
-
const users = await this.client.oneroster.users.
|
|
21448
|
+
const users = await this.client.oneroster.users.listAll({
|
|
20797
21449
|
where: { sourcedId: { in: studentUserIds } }
|
|
20798
21450
|
});
|
|
20799
21451
|
const userMap = new Map(users.map((u2) => [u2.sourcedId, u2]));
|
|
@@ -20816,7 +21468,7 @@ class BootstrapService {
|
|
|
20816
21468
|
}
|
|
20817
21469
|
const uniqueResourceIds = [...new Set(resourceIds)];
|
|
20818
21470
|
try {
|
|
20819
|
-
const resources = await this.client.oneroster.resources.
|
|
21471
|
+
const resources = await this.client.oneroster.resources.listAll({
|
|
20820
21472
|
where: { sourcedId: { in: uniqueResourceIds } }
|
|
20821
21473
|
});
|
|
20822
21474
|
const resourceMap = new Map(resources.map((r2) => [r2.sourcedId, r2]));
|
|
@@ -20852,7 +21504,7 @@ class BootstrapService {
|
|
|
20852
21504
|
return null;
|
|
20853
21505
|
}
|
|
20854
21506
|
try {
|
|
20855
|
-
const
|
|
21507
|
+
const user = await this.client.oneroster.users.first({ where: { email: email3 } });
|
|
20856
21508
|
return user ?? null;
|
|
20857
21509
|
} catch (error48) {
|
|
20858
21510
|
const message = getErrorMessage(error48);
|
|
@@ -20871,7 +21523,7 @@ class BootstrapService {
|
|
|
20871
21523
|
return { enrollments, studentIds, teacherIds, studentsByClass };
|
|
20872
21524
|
}
|
|
20873
21525
|
try {
|
|
20874
|
-
const fetchedEnrollments = await this.client.oneroster.enrollments.
|
|
21526
|
+
const fetchedEnrollments = await this.client.oneroster.enrollments.listAll({
|
|
20875
21527
|
where: {
|
|
20876
21528
|
"class.sourcedId": { in: classIds }
|
|
20877
21529
|
}
|
|
@@ -21216,7 +21868,7 @@ class StudentSearchService {
|
|
|
21216
21868
|
const trimmedQuery = query.trim();
|
|
21217
21869
|
log5.debug("Searching students", { query: trimmedQuery, max });
|
|
21218
21870
|
try {
|
|
21219
|
-
const users = await this.client.oneroster.students.
|
|
21871
|
+
const users = await this.client.oneroster.students.listAll({
|
|
21220
21872
|
search: trimmedQuery,
|
|
21221
21873
|
where: { status: "active" },
|
|
21222
21874
|
max
|
|
@@ -21294,7 +21946,7 @@ function createManager(ctx) {
|
|
|
21294
21946
|
log6.debug("Manager ready", { environments: manager.names });
|
|
21295
21947
|
return manager;
|
|
21296
21948
|
}
|
|
21297
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
21949
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/helper/factory/index.js
|
|
21298
21950
|
var Factory = class {
|
|
21299
21951
|
initApp;
|
|
21300
21952
|
#defaultAppOptions;
|
|
@@ -21357,7 +22009,7 @@ function createEnvMiddleware(ctx, manager) {
|
|
|
21357
22009
|
await next();
|
|
21358
22010
|
});
|
|
21359
22011
|
}
|
|
21360
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
22012
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/stream.js
|
|
21361
22013
|
var StreamingApi = class {
|
|
21362
22014
|
writer;
|
|
21363
22015
|
encoder;
|
|
@@ -21423,7 +22075,7 @@ var StreamingApi = class {
|
|
|
21423
22075
|
}
|
|
21424
22076
|
};
|
|
21425
22077
|
|
|
21426
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
22078
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/helper/streaming/utils.js
|
|
21427
22079
|
var isOldBunVersion = () => {
|
|
21428
22080
|
const version2 = typeof Bun !== "undefined" ? Bun.version : undefined;
|
|
21429
22081
|
if (version2 === undefined) {
|
|
@@ -21434,7 +22086,7 @@ var isOldBunVersion = () => {
|
|
|
21434
22086
|
return result;
|
|
21435
22087
|
};
|
|
21436
22088
|
|
|
21437
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
22089
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/helper/streaming/sse.js
|
|
21438
22090
|
var SSEStreamingApi = class extends StreamingApi {
|
|
21439
22091
|
constructor(writable, readable) {
|
|
21440
22092
|
super(writable, readable);
|