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/index.js
CHANGED
|
@@ -14586,11 +14586,11 @@ async function validateEmailWithTimeback(environment, clientId, clientSecret, em
|
|
|
14586
14586
|
auth: { clientId, clientSecret }
|
|
14587
14587
|
});
|
|
14588
14588
|
try {
|
|
14589
|
-
const
|
|
14589
|
+
const page = await client.oneroster.users.list({
|
|
14590
14590
|
where: { email: email3 },
|
|
14591
14591
|
limit: 1
|
|
14592
14592
|
});
|
|
14593
|
-
if (
|
|
14593
|
+
if (page.data.length === 0) {
|
|
14594
14594
|
return {
|
|
14595
14595
|
valid: false,
|
|
14596
14596
|
error: `No user found with email "${email3}" in ${environment}`
|
|
@@ -14821,6 +14821,9 @@ import { readFile as readFile2 } from "node:fs/promises";
|
|
|
14821
14821
|
import { basename, relative, resolve } from "node:path";
|
|
14822
14822
|
import { createJiti } from "jiti";
|
|
14823
14823
|
// ../types/src/zod/primitives.ts
|
|
14824
|
+
var IsoDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
|
|
14825
|
+
var IsoDateTimeString = exports_external.string().min(1).regex(IsoDateTimeRegex, "must be a valid ISO 8601 datetime");
|
|
14826
|
+
var IsoDateString = exports_external.string().min(1).regex(/^\d{4}-\d{2}-\d{2}$/, "must be a valid ISO 8601 date (YYYY-MM-DD)");
|
|
14824
14827
|
var TimebackSubject = exports_external.enum([
|
|
14825
14828
|
"Reading",
|
|
14826
14829
|
"Language",
|
|
@@ -14830,7 +14833,8 @@ var TimebackSubject = exports_external.enum([
|
|
|
14830
14833
|
"Science",
|
|
14831
14834
|
"FastMath",
|
|
14832
14835
|
"Math",
|
|
14833
|
-
"None"
|
|
14836
|
+
"None",
|
|
14837
|
+
"Other"
|
|
14834
14838
|
]);
|
|
14835
14839
|
var TimebackGrade = exports_external.union([
|
|
14836
14840
|
exports_external.literal(-1),
|
|
@@ -14897,16 +14901,16 @@ var TimebackActivityContext = exports_external.object({
|
|
|
14897
14901
|
id: exports_external.string(),
|
|
14898
14902
|
type: exports_external.literal("TimebackActivityContext"),
|
|
14899
14903
|
subject: TimebackSubject,
|
|
14900
|
-
app: exports_external.object({ name: exports_external.string() })
|
|
14901
|
-
activity: exports_external.object({ id: exports_external.string().optional(), name: exports_external.string()
|
|
14902
|
-
course: exports_external.object({ id: exports_external.string(), name: exports_external.string() }),
|
|
14904
|
+
app: exports_external.object({ name: exports_external.string() }),
|
|
14905
|
+
activity: exports_external.object({ id: exports_external.string().optional(), name: exports_external.string() }).strict().optional(),
|
|
14906
|
+
course: exports_external.object({ id: exports_external.string().optional(), name: exports_external.string() }).strict().optional(),
|
|
14903
14907
|
process: exports_external.boolean().optional()
|
|
14904
14908
|
});
|
|
14905
14909
|
var CaliperEventBase = exports_external.object({
|
|
14906
14910
|
"@context": exports_external.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
|
|
14907
14911
|
id: exports_external.string(),
|
|
14908
14912
|
type: exports_external.string(),
|
|
14909
|
-
eventTime:
|
|
14913
|
+
eventTime: IsoDateTimeString,
|
|
14910
14914
|
profile: exports_external.literal("TimebackProfile"),
|
|
14911
14915
|
actor: TimebackUser,
|
|
14912
14916
|
action: exports_external.string(),
|
|
@@ -14944,13 +14948,95 @@ var TimebackTimeSpentEvent = CaliperEventBase.extend({
|
|
|
14944
14948
|
action: exports_external.literal("SpentTime"),
|
|
14945
14949
|
generated: TimebackTimeSpentMetricsCollection
|
|
14946
14950
|
});
|
|
14951
|
+
var ActivityCompletedInput = exports_external.object({
|
|
14952
|
+
actor: TimebackUser,
|
|
14953
|
+
object: TimebackActivityContext,
|
|
14954
|
+
metrics: exports_external.array(TimebackActivityMetric).min(1, "metrics must contain at least one metric"),
|
|
14955
|
+
eventTime: IsoDateTimeString.optional(),
|
|
14956
|
+
metricsId: exports_external.string().optional(),
|
|
14957
|
+
id: exports_external.string().optional(),
|
|
14958
|
+
extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
14959
|
+
}).strict();
|
|
14960
|
+
var TimeSpentInput = exports_external.object({
|
|
14961
|
+
actor: TimebackUser,
|
|
14962
|
+
object: TimebackActivityContext,
|
|
14963
|
+
metrics: exports_external.array(TimebackTimeMetric).min(1, "metrics must contain at least one metric"),
|
|
14964
|
+
eventTime: IsoDateTimeString.optional(),
|
|
14965
|
+
metricsId: exports_external.string().optional(),
|
|
14966
|
+
id: exports_external.string().optional(),
|
|
14967
|
+
extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
14968
|
+
}).strict();
|
|
14947
14969
|
var TimebackEvent = exports_external.union([TimebackActivityEvent, TimebackTimeSpentEvent]);
|
|
14948
14970
|
var CaliperEnvelope = exports_external.object({
|
|
14949
14971
|
sensor: exports_external.string(),
|
|
14950
|
-
sendTime:
|
|
14972
|
+
sendTime: IsoDateTimeString,
|
|
14951
14973
|
dataVersion: exports_external.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
|
|
14952
14974
|
data: exports_external.array(TimebackEvent)
|
|
14953
14975
|
});
|
|
14976
|
+
var CaliperProfile = exports_external.enum([
|
|
14977
|
+
"AnnotationProfile",
|
|
14978
|
+
"AssessmentProfile",
|
|
14979
|
+
"ToolUseProfile",
|
|
14980
|
+
"GeneralProfile",
|
|
14981
|
+
"FeedbackProfile",
|
|
14982
|
+
"MediaProfile",
|
|
14983
|
+
"SurveyProfile",
|
|
14984
|
+
"ResourceManagementProfile",
|
|
14985
|
+
"ForumProfile",
|
|
14986
|
+
"AssignableProfile",
|
|
14987
|
+
"GradingProfile",
|
|
14988
|
+
"ReadingProfile",
|
|
14989
|
+
"SessionProfile",
|
|
14990
|
+
"SearchProfile",
|
|
14991
|
+
"ToolLaunchProfile",
|
|
14992
|
+
"TimebackProfile"
|
|
14993
|
+
]);
|
|
14994
|
+
var CaliperEntity = exports_external.union([exports_external.string(), exports_external.record(exports_external.string(), exports_external.unknown())]);
|
|
14995
|
+
var CaliperActor = exports_external.object({
|
|
14996
|
+
id: exports_external.string(),
|
|
14997
|
+
type: exports_external.string(),
|
|
14998
|
+
extensions: exports_external.object({
|
|
14999
|
+
email: exports_external.email()
|
|
15000
|
+
}).loose()
|
|
15001
|
+
}).strict();
|
|
15002
|
+
var CaliperEvent = exports_external.object({
|
|
15003
|
+
"@context": exports_external.string().optional(),
|
|
15004
|
+
id: exports_external.string(),
|
|
15005
|
+
type: exports_external.string(),
|
|
15006
|
+
actor: exports_external.union([exports_external.string(), CaliperActor, TimebackUser]),
|
|
15007
|
+
action: exports_external.string(),
|
|
15008
|
+
object: CaliperEntity,
|
|
15009
|
+
eventTime: IsoDateTimeString,
|
|
15010
|
+
profile: CaliperProfile,
|
|
15011
|
+
edApp: CaliperEntity.optional(),
|
|
15012
|
+
generated: CaliperEntity.optional(),
|
|
15013
|
+
target: CaliperEntity.optional(),
|
|
15014
|
+
referrer: CaliperEntity.optional(),
|
|
15015
|
+
group: CaliperEntity.optional(),
|
|
15016
|
+
membership: CaliperEntity.optional(),
|
|
15017
|
+
session: CaliperEntity.optional(),
|
|
15018
|
+
federatedSession: CaliperEntity.optional(),
|
|
15019
|
+
extensions: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
15020
|
+
}).strict();
|
|
15021
|
+
var CaliperEnvelopeInput = exports_external.object({
|
|
15022
|
+
sensor: exports_external.string().min(1, "sensor must be a non-empty string"),
|
|
15023
|
+
sendTime: IsoDateTimeString,
|
|
15024
|
+
dataVersion: exports_external.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
|
|
15025
|
+
data: exports_external.array(CaliperEvent).min(1, "data must contain at least one event")
|
|
15026
|
+
});
|
|
15027
|
+
var CaliperSendEventsInput = exports_external.object({
|
|
15028
|
+
sensor: exports_external.string().min(1, "sensor must be a non-empty string"),
|
|
15029
|
+
events: exports_external.array(CaliperEvent).min(1, "events must contain at least one event")
|
|
15030
|
+
});
|
|
15031
|
+
var CaliperListEventsParams = exports_external.object({
|
|
15032
|
+
limit: exports_external.number().int().positive().optional(),
|
|
15033
|
+
offset: exports_external.number().int().min(0).optional(),
|
|
15034
|
+
sensor: exports_external.string().min(1).optional(),
|
|
15035
|
+
startDate: IsoDateTimeString.optional(),
|
|
15036
|
+
endDate: IsoDateTimeString.optional(),
|
|
15037
|
+
actorId: exports_external.string().min(1).optional(),
|
|
15038
|
+
actorEmail: exports_external.email().optional()
|
|
15039
|
+
}).strict();
|
|
14954
15040
|
// ../types/src/zod/config.ts
|
|
14955
15041
|
var CourseIds = exports_external.object({
|
|
14956
15042
|
staging: exports_external.string().optional(),
|
|
@@ -14997,11 +15083,12 @@ var TimebackConfig = exports_external.object({
|
|
|
14997
15083
|
sensors: exports_external.array(exports_external.string().url()).optional()
|
|
14998
15084
|
});
|
|
14999
15085
|
// ../types/src/zod/edubridge.ts
|
|
15086
|
+
var EdubridgeDateString = exports_external.union([IsoDateString, IsoDateTimeString]);
|
|
15000
15087
|
var EduBridgeEnrollment = exports_external.object({
|
|
15001
15088
|
id: exports_external.string(),
|
|
15002
15089
|
role: exports_external.string(),
|
|
15003
|
-
beginDate:
|
|
15004
|
-
endDate:
|
|
15090
|
+
beginDate: EdubridgeDateString.nullable(),
|
|
15091
|
+
endDate: EdubridgeDateString.nullable(),
|
|
15005
15092
|
metadata: exports_external.object({
|
|
15006
15093
|
goals: exports_external.object({ dailyXp: exports_external.number().optional() }).optional(),
|
|
15007
15094
|
metrics: exports_external.object({ totalXp: exports_external.number().optional(), totalLessons: exports_external.number().optional() }).optional()
|
|
@@ -15035,17 +15122,590 @@ var EduBridgeAnalyticsFacts = exports_external.record(exports_external.string(),
|
|
|
15035
15122
|
var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
|
|
15036
15123
|
message: exports_external.string(),
|
|
15037
15124
|
enrollmentId: exports_external.string(),
|
|
15038
|
-
startDate:
|
|
15039
|
-
endDate:
|
|
15125
|
+
startDate: EdubridgeDateString,
|
|
15126
|
+
endDate: EdubridgeDateString,
|
|
15040
15127
|
facts: EduBridgeAnalyticsFacts,
|
|
15041
15128
|
factsByApp: exports_external.unknown()
|
|
15042
15129
|
});
|
|
15130
|
+
var NonEmptyString = exports_external.string().trim().min(1);
|
|
15131
|
+
var EmailOrStudentId = exports_external.object({
|
|
15132
|
+
email: exports_external.email().optional(),
|
|
15133
|
+
studentId: NonEmptyString.optional()
|
|
15134
|
+
}).superRefine((value, ctx) => {
|
|
15135
|
+
if (!value.email && !value.studentId) {
|
|
15136
|
+
ctx.addIssue({
|
|
15137
|
+
code: exports_external.ZodIssueCode.custom,
|
|
15138
|
+
message: "must provide either email or studentId",
|
|
15139
|
+
path: ["email"]
|
|
15140
|
+
});
|
|
15141
|
+
ctx.addIssue({
|
|
15142
|
+
code: exports_external.ZodIssueCode.custom,
|
|
15143
|
+
message: "must provide either email or studentId",
|
|
15144
|
+
path: ["studentId"]
|
|
15145
|
+
});
|
|
15146
|
+
}
|
|
15147
|
+
});
|
|
15043
15148
|
var SubjectTrackInput = exports_external.object({
|
|
15044
|
-
subject:
|
|
15045
|
-
gradeLevel:
|
|
15046
|
-
targetCourseId:
|
|
15149
|
+
subject: NonEmptyString,
|
|
15150
|
+
gradeLevel: NonEmptyString,
|
|
15151
|
+
targetCourseId: NonEmptyString,
|
|
15047
15152
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
15048
15153
|
});
|
|
15154
|
+
var SubjectTrackUpsertInput = SubjectTrackInput.extend({
|
|
15155
|
+
id: NonEmptyString
|
|
15156
|
+
});
|
|
15157
|
+
var EdubridgeListEnrollmentsParams = exports_external.object({
|
|
15158
|
+
userId: NonEmptyString
|
|
15159
|
+
});
|
|
15160
|
+
var EdubridgeEnrollOptions = exports_external.object({
|
|
15161
|
+
sourcedId: NonEmptyString.optional(),
|
|
15162
|
+
role: EnrollmentRole.optional(),
|
|
15163
|
+
beginDate: EdubridgeDateString.optional(),
|
|
15164
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
15165
|
+
});
|
|
15166
|
+
var EdubridgeUsersListParams = exports_external.object({
|
|
15167
|
+
fields: exports_external.string().optional(),
|
|
15168
|
+
limit: exports_external.number().int().positive().optional(),
|
|
15169
|
+
offset: exports_external.number().int().nonnegative().optional(),
|
|
15170
|
+
sort: exports_external.string().optional(),
|
|
15171
|
+
orderBy: exports_external.enum(["asc", "desc"]).optional(),
|
|
15172
|
+
filter: exports_external.string().optional(),
|
|
15173
|
+
search: exports_external.string().optional(),
|
|
15174
|
+
roles: exports_external.array(OneRosterUserRole).min(1),
|
|
15175
|
+
orgSourcedIds: exports_external.array(NonEmptyString).optional()
|
|
15176
|
+
});
|
|
15177
|
+
var EdubridgeActivityParams = EmailOrStudentId.extend({
|
|
15178
|
+
startDate: EdubridgeDateString,
|
|
15179
|
+
endDate: EdubridgeDateString,
|
|
15180
|
+
timezone: exports_external.string().optional()
|
|
15181
|
+
});
|
|
15182
|
+
var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
|
|
15183
|
+
weekDate: EdubridgeDateString,
|
|
15184
|
+
timezone: exports_external.string().optional()
|
|
15185
|
+
});
|
|
15186
|
+
var EdubridgeEnrollmentFactsParams = exports_external.object({
|
|
15187
|
+
enrollmentId: NonEmptyString,
|
|
15188
|
+
startDate: EdubridgeDateString.optional(),
|
|
15189
|
+
endDate: EdubridgeDateString.optional(),
|
|
15190
|
+
timezone: exports_external.string().optional()
|
|
15191
|
+
});
|
|
15192
|
+
// ../types/src/zod/oneroster.ts
|
|
15193
|
+
var NonEmptyString2 = exports_external.string().min(1);
|
|
15194
|
+
var Status = exports_external.enum(["active", "tobedeleted"]);
|
|
15195
|
+
var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
|
|
15196
|
+
var Ref = exports_external.object({
|
|
15197
|
+
sourcedId: NonEmptyString2,
|
|
15198
|
+
type: exports_external.string().optional(),
|
|
15199
|
+
href: exports_external.string().optional()
|
|
15200
|
+
}).strict();
|
|
15201
|
+
var OneRosterDateString = exports_external.union([IsoDateString, IsoDateTimeString]);
|
|
15202
|
+
var OneRosterUserRoleInput = exports_external.object({
|
|
15203
|
+
roleType: exports_external.enum(["primary", "secondary"]),
|
|
15204
|
+
role: OneRosterUserRole,
|
|
15205
|
+
org: Ref,
|
|
15206
|
+
userProfile: exports_external.string().optional(),
|
|
15207
|
+
metadata: Metadata,
|
|
15208
|
+
beginDate: OneRosterDateString.optional(),
|
|
15209
|
+
endDate: OneRosterDateString.optional()
|
|
15210
|
+
}).strict();
|
|
15211
|
+
var OneRosterUserCreateInput = exports_external.object({
|
|
15212
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
|
|
15213
|
+
status: Status.optional(),
|
|
15214
|
+
enabledUser: exports_external.boolean(),
|
|
15215
|
+
givenName: NonEmptyString2.describe("givenName must be a non-empty string"),
|
|
15216
|
+
familyName: NonEmptyString2.describe("familyName must be a non-empty string"),
|
|
15217
|
+
middleName: NonEmptyString2.optional(),
|
|
15218
|
+
username: NonEmptyString2.optional(),
|
|
15219
|
+
email: exports_external.email().optional(),
|
|
15220
|
+
roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
|
|
15221
|
+
userIds: exports_external.array(exports_external.object({
|
|
15222
|
+
type: NonEmptyString2,
|
|
15223
|
+
identifier: NonEmptyString2
|
|
15224
|
+
}).strict()).optional(),
|
|
15225
|
+
agents: exports_external.array(Ref).optional(),
|
|
15226
|
+
grades: exports_external.array(TimebackGrade).optional(),
|
|
15227
|
+
identifier: NonEmptyString2.optional(),
|
|
15228
|
+
sms: NonEmptyString2.optional(),
|
|
15229
|
+
phone: NonEmptyString2.optional(),
|
|
15230
|
+
pronouns: NonEmptyString2.optional(),
|
|
15231
|
+
password: NonEmptyString2.optional(),
|
|
15232
|
+
metadata: Metadata
|
|
15233
|
+
}).strict();
|
|
15234
|
+
var OneRosterCourseCreateInput = exports_external.object({
|
|
15235
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
|
|
15236
|
+
status: Status.optional(),
|
|
15237
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15238
|
+
org: Ref,
|
|
15239
|
+
courseCode: NonEmptyString2.optional(),
|
|
15240
|
+
subjects: exports_external.array(TimebackSubject).optional(),
|
|
15241
|
+
grades: exports_external.array(TimebackGrade).optional(),
|
|
15242
|
+
level: NonEmptyString2.optional(),
|
|
15243
|
+
metadata: Metadata
|
|
15244
|
+
}).strict();
|
|
15245
|
+
var OneRosterClassCreateInput = exports_external.object({
|
|
15246
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
|
|
15247
|
+
status: Status.optional(),
|
|
15248
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15249
|
+
terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
|
|
15250
|
+
course: Ref,
|
|
15251
|
+
org: Ref,
|
|
15252
|
+
classCode: NonEmptyString2.optional(),
|
|
15253
|
+
classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
|
|
15254
|
+
location: NonEmptyString2.optional(),
|
|
15255
|
+
grades: exports_external.array(TimebackGrade).optional(),
|
|
15256
|
+
subjects: exports_external.array(TimebackSubject).optional(),
|
|
15257
|
+
subjectCodes: exports_external.array(NonEmptyString2).optional(),
|
|
15258
|
+
periods: exports_external.array(NonEmptyString2).optional(),
|
|
15259
|
+
metadata: Metadata
|
|
15260
|
+
}).strict();
|
|
15261
|
+
var StringBoolean = exports_external.enum(["true", "false"]);
|
|
15262
|
+
var OneRosterEnrollmentCreateInput = exports_external.object({
|
|
15263
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string").optional(),
|
|
15264
|
+
status: Status.optional(),
|
|
15265
|
+
user: Ref,
|
|
15266
|
+
class: Ref,
|
|
15267
|
+
school: Ref.optional(),
|
|
15268
|
+
role: OneRosterUserRole,
|
|
15269
|
+
primary: StringBoolean.optional(),
|
|
15270
|
+
beginDate: OneRosterDateString.optional(),
|
|
15271
|
+
endDate: OneRosterDateString.optional(),
|
|
15272
|
+
metadata: Metadata
|
|
15273
|
+
}).strict();
|
|
15274
|
+
var OneRosterCategoryCreateInput = exports_external.object({
|
|
15275
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15276
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15277
|
+
status: Status,
|
|
15278
|
+
weight: exports_external.number().nullable().optional(),
|
|
15279
|
+
metadata: Metadata
|
|
15280
|
+
}).strict();
|
|
15281
|
+
var OneRosterLineItemCreateInput = exports_external.object({
|
|
15282
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15283
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15284
|
+
class: Ref,
|
|
15285
|
+
school: Ref,
|
|
15286
|
+
category: Ref,
|
|
15287
|
+
assignDate: OneRosterDateString,
|
|
15288
|
+
dueDate: OneRosterDateString,
|
|
15289
|
+
status: Status,
|
|
15290
|
+
description: exports_external.string().optional(),
|
|
15291
|
+
resultValueMin: exports_external.number().nullable().optional(),
|
|
15292
|
+
resultValueMax: exports_external.number().nullable().optional(),
|
|
15293
|
+
scoreScale: Ref.optional(),
|
|
15294
|
+
metadata: Metadata
|
|
15295
|
+
}).strict();
|
|
15296
|
+
var OneRosterResultCreateInput = exports_external.object({
|
|
15297
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15298
|
+
lineItem: Ref,
|
|
15299
|
+
student: Ref,
|
|
15300
|
+
class: Ref.optional(),
|
|
15301
|
+
scoreDate: OneRosterDateString,
|
|
15302
|
+
scoreStatus: exports_external.enum([
|
|
15303
|
+
"exempt",
|
|
15304
|
+
"fully graded",
|
|
15305
|
+
"not submitted",
|
|
15306
|
+
"partially graded",
|
|
15307
|
+
"submitted"
|
|
15308
|
+
]),
|
|
15309
|
+
score: exports_external.number().nullable().optional(),
|
|
15310
|
+
textScore: exports_external.string().nullable().optional(),
|
|
15311
|
+
status: Status,
|
|
15312
|
+
comment: exports_external.string().nullable().optional(),
|
|
15313
|
+
metadata: Metadata
|
|
15314
|
+
}).strict();
|
|
15315
|
+
var OneRosterScoreScaleCreateInput = exports_external.object({
|
|
15316
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15317
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15318
|
+
status: Status.optional(),
|
|
15319
|
+
type: exports_external.string().optional(),
|
|
15320
|
+
class: Ref.optional(),
|
|
15321
|
+
course: Ref.nullable().optional(),
|
|
15322
|
+
scoreScaleValue: exports_external.array(exports_external.object({
|
|
15323
|
+
itemValueLHS: NonEmptyString2,
|
|
15324
|
+
itemValueRHS: NonEmptyString2,
|
|
15325
|
+
value: exports_external.string().optional(),
|
|
15326
|
+
description: exports_external.string().optional()
|
|
15327
|
+
}).strict()).optional(),
|
|
15328
|
+
minScore: exports_external.number().optional(),
|
|
15329
|
+
maxScore: exports_external.number().optional(),
|
|
15330
|
+
metadata: Metadata
|
|
15331
|
+
}).strict();
|
|
15332
|
+
var OneRosterAssessmentLineItemCreateInput = exports_external.object({
|
|
15333
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15334
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15335
|
+
class: Ref,
|
|
15336
|
+
school: Ref,
|
|
15337
|
+
category: Ref,
|
|
15338
|
+
assignDate: OneRosterDateString,
|
|
15339
|
+
dueDate: OneRosterDateString,
|
|
15340
|
+
status: Status,
|
|
15341
|
+
metadata: Metadata
|
|
15342
|
+
}).strict();
|
|
15343
|
+
var OneRosterAssessmentResultCreateInput = exports_external.object({
|
|
15344
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15345
|
+
lineItem: Ref,
|
|
15346
|
+
student: Ref,
|
|
15347
|
+
scoreDate: OneRosterDateString,
|
|
15348
|
+
scoreStatus: exports_external.enum([
|
|
15349
|
+
"exempt",
|
|
15350
|
+
"fully graded",
|
|
15351
|
+
"not submitted",
|
|
15352
|
+
"partially graded",
|
|
15353
|
+
"submitted"
|
|
15354
|
+
]),
|
|
15355
|
+
score: exports_external.string().optional(),
|
|
15356
|
+
status: Status,
|
|
15357
|
+
metadata: Metadata
|
|
15358
|
+
}).strict();
|
|
15359
|
+
var OneRosterOrgCreateInput = exports_external.object({
|
|
15360
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15361
|
+
status: Status.optional(),
|
|
15362
|
+
name: NonEmptyString2.describe("name must be a non-empty string"),
|
|
15363
|
+
type: OrganizationType,
|
|
15364
|
+
identifier: NonEmptyString2.optional(),
|
|
15365
|
+
parent: Ref.optional(),
|
|
15366
|
+
metadata: Metadata
|
|
15367
|
+
}).strict();
|
|
15368
|
+
var OneRosterSchoolCreateInput = exports_external.object({
|
|
15369
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15370
|
+
status: Status.optional(),
|
|
15371
|
+
name: NonEmptyString2.describe("name must be a non-empty string"),
|
|
15372
|
+
type: exports_external.literal("school").optional(),
|
|
15373
|
+
identifier: NonEmptyString2.optional(),
|
|
15374
|
+
parent: Ref.optional(),
|
|
15375
|
+
metadata: Metadata
|
|
15376
|
+
}).strict();
|
|
15377
|
+
var OneRosterAcademicSessionCreateInput = exports_external.object({
|
|
15378
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
|
|
15379
|
+
status: Status,
|
|
15380
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15381
|
+
startDate: OneRosterDateString,
|
|
15382
|
+
endDate: OneRosterDateString,
|
|
15383
|
+
type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
|
|
15384
|
+
schoolYear: NonEmptyString2.describe("schoolYear must be a non-empty string"),
|
|
15385
|
+
org: Ref,
|
|
15386
|
+
parent: Ref.optional(),
|
|
15387
|
+
children: exports_external.array(Ref).optional(),
|
|
15388
|
+
metadata: Metadata
|
|
15389
|
+
}).strict();
|
|
15390
|
+
var OneRosterComponentResourceCreateInput = exports_external.object({
|
|
15391
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15392
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15393
|
+
courseComponent: Ref,
|
|
15394
|
+
resource: Ref,
|
|
15395
|
+
status: Status,
|
|
15396
|
+
metadata: Metadata
|
|
15397
|
+
}).strict();
|
|
15398
|
+
var OneRosterCourseComponentCreateInput = exports_external.object({
|
|
15399
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15400
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15401
|
+
course: Ref,
|
|
15402
|
+
status: Status,
|
|
15403
|
+
metadata: Metadata
|
|
15404
|
+
}).strict();
|
|
15405
|
+
var OneRosterEnrollInput = exports_external.object({
|
|
15406
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string"),
|
|
15407
|
+
role: exports_external.enum(["student", "teacher"]),
|
|
15408
|
+
primary: StringBoolean.optional(),
|
|
15409
|
+
beginDate: OneRosterDateString.optional(),
|
|
15410
|
+
endDate: OneRosterDateString.optional(),
|
|
15411
|
+
metadata: Metadata
|
|
15412
|
+
}).strict();
|
|
15413
|
+
var OneRosterAgentInput = exports_external.object({
|
|
15414
|
+
agentSourcedId: NonEmptyString2.describe("agentSourcedId must be a non-empty string")
|
|
15415
|
+
}).strict();
|
|
15416
|
+
var OneRosterCredentialInput = exports_external.object({
|
|
15417
|
+
type: NonEmptyString2.describe("type must be a non-empty string"),
|
|
15418
|
+
username: NonEmptyString2.describe("username must be a non-empty string"),
|
|
15419
|
+
password: exports_external.string().optional(),
|
|
15420
|
+
metadata: Metadata
|
|
15421
|
+
}).strict();
|
|
15422
|
+
var OneRosterDemographicsCreateInput = exports_external.object({
|
|
15423
|
+
sourcedId: NonEmptyString2.describe("sourcedId must be a non-empty string")
|
|
15424
|
+
}).loose();
|
|
15425
|
+
var OneRosterResourceCreateInput = exports_external.object({
|
|
15426
|
+
sourcedId: NonEmptyString2.optional(),
|
|
15427
|
+
title: NonEmptyString2.describe("title must be a non-empty string"),
|
|
15428
|
+
vendorResourceId: NonEmptyString2.describe("vendorResourceId must be a non-empty string"),
|
|
15429
|
+
roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
|
|
15430
|
+
importance: exports_external.enum(["primary", "secondary"]).optional(),
|
|
15431
|
+
vendorId: exports_external.string().optional(),
|
|
15432
|
+
applicationId: exports_external.string().optional(),
|
|
15433
|
+
status: Status.optional(),
|
|
15434
|
+
metadata: Metadata
|
|
15435
|
+
}).strict();
|
|
15436
|
+
var CourseStructureItem = exports_external.object({
|
|
15437
|
+
url: NonEmptyString2.describe("courseStructure.url must be a non-empty string"),
|
|
15438
|
+
skillCode: NonEmptyString2.describe("courseStructure.skillCode must be a non-empty string"),
|
|
15439
|
+
lessonCode: NonEmptyString2.describe("courseStructure.lessonCode must be a non-empty string"),
|
|
15440
|
+
title: NonEmptyString2.describe("courseStructure.title must be a non-empty string"),
|
|
15441
|
+
"unit-title": NonEmptyString2.describe("courseStructure.unit-title must be a non-empty string"),
|
|
15442
|
+
status: NonEmptyString2.describe("courseStructure.status must be a non-empty string"),
|
|
15443
|
+
xp: exports_external.number()
|
|
15444
|
+
}).loose();
|
|
15445
|
+
var OneRosterCourseStructureInput = exports_external.object({
|
|
15446
|
+
course: exports_external.object({
|
|
15447
|
+
sourcedId: NonEmptyString2.describe("course.sourcedId must be a non-empty string").optional(),
|
|
15448
|
+
title: NonEmptyString2.describe("course.title must be a non-empty string"),
|
|
15449
|
+
org: Ref,
|
|
15450
|
+
status: Status,
|
|
15451
|
+
metadata: Metadata
|
|
15452
|
+
}).strict(),
|
|
15453
|
+
courseStructure: exports_external.record(exports_external.string(), CourseStructureItem)
|
|
15454
|
+
}).strict();
|
|
15455
|
+
var OneRosterBulkResultItem = exports_external.object({
|
|
15456
|
+
student: Ref
|
|
15457
|
+
}).loose();
|
|
15458
|
+
var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
|
|
15459
|
+
// ../types/src/zod/qti.ts
|
|
15460
|
+
var QtiAssessmentItemType = exports_external.enum([
|
|
15461
|
+
"choice",
|
|
15462
|
+
"text-entry",
|
|
15463
|
+
"extended-text",
|
|
15464
|
+
"inline-choice",
|
|
15465
|
+
"match",
|
|
15466
|
+
"order",
|
|
15467
|
+
"associate",
|
|
15468
|
+
"select-point",
|
|
15469
|
+
"graphic-order",
|
|
15470
|
+
"graphic-associate",
|
|
15471
|
+
"graphic-gap-match",
|
|
15472
|
+
"hotspot",
|
|
15473
|
+
"hottext",
|
|
15474
|
+
"slider",
|
|
15475
|
+
"drawing",
|
|
15476
|
+
"media",
|
|
15477
|
+
"upload"
|
|
15478
|
+
]);
|
|
15479
|
+
var QtiCardinality = exports_external.enum(["single", "multiple", "ordered", "record"]);
|
|
15480
|
+
var QtiBaseType = exports_external.enum([
|
|
15481
|
+
"identifier",
|
|
15482
|
+
"boolean",
|
|
15483
|
+
"integer",
|
|
15484
|
+
"float",
|
|
15485
|
+
"string",
|
|
15486
|
+
"point",
|
|
15487
|
+
"pair",
|
|
15488
|
+
"directedPair",
|
|
15489
|
+
"duration",
|
|
15490
|
+
"file",
|
|
15491
|
+
"uri"
|
|
15492
|
+
]);
|
|
15493
|
+
var QtiDifficulty = exports_external.enum(["easy", "medium", "hard"]);
|
|
15494
|
+
var QtiNavigationMode = exports_external.enum(["linear", "nonlinear"]);
|
|
15495
|
+
var QtiSubmissionMode = exports_external.enum(["individual", "simultaneous"]);
|
|
15496
|
+
var QtiShowHide = exports_external.enum(["show", "hide"]);
|
|
15497
|
+
var QtiValidationSchema = exports_external.enum(["test", "item", "stimulus"]);
|
|
15498
|
+
var QtiFeedbackType = exports_external.enum(["QUESTION", "LESSON"]);
|
|
15499
|
+
var QtiCorrectResponse = exports_external.object({
|
|
15500
|
+
value: exports_external.array(exports_external.string())
|
|
15501
|
+
}).strict();
|
|
15502
|
+
var QtiResponseDeclaration = exports_external.object({
|
|
15503
|
+
identifier: exports_external.string().min(1),
|
|
15504
|
+
cardinality: QtiCardinality,
|
|
15505
|
+
baseType: QtiBaseType.optional(),
|
|
15506
|
+
correctResponse: QtiCorrectResponse
|
|
15507
|
+
}).strict();
|
|
15508
|
+
var QtiOutcomeDeclaration = exports_external.object({
|
|
15509
|
+
identifier: exports_external.string().min(1),
|
|
15510
|
+
cardinality: QtiCardinality,
|
|
15511
|
+
baseType: QtiBaseType.optional()
|
|
15512
|
+
}).strict();
|
|
15513
|
+
var QtiTestOutcomeDeclaration = exports_external.object({
|
|
15514
|
+
identifier: exports_external.string().min(1),
|
|
15515
|
+
cardinality: QtiCardinality.optional(),
|
|
15516
|
+
baseType: QtiBaseType,
|
|
15517
|
+
normalMaximum: exports_external.number().optional(),
|
|
15518
|
+
normalMinimum: exports_external.number().optional(),
|
|
15519
|
+
defaultValue: exports_external.object({
|
|
15520
|
+
value: exports_external.unknown().optional()
|
|
15521
|
+
}).strict().optional()
|
|
15522
|
+
}).strict();
|
|
15523
|
+
var QtiInlineFeedback = exports_external.object({
|
|
15524
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
15525
|
+
variableIdentifier: exports_external.string().min(1)
|
|
15526
|
+
}).strict();
|
|
15527
|
+
var QtiResponseProcessing = exports_external.object({
|
|
15528
|
+
templateType: exports_external.enum(["match_correct", "map_response"]),
|
|
15529
|
+
responseDeclarationIdentifier: exports_external.string().min(1),
|
|
15530
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
15531
|
+
correctResponseIdentifier: exports_external.string().min(1),
|
|
15532
|
+
incorrectResponseIdentifier: exports_external.string().min(1),
|
|
15533
|
+
inlineFeedback: QtiInlineFeedback.optional()
|
|
15534
|
+
}).strict();
|
|
15535
|
+
var QtiLearningObjectiveSet = exports_external.object({
|
|
15536
|
+
source: exports_external.string().min(1),
|
|
15537
|
+
learningObjectiveIds: exports_external.array(exports_external.string())
|
|
15538
|
+
}).strict();
|
|
15539
|
+
var QtiItemMetadata = exports_external.object({
|
|
15540
|
+
subject: exports_external.string().optional(),
|
|
15541
|
+
grade: TimebackGrade.optional(),
|
|
15542
|
+
difficulty: QtiDifficulty.optional(),
|
|
15543
|
+
learningObjectiveSet: exports_external.array(QtiLearningObjectiveSet).optional()
|
|
15544
|
+
}).strict();
|
|
15545
|
+
var QtiModalFeedback = exports_external.object({
|
|
15546
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
15547
|
+
identifier: exports_external.string().min(1),
|
|
15548
|
+
showHide: QtiShowHide,
|
|
15549
|
+
content: exports_external.string(),
|
|
15550
|
+
title: exports_external.string()
|
|
15551
|
+
}).strict();
|
|
15552
|
+
var QtiFeedbackInline = exports_external.object({
|
|
15553
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
15554
|
+
identifier: exports_external.string().min(1),
|
|
15555
|
+
showHide: QtiShowHide,
|
|
15556
|
+
content: exports_external.string(),
|
|
15557
|
+
class: exports_external.array(exports_external.string())
|
|
15558
|
+
}).strict();
|
|
15559
|
+
var QtiFeedbackBlock = exports_external.object({
|
|
15560
|
+
outcomeIdentifier: exports_external.string().min(1),
|
|
15561
|
+
identifier: exports_external.string().min(1),
|
|
15562
|
+
showHide: QtiShowHide,
|
|
15563
|
+
content: exports_external.string(),
|
|
15564
|
+
class: exports_external.array(exports_external.string())
|
|
15565
|
+
}).strict();
|
|
15566
|
+
var QtiStylesheet = exports_external.object({
|
|
15567
|
+
href: exports_external.string().min(1),
|
|
15568
|
+
type: exports_external.string().min(1)
|
|
15569
|
+
}).strict();
|
|
15570
|
+
var QtiCatalogInfo = exports_external.object({
|
|
15571
|
+
id: exports_external.string().min(1),
|
|
15572
|
+
support: exports_external.string(),
|
|
15573
|
+
content: exports_external.string()
|
|
15574
|
+
}).strict();
|
|
15575
|
+
var QtiPaginationParams = exports_external.object({
|
|
15576
|
+
page: exports_external.number().int().positive().optional(),
|
|
15577
|
+
limit: exports_external.number().int().positive().optional(),
|
|
15578
|
+
sort: exports_external.string().optional(),
|
|
15579
|
+
order: exports_external.enum(["asc", "desc"]).optional()
|
|
15580
|
+
}).strict();
|
|
15581
|
+
var QtiAssessmentItemCreateInput = exports_external.object({
|
|
15582
|
+
identifier: exports_external.string().min(1),
|
|
15583
|
+
title: exports_external.string().min(1),
|
|
15584
|
+
type: QtiAssessmentItemType,
|
|
15585
|
+
qtiVersion: exports_external.string().optional(),
|
|
15586
|
+
timeDependent: exports_external.boolean().optional(),
|
|
15587
|
+
adaptive: exports_external.boolean().optional(),
|
|
15588
|
+
responseDeclarations: exports_external.array(QtiResponseDeclaration).optional(),
|
|
15589
|
+
outcomeDeclarations: exports_external.array(QtiOutcomeDeclaration).optional(),
|
|
15590
|
+
responseProcessing: QtiResponseProcessing.optional(),
|
|
15591
|
+
metadata: QtiItemMetadata.optional(),
|
|
15592
|
+
modalFeedback: exports_external.array(QtiModalFeedback).optional(),
|
|
15593
|
+
feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
|
|
15594
|
+
feedbackBlock: exports_external.array(QtiFeedbackBlock).optional()
|
|
15595
|
+
}).strict();
|
|
15596
|
+
var QtiAssessmentItemUpdateInput = exports_external.object({
|
|
15597
|
+
identifier: exports_external.string().min(1).optional(),
|
|
15598
|
+
title: exports_external.string().min(1),
|
|
15599
|
+
type: QtiAssessmentItemType,
|
|
15600
|
+
qtiVersion: exports_external.string().optional(),
|
|
15601
|
+
timeDependent: exports_external.boolean().optional(),
|
|
15602
|
+
adaptive: exports_external.boolean().optional(),
|
|
15603
|
+
responseDeclarations: exports_external.array(QtiResponseDeclaration).optional(),
|
|
15604
|
+
outcomeDeclarations: exports_external.array(QtiOutcomeDeclaration).optional(),
|
|
15605
|
+
responseProcessing: QtiResponseProcessing.optional(),
|
|
15606
|
+
metadata: QtiItemMetadata.optional(),
|
|
15607
|
+
modalFeedback: exports_external.array(QtiModalFeedback).optional(),
|
|
15608
|
+
feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
|
|
15609
|
+
feedbackBlock: exports_external.array(QtiFeedbackBlock).optional(),
|
|
15610
|
+
rawXml: exports_external.string(),
|
|
15611
|
+
content: exports_external.record(exports_external.string(), exports_external.unknown())
|
|
15612
|
+
}).strict();
|
|
15613
|
+
var QtiAssessmentItemProcessResponseInput = exports_external.object({
|
|
15614
|
+
response: exports_external.union([exports_external.string(), exports_external.array(exports_external.string())])
|
|
15615
|
+
}).strict();
|
|
15616
|
+
var QtiAssessmentItemRef = exports_external.object({
|
|
15617
|
+
identifier: exports_external.string().min(1),
|
|
15618
|
+
href: exports_external.union([exports_external.string(), exports_external.array(exports_external.string()), exports_external.array(exports_external.array(exports_external.string()))]).optional(),
|
|
15619
|
+
sequence: exports_external.number().optional()
|
|
15620
|
+
}).strict();
|
|
15621
|
+
var QtiAssessmentSection = exports_external.object({
|
|
15622
|
+
identifier: exports_external.string().min(1),
|
|
15623
|
+
title: exports_external.string().min(1),
|
|
15624
|
+
visible: exports_external.boolean(),
|
|
15625
|
+
required: exports_external.boolean().optional(),
|
|
15626
|
+
fixed: exports_external.boolean().optional(),
|
|
15627
|
+
sequence: exports_external.number().optional(),
|
|
15628
|
+
"qti-assessment-item-ref": exports_external.array(QtiAssessmentItemRef).optional()
|
|
15629
|
+
}).strict();
|
|
15630
|
+
var QtiTestPart = exports_external.object({
|
|
15631
|
+
identifier: exports_external.string().min(1),
|
|
15632
|
+
navigationMode: QtiNavigationMode,
|
|
15633
|
+
submissionMode: QtiSubmissionMode,
|
|
15634
|
+
"qti-assessment-section": exports_external.union([QtiAssessmentSection, exports_external.array(QtiAssessmentSection)])
|
|
15635
|
+
}).strict();
|
|
15636
|
+
var QtiReorderItemsInput = exports_external.object({
|
|
15637
|
+
items: exports_external.array(QtiAssessmentItemRef).min(1)
|
|
15638
|
+
}).strict();
|
|
15639
|
+
var QtiAssessmentTestMetadataUpdateInput = exports_external.object({
|
|
15640
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
15641
|
+
}).strict();
|
|
15642
|
+
var QtiAssessmentTestCreateInput = exports_external.object({
|
|
15643
|
+
identifier: exports_external.string().min(1),
|
|
15644
|
+
title: exports_external.string().min(1),
|
|
15645
|
+
qtiVersion: exports_external.string().optional(),
|
|
15646
|
+
toolName: exports_external.string().optional(),
|
|
15647
|
+
toolVersion: exports_external.string().optional(),
|
|
15648
|
+
timeLimit: exports_external.number().optional(),
|
|
15649
|
+
maxAttempts: exports_external.number().optional(),
|
|
15650
|
+
toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
|
|
15651
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
15652
|
+
"qti-test-part": QtiTestPart,
|
|
15653
|
+
"qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
|
|
15654
|
+
}).strict();
|
|
15655
|
+
var QtiAssessmentTestUpdateInput = exports_external.object({
|
|
15656
|
+
identifier: exports_external.string().min(1).optional(),
|
|
15657
|
+
title: exports_external.string().min(1),
|
|
15658
|
+
qtiVersion: exports_external.string().optional(),
|
|
15659
|
+
toolName: exports_external.string().optional(),
|
|
15660
|
+
toolVersion: exports_external.string().optional(),
|
|
15661
|
+
timeLimit: exports_external.number().optional(),
|
|
15662
|
+
maxAttempts: exports_external.number().optional(),
|
|
15663
|
+
toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
|
|
15664
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
15665
|
+
"qti-test-part": QtiTestPart,
|
|
15666
|
+
"qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
|
|
15667
|
+
}).strict();
|
|
15668
|
+
var QtiStimulusCreateInput = exports_external.object({
|
|
15669
|
+
identifier: exports_external.string().min(1),
|
|
15670
|
+
title: exports_external.string().min(1),
|
|
15671
|
+
label: exports_external.string().optional(),
|
|
15672
|
+
language: exports_external.string().optional(),
|
|
15673
|
+
stylesheet: QtiStylesheet.optional(),
|
|
15674
|
+
content: exports_external.string(),
|
|
15675
|
+
catalogInfo: exports_external.array(QtiCatalogInfo).optional(),
|
|
15676
|
+
toolName: exports_external.string().optional(),
|
|
15677
|
+
toolVersion: exports_external.string().optional(),
|
|
15678
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
15679
|
+
}).strict();
|
|
15680
|
+
var QtiStimulusUpdateInput = exports_external.object({
|
|
15681
|
+
identifier: exports_external.string().min(1).optional(),
|
|
15682
|
+
title: exports_external.string().min(1),
|
|
15683
|
+
label: exports_external.string().optional(),
|
|
15684
|
+
language: exports_external.string().optional(),
|
|
15685
|
+
stylesheet: QtiStylesheet.optional(),
|
|
15686
|
+
content: exports_external.string(),
|
|
15687
|
+
catalogInfo: exports_external.array(QtiCatalogInfo).optional(),
|
|
15688
|
+
toolName: exports_external.string().optional(),
|
|
15689
|
+
toolVersion: exports_external.string().optional(),
|
|
15690
|
+
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
15691
|
+
}).strict();
|
|
15692
|
+
var QtiValidateInput = exports_external.object({
|
|
15693
|
+
xml: exports_external.string().optional(),
|
|
15694
|
+
schema: QtiValidationSchema,
|
|
15695
|
+
entityId: exports_external.string().optional()
|
|
15696
|
+
}).strict();
|
|
15697
|
+
var QtiValidateBatchInput = exports_external.object({
|
|
15698
|
+
xml: exports_external.array(exports_external.string()),
|
|
15699
|
+
schema: QtiValidationSchema,
|
|
15700
|
+
entityIds: exports_external.array(exports_external.string())
|
|
15701
|
+
}).strict();
|
|
15702
|
+
var QtiLessonFeedbackInput = exports_external.object({
|
|
15703
|
+
questionId: exports_external.string().optional(),
|
|
15704
|
+
userId: exports_external.string().min(1),
|
|
15705
|
+
feedback: exports_external.string().min(1),
|
|
15706
|
+
lessonId: exports_external.string().min(1),
|
|
15707
|
+
humanApproved: exports_external.boolean().optional()
|
|
15708
|
+
}).strict();
|
|
15049
15709
|
// ../internal/cli-infra/src/config/timeback.ts
|
|
15050
15710
|
var FILE_PATTERNS2 = ["timeback.config.ts", "timeback.config.js", "timeback.config.mjs"];
|
|
15051
15711
|
var jiti = createJiti(import.meta.url, { fsCache: false });
|
|
@@ -15191,7 +15851,7 @@ function getParser(opts = {}) {
|
|
|
15191
15851
|
|
|
15192
15852
|
// ../internal/cli-infra/src/search/search.ts
|
|
15193
15853
|
function searchCourses(client, query, max = 50) {
|
|
15194
|
-
return client.oneroster.courses.
|
|
15854
|
+
return client.oneroster.courses.listAll({
|
|
15195
15855
|
search: query,
|
|
15196
15856
|
where: { status: "active" },
|
|
15197
15857
|
max
|
|
@@ -16097,7 +16757,7 @@ async function resolveConfig(courseIds, opts, credentials, configuredEnvs, defau
|
|
|
16097
16757
|
return resolved;
|
|
16098
16758
|
}
|
|
16099
16759
|
|
|
16100
|
-
// ../../node_modules/.bun/@hono+node-server@1.19.
|
|
16760
|
+
// ../../node_modules/.bun/@hono+node-server@1.19.9+fd698e00a3b2abce/node_modules/@hono/node-server/dist/index.mjs
|
|
16101
16761
|
import { createServer as createServerHTTP } from "http";
|
|
16102
16762
|
import { Http2ServerRequest as Http2ServerRequest2 } from "http2";
|
|
16103
16763
|
import { Http2ServerRequest } from "http2";
|
|
@@ -16406,17 +17066,9 @@ var buildOutgoingHttpHeaders = (headers) => {
|
|
|
16406
17066
|
return res;
|
|
16407
17067
|
};
|
|
16408
17068
|
var X_ALREADY_SENT = "x-hono-already-sent";
|
|
16409
|
-
var webFetch = global.fetch;
|
|
16410
17069
|
if (typeof global.crypto === "undefined") {
|
|
16411
17070
|
global.crypto = crypto;
|
|
16412
17071
|
}
|
|
16413
|
-
global.fetch = (info, init2) => {
|
|
16414
|
-
init2 = {
|
|
16415
|
-
compress: false,
|
|
16416
|
-
...init2
|
|
16417
|
-
};
|
|
16418
|
-
return webFetch(info, init2);
|
|
16419
|
-
};
|
|
16420
17072
|
var outgoingEnded = Symbol("outgoingEnded");
|
|
16421
17073
|
var handleRequestError = () => new Response(null, {
|
|
16422
17074
|
status: 400
|
|
@@ -16639,7 +17291,7 @@ var serve = (options, listeningListener) => {
|
|
|
16639
17291
|
return server;
|
|
16640
17292
|
};
|
|
16641
17293
|
|
|
16642
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17294
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/compose.js
|
|
16643
17295
|
var compose = (middleware, onError, onNotFound) => {
|
|
16644
17296
|
return (context, next) => {
|
|
16645
17297
|
let index = -1;
|
|
@@ -16683,10 +17335,10 @@ var compose = (middleware, onError, onNotFound) => {
|
|
|
16683
17335
|
};
|
|
16684
17336
|
};
|
|
16685
17337
|
|
|
16686
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17338
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/request/constants.js
|
|
16687
17339
|
var GET_MATCH_RESULT = /* @__PURE__ */ Symbol();
|
|
16688
17340
|
|
|
16689
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17341
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/body.js
|
|
16690
17342
|
var parseBody = async (request, options = /* @__PURE__ */ Object.create(null)) => {
|
|
16691
17343
|
const { all = false, dot = false } = options;
|
|
16692
17344
|
const headers = request instanceof HonoRequest ? request.raw.headers : request.headers;
|
|
@@ -16754,7 +17406,7 @@ var handleParsingNestedValues = (form, key, value) => {
|
|
|
16754
17406
|
});
|
|
16755
17407
|
};
|
|
16756
17408
|
|
|
16757
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17409
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/url.js
|
|
16758
17410
|
var splitPath = (path) => {
|
|
16759
17411
|
const paths = path.split("/");
|
|
16760
17412
|
if (paths[0] === "") {
|
|
@@ -16952,7 +17604,7 @@ var getQueryParams = (url2, key) => {
|
|
|
16952
17604
|
};
|
|
16953
17605
|
var decodeURIComponent_ = decodeURIComponent;
|
|
16954
17606
|
|
|
16955
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17607
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/request.js
|
|
16956
17608
|
var tryDecodeURIComponent = (str) => tryDecode(str, decodeURIComponent_);
|
|
16957
17609
|
var HonoRequest = class {
|
|
16958
17610
|
raw;
|
|
@@ -17063,7 +17715,7 @@ var HonoRequest = class {
|
|
|
17063
17715
|
}
|
|
17064
17716
|
};
|
|
17065
17717
|
|
|
17066
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17718
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/html.js
|
|
17067
17719
|
var HtmlEscapedCallbackPhase = {
|
|
17068
17720
|
Stringify: 1,
|
|
17069
17721
|
BeforeStream: 2,
|
|
@@ -17101,7 +17753,7 @@ var resolveCallback = async (str, phase, preserveCallbacks, context, buffer) =>
|
|
|
17101
17753
|
}
|
|
17102
17754
|
};
|
|
17103
17755
|
|
|
17104
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17756
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/context.js
|
|
17105
17757
|
var TEXT_PLAIN = "text/plain; charset=UTF-8";
|
|
17106
17758
|
var setDefaultContentType = (contentType, headers) => {
|
|
17107
17759
|
return {
|
|
@@ -17267,7 +17919,7 @@ var Context = class {
|
|
|
17267
17919
|
};
|
|
17268
17920
|
};
|
|
17269
17921
|
|
|
17270
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17922
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router.js
|
|
17271
17923
|
var METHOD_NAME_ALL = "ALL";
|
|
17272
17924
|
var METHOD_NAME_ALL_LOWERCASE = "all";
|
|
17273
17925
|
var METHODS = ["get", "post", "put", "delete", "options", "patch"];
|
|
@@ -17275,10 +17927,10 @@ var MESSAGE_MATCHER_IS_ALREADY_BUILT = "Can not add a route since the matcher is
|
|
|
17275
17927
|
var UnsupportedPathError = class extends Error {
|
|
17276
17928
|
};
|
|
17277
17929
|
|
|
17278
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17930
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/constants.js
|
|
17279
17931
|
var COMPOSED_HANDLER = "__COMPOSED_HANDLER";
|
|
17280
17932
|
|
|
17281
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
17933
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/hono-base.js
|
|
17282
17934
|
var notFoundHandler = (c) => {
|
|
17283
17935
|
return c.text("404 Not Found", 404);
|
|
17284
17936
|
};
|
|
@@ -17497,7 +18149,7 @@ var Hono = class _Hono {
|
|
|
17497
18149
|
};
|
|
17498
18150
|
};
|
|
17499
18151
|
|
|
17500
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18152
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/matcher.js
|
|
17501
18153
|
var emptyParam = [];
|
|
17502
18154
|
function match(method, path) {
|
|
17503
18155
|
const matchers = this.buildAllMatchers();
|
|
@@ -17518,7 +18170,7 @@ function match(method, path) {
|
|
|
17518
18170
|
return match2(method, path);
|
|
17519
18171
|
}
|
|
17520
18172
|
|
|
17521
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18173
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/node.js
|
|
17522
18174
|
var LABEL_REG_EXP_STR = "[^/]+";
|
|
17523
18175
|
var ONLY_WILDCARD_REG_EXP_STR = ".*";
|
|
17524
18176
|
var TAIL_WILDCARD_REG_EXP_STR = "(?:|/.*)";
|
|
@@ -17622,7 +18274,7 @@ var Node = class _Node {
|
|
|
17622
18274
|
}
|
|
17623
18275
|
};
|
|
17624
18276
|
|
|
17625
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18277
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/trie.js
|
|
17626
18278
|
var Trie = class {
|
|
17627
18279
|
#context = { varIndex: 0 };
|
|
17628
18280
|
#root = new Node;
|
|
@@ -17678,7 +18330,7 @@ var Trie = class {
|
|
|
17678
18330
|
}
|
|
17679
18331
|
};
|
|
17680
18332
|
|
|
17681
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18333
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/router.js
|
|
17682
18334
|
var nullMatcher = [/^$/, [], /* @__PURE__ */ Object.create(null)];
|
|
17683
18335
|
var wildcardRegExpCache = /* @__PURE__ */ Object.create(null);
|
|
17684
18336
|
function buildWildcardRegExp(path) {
|
|
@@ -17843,7 +18495,7 @@ var RegExpRouter = class {
|
|
|
17843
18495
|
}
|
|
17844
18496
|
};
|
|
17845
18497
|
|
|
17846
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18498
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/reg-exp-router/prepared-router.js
|
|
17847
18499
|
var PreparedRegExpRouter = class {
|
|
17848
18500
|
name = "PreparedRegExpRouter";
|
|
17849
18501
|
#matchers;
|
|
@@ -17915,7 +18567,7 @@ var PreparedRegExpRouter = class {
|
|
|
17915
18567
|
match = match;
|
|
17916
18568
|
};
|
|
17917
18569
|
|
|
17918
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18570
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/smart-router/router.js
|
|
17919
18571
|
var SmartRouter = class {
|
|
17920
18572
|
name = "SmartRouter";
|
|
17921
18573
|
#routers = [];
|
|
@@ -17970,7 +18622,7 @@ var SmartRouter = class {
|
|
|
17970
18622
|
}
|
|
17971
18623
|
};
|
|
17972
18624
|
|
|
17973
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18625
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/trie-router/node.js
|
|
17974
18626
|
var emptyParams = /* @__PURE__ */ Object.create(null);
|
|
17975
18627
|
var Node2 = class _Node2 {
|
|
17976
18628
|
#methods;
|
|
@@ -18124,7 +18776,7 @@ var Node2 = class _Node2 {
|
|
|
18124
18776
|
}
|
|
18125
18777
|
};
|
|
18126
18778
|
|
|
18127
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18779
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/router/trie-router/router.js
|
|
18128
18780
|
var TrieRouter = class {
|
|
18129
18781
|
name = "TrieRouter";
|
|
18130
18782
|
#node;
|
|
@@ -18146,7 +18798,7 @@ var TrieRouter = class {
|
|
|
18146
18798
|
}
|
|
18147
18799
|
};
|
|
18148
18800
|
|
|
18149
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18801
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/hono.js
|
|
18150
18802
|
var Hono2 = class extends Hono {
|
|
18151
18803
|
constructor(options = {}) {
|
|
18152
18804
|
super(options);
|
|
@@ -18156,7 +18808,7 @@ var Hono2 = class extends Hono {
|
|
|
18156
18808
|
}
|
|
18157
18809
|
};
|
|
18158
18810
|
|
|
18159
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
18811
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/middleware/cors/index.js
|
|
18160
18812
|
var cors = (options) => {
|
|
18161
18813
|
const defaults = {
|
|
18162
18814
|
origin: "*",
|
|
@@ -18683,7 +19335,7 @@ class BootstrapService {
|
|
|
18683
19335
|
return enrollmentData.enrollments;
|
|
18684
19336
|
}
|
|
18685
19337
|
try {
|
|
18686
|
-
const users = await this.client.oneroster.users.
|
|
19338
|
+
const users = await this.client.oneroster.users.listAll({
|
|
18687
19339
|
where: { sourcedId: { in: studentUserIds } }
|
|
18688
19340
|
});
|
|
18689
19341
|
const userMap = new Map(users.map((u2) => [u2.sourcedId, u2]));
|
|
@@ -18706,7 +19358,7 @@ class BootstrapService {
|
|
|
18706
19358
|
}
|
|
18707
19359
|
const uniqueResourceIds = [...new Set(resourceIds)];
|
|
18708
19360
|
try {
|
|
18709
|
-
const resources = await this.client.oneroster.resources.
|
|
19361
|
+
const resources = await this.client.oneroster.resources.listAll({
|
|
18710
19362
|
where: { sourcedId: { in: uniqueResourceIds } }
|
|
18711
19363
|
});
|
|
18712
19364
|
const resourceMap = new Map(resources.map((r2) => [r2.sourcedId, r2]));
|
|
@@ -18742,7 +19394,7 @@ class BootstrapService {
|
|
|
18742
19394
|
return null;
|
|
18743
19395
|
}
|
|
18744
19396
|
try {
|
|
18745
|
-
const
|
|
19397
|
+
const user = await this.client.oneroster.users.first({ where: { email: email3 } });
|
|
18746
19398
|
return user ?? null;
|
|
18747
19399
|
} catch (error48) {
|
|
18748
19400
|
const message = getErrorMessage(error48);
|
|
@@ -18761,7 +19413,7 @@ class BootstrapService {
|
|
|
18761
19413
|
return { enrollments, studentIds, teacherIds, studentsByClass };
|
|
18762
19414
|
}
|
|
18763
19415
|
try {
|
|
18764
|
-
const fetchedEnrollments = await this.client.oneroster.enrollments.
|
|
19416
|
+
const fetchedEnrollments = await this.client.oneroster.enrollments.listAll({
|
|
18765
19417
|
where: {
|
|
18766
19418
|
"class.sourcedId": { in: classIds }
|
|
18767
19419
|
}
|
|
@@ -19106,7 +19758,7 @@ class StudentSearchService {
|
|
|
19106
19758
|
const trimmedQuery = query.trim();
|
|
19107
19759
|
log5.debug("Searching students", { query: trimmedQuery, max });
|
|
19108
19760
|
try {
|
|
19109
|
-
const users = await this.client.oneroster.students.
|
|
19761
|
+
const users = await this.client.oneroster.students.listAll({
|
|
19110
19762
|
search: trimmedQuery,
|
|
19111
19763
|
where: { status: "active" },
|
|
19112
19764
|
max
|
|
@@ -19184,7 +19836,7 @@ function createManager(ctx) {
|
|
|
19184
19836
|
log6.debug("Manager ready", { environments: manager.names });
|
|
19185
19837
|
return manager;
|
|
19186
19838
|
}
|
|
19187
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19839
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/helper/factory/index.js
|
|
19188
19840
|
var Factory = class {
|
|
19189
19841
|
initApp;
|
|
19190
19842
|
#defaultAppOptions;
|
|
@@ -19247,7 +19899,7 @@ function createEnvMiddleware(ctx, manager) {
|
|
|
19247
19899
|
await next();
|
|
19248
19900
|
});
|
|
19249
19901
|
}
|
|
19250
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19902
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/utils/stream.js
|
|
19251
19903
|
var StreamingApi = class {
|
|
19252
19904
|
writer;
|
|
19253
19905
|
encoder;
|
|
@@ -19313,7 +19965,7 @@ var StreamingApi = class {
|
|
|
19313
19965
|
}
|
|
19314
19966
|
};
|
|
19315
19967
|
|
|
19316
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19968
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/helper/streaming/utils.js
|
|
19317
19969
|
var isOldBunVersion = () => {
|
|
19318
19970
|
const version2 = typeof Bun !== "undefined" ? Bun.version : undefined;
|
|
19319
19971
|
if (version2 === undefined) {
|
|
@@ -19324,7 +19976,7 @@ var isOldBunVersion = () => {
|
|
|
19324
19976
|
return result;
|
|
19325
19977
|
};
|
|
19326
19978
|
|
|
19327
|
-
// ../../node_modules/.bun/hono@4.11.
|
|
19979
|
+
// ../../node_modules/.bun/hono@4.11.4/node_modules/hono/dist/helper/streaming/sse.js
|
|
19328
19980
|
var SSEStreamingApi = class extends StreamingApi {
|
|
19329
19981
|
constructor(writable, readable) {
|
|
19330
19982
|
super(writable, readable);
|