timeback-studio 0.1.8 → 0.1.10-beta.20260219190739
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +514 -184
- package/dist/index.js +514 -184
- package/dist/server/controllers/bootstrap.d.ts +6 -6
- package/dist/server/controllers/status.d.ts +6 -1
- package/dist/server/controllers/status.d.ts.map +1 -1
- package/dist/server/services/status.d.ts.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/bin.js
CHANGED
|
@@ -16691,8 +16691,12 @@ var CredentialsSchema = exports_external.object({
|
|
|
16691
16691
|
clientSecret: exports_external.string().min(1, "Client secret is required"),
|
|
16692
16692
|
email: exports_external.email("Valid email is required").optional()
|
|
16693
16693
|
});
|
|
16694
|
-
var ClientIdSchema = exports_external.string().min(1, "Client ID is required").regex(/^[a-z0-9]+$/, "Client ID must contain only lowercase letters and numbers")
|
|
16694
|
+
var ClientIdSchema = exports_external.string().min(1, "Client ID is required").regex(/^[a-z0-9]+$/, "Client ID must contain only lowercase letters and numbers");
|
|
16695
16695
|
var ClientSecretSchema = exports_external.string().min(1, "Client secret is required").regex(/^[a-z0-9]+$/, "Client secret must contain only lowercase letters and numbers").max(53, "Client secret must be less than 53 characters");
|
|
16696
|
+
var MasteryTrackCredentialsSchema = exports_external.object({
|
|
16697
|
+
apiKey: exports_external.string().min(1, "API key is required"),
|
|
16698
|
+
email: exports_external.email("Valid email is required")
|
|
16699
|
+
});
|
|
16696
16700
|
// ../internal/cli-infra/src/ui.ts
|
|
16697
16701
|
function intro(title) {
|
|
16698
16702
|
console.log("");
|
|
@@ -16708,9 +16712,11 @@ var outro = {
|
|
|
16708
16712
|
|
|
16709
16713
|
// ../internal/cli-infra/src/credentials/store.ts
|
|
16710
16714
|
import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
16715
|
+
import { join as join2 } from "node:path";
|
|
16716
|
+
|
|
16717
|
+
// ../internal/cli-infra/src/paths.ts
|
|
16711
16718
|
import { homedir, platform as platform2 } from "node:os";
|
|
16712
16719
|
import { join } from "node:path";
|
|
16713
|
-
var ENVIRONMENTS = ["staging", "production"];
|
|
16714
16720
|
function getConfigDir() {
|
|
16715
16721
|
const home = homedir();
|
|
16716
16722
|
switch (platform2()) {
|
|
@@ -16722,8 +16728,11 @@ function getConfigDir() {
|
|
|
16722
16728
|
return join(process.env.XDG_CONFIG_HOME || join(home, ".config"), "timeback");
|
|
16723
16729
|
}
|
|
16724
16730
|
}
|
|
16731
|
+
|
|
16732
|
+
// ../internal/cli-infra/src/credentials/store.ts
|
|
16733
|
+
var ENVIRONMENTS = ["staging", "production"];
|
|
16725
16734
|
var CREDENTIALS_DIR = getConfigDir();
|
|
16726
|
-
var CREDENTIALS_FILE =
|
|
16735
|
+
var CREDENTIALS_FILE = join2(CREDENTIALS_DIR, "credentials.json");
|
|
16727
16736
|
function getCredentialsPath() {
|
|
16728
16737
|
return CREDENTIALS_FILE;
|
|
16729
16738
|
}
|
|
@@ -16753,22 +16762,26 @@ async function readCredentialsStore() {
|
|
|
16753
16762
|
}
|
|
16754
16763
|
}
|
|
16755
16764
|
async function writeCredentialsStore(store) {
|
|
16756
|
-
if (!await ensureCredentialsDir())
|
|
16765
|
+
if (!await ensureCredentialsDir()) {
|
|
16757
16766
|
return false;
|
|
16758
|
-
|
|
16759
|
-
const cleaned = {};
|
|
16760
|
-
|
|
16761
|
-
cleaned.staging = staging;
|
|
16762
|
-
if (production)
|
|
16763
|
-
cleaned.production = production;
|
|
16767
|
+
}
|
|
16768
|
+
const cleaned = { ...store };
|
|
16769
|
+
delete cleaned.default;
|
|
16764
16770
|
await writeFile(CREDENTIALS_FILE, JSON.stringify(cleaned, null, 2), { mode: 384 });
|
|
16765
16771
|
return true;
|
|
16766
16772
|
}
|
|
16767
16773
|
async function getSavedCredentials(environment) {
|
|
16768
16774
|
const store = await readCredentialsStore();
|
|
16769
|
-
const
|
|
16770
|
-
if (
|
|
16771
|
-
const result = CredentialsSchema.safeParse(
|
|
16775
|
+
const namespaced = store.timeback?.[environment];
|
|
16776
|
+
if (namespaced) {
|
|
16777
|
+
const result = CredentialsSchema.safeParse(namespaced);
|
|
16778
|
+
if (result.success) {
|
|
16779
|
+
return result.data;
|
|
16780
|
+
}
|
|
16781
|
+
}
|
|
16782
|
+
const legacy = store[environment];
|
|
16783
|
+
if (legacy) {
|
|
16784
|
+
const result = CredentialsSchema.safeParse(legacy);
|
|
16772
16785
|
if (result.success) {
|
|
16773
16786
|
return result.data;
|
|
16774
16787
|
}
|
|
@@ -16777,23 +16790,38 @@ async function getSavedCredentials(environment) {
|
|
|
16777
16790
|
}
|
|
16778
16791
|
async function saveCredentials(environment, credentials) {
|
|
16779
16792
|
const store = await readCredentialsStore();
|
|
16780
|
-
store
|
|
16793
|
+
store.timeback = store.timeback ?? {};
|
|
16794
|
+
store.timeback[environment] = credentials;
|
|
16795
|
+
delete store[environment];
|
|
16781
16796
|
return writeCredentialsStore(store);
|
|
16782
16797
|
}
|
|
16783
16798
|
async function clearCredentials(environment) {
|
|
16799
|
+
const store = await readCredentialsStore();
|
|
16784
16800
|
if (environment) {
|
|
16785
|
-
|
|
16801
|
+
delete store.timeback?.[environment];
|
|
16802
|
+
if (store.timeback && Object.keys(store.timeback).length === 0) {
|
|
16803
|
+
delete store.timeback;
|
|
16804
|
+
}
|
|
16786
16805
|
delete store[environment];
|
|
16787
16806
|
await writeCredentialsStore(store);
|
|
16788
16807
|
} else {
|
|
16789
|
-
|
|
16808
|
+
delete store.timeback;
|
|
16809
|
+
delete store["staging"];
|
|
16810
|
+
delete store["production"];
|
|
16811
|
+
await writeCredentialsStore(store);
|
|
16790
16812
|
}
|
|
16791
16813
|
}
|
|
16792
16814
|
async function getConfiguredEnvironments() {
|
|
16793
16815
|
const store = await readCredentialsStore();
|
|
16794
16816
|
const configured = [];
|
|
16795
16817
|
for (const env2 of ENVIRONMENTS) {
|
|
16796
|
-
|
|
16818
|
+
const namespaced = store.timeback?.[env2];
|
|
16819
|
+
if (namespaced && CredentialsSchema.safeParse(namespaced).success) {
|
|
16820
|
+
configured.push(env2);
|
|
16821
|
+
continue;
|
|
16822
|
+
}
|
|
16823
|
+
const legacy = store[env2];
|
|
16824
|
+
if (legacy && CredentialsSchema.safeParse(legacy).success) {
|
|
16797
16825
|
configured.push(env2);
|
|
16798
16826
|
}
|
|
16799
16827
|
}
|
|
@@ -17252,6 +17280,213 @@ var CaliperListEventsParams = exports_external.object({
|
|
|
17252
17280
|
actorId: exports_external.string().min(1).optional(),
|
|
17253
17281
|
actorEmail: exports_external.email().optional()
|
|
17254
17282
|
}).strict();
|
|
17283
|
+
// ../types/src/zod/webhooks.ts
|
|
17284
|
+
var WebhookCreateInput = exports_external.object({
|
|
17285
|
+
name: exports_external.string().min(1, "name must be a non-empty string"),
|
|
17286
|
+
targetUrl: exports_external.url("targetUrl must be a valid URL"),
|
|
17287
|
+
secret: exports_external.string().min(1, "secret must be a non-empty string"),
|
|
17288
|
+
active: exports_external.boolean(),
|
|
17289
|
+
sensor: exports_external.string().nullable().optional(),
|
|
17290
|
+
description: exports_external.string().nullable().optional()
|
|
17291
|
+
}).strict();
|
|
17292
|
+
var WebhookFilterType = exports_external.enum(["string", "number", "boolean"]);
|
|
17293
|
+
var WebhookFilterOperation = exports_external.enum([
|
|
17294
|
+
"eq",
|
|
17295
|
+
"neq",
|
|
17296
|
+
"gt",
|
|
17297
|
+
"gte",
|
|
17298
|
+
"lt",
|
|
17299
|
+
"lte",
|
|
17300
|
+
"contains",
|
|
17301
|
+
"notContains",
|
|
17302
|
+
"in",
|
|
17303
|
+
"notIn",
|
|
17304
|
+
"startsWith",
|
|
17305
|
+
"endsWith",
|
|
17306
|
+
"regexp"
|
|
17307
|
+
]);
|
|
17308
|
+
var WebhookFilterCreateInput = exports_external.object({
|
|
17309
|
+
webhookId: exports_external.string().min(1, "webhookId must be a non-empty string"),
|
|
17310
|
+
filterKey: exports_external.string().min(1, "filterKey must be a non-empty string"),
|
|
17311
|
+
filterValue: exports_external.string().min(1, "filterValue must be a non-empty string"),
|
|
17312
|
+
filterType: WebhookFilterType,
|
|
17313
|
+
filterOperator: WebhookFilterOperation,
|
|
17314
|
+
active: exports_external.boolean()
|
|
17315
|
+
}).strict();
|
|
17316
|
+
// ../types/src/zod/case.ts
|
|
17317
|
+
var NonEmptyString = exports_external.string().trim().min(1);
|
|
17318
|
+
var InputNodeURISchema = exports_external.object({
|
|
17319
|
+
title: NonEmptyString,
|
|
17320
|
+
identifier: NonEmptyString,
|
|
17321
|
+
uri: NonEmptyString
|
|
17322
|
+
});
|
|
17323
|
+
var CFDocumentInputSchema = exports_external.object({
|
|
17324
|
+
identifier: NonEmptyString,
|
|
17325
|
+
uri: NonEmptyString,
|
|
17326
|
+
lastChangeDateTime: NonEmptyString,
|
|
17327
|
+
title: NonEmptyString,
|
|
17328
|
+
creator: NonEmptyString,
|
|
17329
|
+
officialSourceURL: exports_external.string().optional(),
|
|
17330
|
+
publisher: exports_external.string().optional(),
|
|
17331
|
+
description: exports_external.string().optional(),
|
|
17332
|
+
language: exports_external.string().optional(),
|
|
17333
|
+
version: exports_external.string().optional(),
|
|
17334
|
+
caseVersion: exports_external.string().optional(),
|
|
17335
|
+
adoptionStatus: exports_external.string().optional(),
|
|
17336
|
+
statusStartDate: exports_external.string().optional(),
|
|
17337
|
+
statusEndDate: exports_external.string().optional(),
|
|
17338
|
+
licenseUri: exports_external.string().optional(),
|
|
17339
|
+
notes: exports_external.string().optional(),
|
|
17340
|
+
subject: exports_external.array(exports_external.string()).optional(),
|
|
17341
|
+
extensions: exports_external.unknown().optional()
|
|
17342
|
+
});
|
|
17343
|
+
var CFItemInputSchema = exports_external.object({
|
|
17344
|
+
identifier: NonEmptyString,
|
|
17345
|
+
uri: NonEmptyString,
|
|
17346
|
+
lastChangeDateTime: NonEmptyString,
|
|
17347
|
+
fullStatement: NonEmptyString,
|
|
17348
|
+
alternativeLabel: exports_external.string().optional(),
|
|
17349
|
+
CFItemType: exports_external.string().optional(),
|
|
17350
|
+
cfItemType: exports_external.string().optional(),
|
|
17351
|
+
humanCodingScheme: exports_external.string().optional(),
|
|
17352
|
+
listEnumeration: exports_external.string().optional(),
|
|
17353
|
+
abbreviatedStatement: exports_external.string().optional(),
|
|
17354
|
+
conceptKeywords: exports_external.array(exports_external.string()).optional(),
|
|
17355
|
+
notes: exports_external.string().optional(),
|
|
17356
|
+
subject: exports_external.array(exports_external.string()).optional(),
|
|
17357
|
+
language: exports_external.string().optional(),
|
|
17358
|
+
educationLevel: exports_external.array(exports_external.string()).optional(),
|
|
17359
|
+
CFItemTypeURI: exports_external.unknown().optional(),
|
|
17360
|
+
licenseURI: exports_external.unknown().optional(),
|
|
17361
|
+
statusStartDate: exports_external.string().optional(),
|
|
17362
|
+
statusEndDate: exports_external.string().optional(),
|
|
17363
|
+
extensions: exports_external.unknown().optional()
|
|
17364
|
+
});
|
|
17365
|
+
var CFAssociationInputSchema = exports_external.object({
|
|
17366
|
+
identifier: NonEmptyString,
|
|
17367
|
+
uri: NonEmptyString,
|
|
17368
|
+
lastChangeDateTime: NonEmptyString,
|
|
17369
|
+
associationType: NonEmptyString,
|
|
17370
|
+
originNodeURI: InputNodeURISchema,
|
|
17371
|
+
destinationNodeURI: InputNodeURISchema,
|
|
17372
|
+
sequenceNumber: exports_external.number().optional(),
|
|
17373
|
+
extensions: exports_external.unknown().optional()
|
|
17374
|
+
});
|
|
17375
|
+
var CFDefinitionsSchema = exports_external.object({
|
|
17376
|
+
CFItemTypes: exports_external.array(exports_external.unknown()).optional(),
|
|
17377
|
+
CFSubjects: exports_external.array(exports_external.unknown()).optional(),
|
|
17378
|
+
CFConcepts: exports_external.array(exports_external.unknown()).optional(),
|
|
17379
|
+
CFLicenses: exports_external.array(exports_external.unknown()).optional(),
|
|
17380
|
+
CFAssociationGroupings: exports_external.array(exports_external.unknown()).optional(),
|
|
17381
|
+
extensions: exports_external.unknown().optional()
|
|
17382
|
+
});
|
|
17383
|
+
var CasePackageInput = exports_external.object({
|
|
17384
|
+
CFDocument: CFDocumentInputSchema,
|
|
17385
|
+
CFItems: exports_external.array(CFItemInputSchema),
|
|
17386
|
+
CFAssociations: exports_external.array(CFAssociationInputSchema),
|
|
17387
|
+
CFDefinitions: CFDefinitionsSchema.optional(),
|
|
17388
|
+
extensions: exports_external.unknown().optional()
|
|
17389
|
+
});
|
|
17390
|
+
// ../types/src/zod/clr.ts
|
|
17391
|
+
var NonEmptyString2 = exports_external.string().trim().min(1);
|
|
17392
|
+
var NonEmptyStringArray = exports_external.array(exports_external.string()).min(1);
|
|
17393
|
+
var ClrImageSchema = exports_external.object({
|
|
17394
|
+
id: NonEmptyString2,
|
|
17395
|
+
type: exports_external.literal("Image"),
|
|
17396
|
+
caption: exports_external.string().optional()
|
|
17397
|
+
});
|
|
17398
|
+
var ClrProfileSchema = exports_external.object({
|
|
17399
|
+
id: NonEmptyString2,
|
|
17400
|
+
type: NonEmptyStringArray,
|
|
17401
|
+
name: exports_external.string().optional(),
|
|
17402
|
+
url: exports_external.string().optional(),
|
|
17403
|
+
phone: exports_external.string().optional(),
|
|
17404
|
+
description: exports_external.string().optional(),
|
|
17405
|
+
image: ClrImageSchema.optional(),
|
|
17406
|
+
email: exports_external.string().optional()
|
|
17407
|
+
});
|
|
17408
|
+
var ClrProofSchema = exports_external.object({
|
|
17409
|
+
type: NonEmptyString2,
|
|
17410
|
+
proofPurpose: NonEmptyString2,
|
|
17411
|
+
verificationMethod: NonEmptyString2,
|
|
17412
|
+
created: NonEmptyString2,
|
|
17413
|
+
proofValue: NonEmptyString2,
|
|
17414
|
+
cryptosuite: exports_external.string().optional()
|
|
17415
|
+
});
|
|
17416
|
+
var ClrCredentialSchemaSchema = exports_external.object({
|
|
17417
|
+
id: NonEmptyString2,
|
|
17418
|
+
type: exports_external.literal("1EdTechJsonSchemaValidator2019")
|
|
17419
|
+
});
|
|
17420
|
+
var AchievementCriteriaSchema = exports_external.object({
|
|
17421
|
+
id: exports_external.string().optional(),
|
|
17422
|
+
narrative: exports_external.string().optional()
|
|
17423
|
+
});
|
|
17424
|
+
var AchievementSchema = exports_external.object({
|
|
17425
|
+
id: NonEmptyString2,
|
|
17426
|
+
type: NonEmptyStringArray,
|
|
17427
|
+
name: NonEmptyString2,
|
|
17428
|
+
description: NonEmptyString2,
|
|
17429
|
+
criteria: AchievementCriteriaSchema,
|
|
17430
|
+
image: ClrImageSchema.optional(),
|
|
17431
|
+
achievementType: exports_external.string().optional(),
|
|
17432
|
+
creator: ClrProfileSchema.optional()
|
|
17433
|
+
});
|
|
17434
|
+
var IdentityObjectSchema = exports_external.object({
|
|
17435
|
+
type: exports_external.literal("IdentityObject"),
|
|
17436
|
+
identityHash: NonEmptyString2,
|
|
17437
|
+
identityType: NonEmptyString2,
|
|
17438
|
+
hashed: exports_external.boolean(),
|
|
17439
|
+
salt: exports_external.string().optional()
|
|
17440
|
+
});
|
|
17441
|
+
var AssociationTypeSchema = exports_external.enum([
|
|
17442
|
+
"exactMatchOf",
|
|
17443
|
+
"isChildOf",
|
|
17444
|
+
"isParentOf",
|
|
17445
|
+
"isPartOf",
|
|
17446
|
+
"isPeerOf",
|
|
17447
|
+
"isRelatedTo",
|
|
17448
|
+
"precedes",
|
|
17449
|
+
"replacedBy"
|
|
17450
|
+
]);
|
|
17451
|
+
var AssociationSchema = exports_external.object({
|
|
17452
|
+
type: exports_external.literal("Association"),
|
|
17453
|
+
associationType: AssociationTypeSchema,
|
|
17454
|
+
sourceId: NonEmptyString2,
|
|
17455
|
+
targetId: NonEmptyString2
|
|
17456
|
+
});
|
|
17457
|
+
var VerifiableCredentialSchema = exports_external.object({
|
|
17458
|
+
"@context": NonEmptyStringArray,
|
|
17459
|
+
id: NonEmptyString2,
|
|
17460
|
+
type: NonEmptyStringArray,
|
|
17461
|
+
issuer: ClrProfileSchema,
|
|
17462
|
+
validFrom: NonEmptyString2,
|
|
17463
|
+
validUntil: exports_external.string().optional(),
|
|
17464
|
+
credentialSubject: exports_external.object({
|
|
17465
|
+
id: exports_external.string().optional()
|
|
17466
|
+
}),
|
|
17467
|
+
proof: exports_external.array(ClrProofSchema).optional()
|
|
17468
|
+
});
|
|
17469
|
+
var ClrCredentialSubjectSchema = exports_external.object({
|
|
17470
|
+
id: exports_external.string().optional(),
|
|
17471
|
+
type: NonEmptyStringArray,
|
|
17472
|
+
identifier: exports_external.array(IdentityObjectSchema).optional(),
|
|
17473
|
+
achievement: exports_external.array(AchievementSchema).optional(),
|
|
17474
|
+
verifiableCredential: exports_external.array(VerifiableCredentialSchema).min(1),
|
|
17475
|
+
association: exports_external.array(AssociationSchema).optional()
|
|
17476
|
+
});
|
|
17477
|
+
var ClrCredentialInput = exports_external.object({
|
|
17478
|
+
"@context": NonEmptyStringArray,
|
|
17479
|
+
id: NonEmptyString2,
|
|
17480
|
+
type: NonEmptyStringArray,
|
|
17481
|
+
issuer: ClrProfileSchema,
|
|
17482
|
+
name: NonEmptyString2,
|
|
17483
|
+
description: exports_external.string().optional(),
|
|
17484
|
+
validFrom: NonEmptyString2,
|
|
17485
|
+
validUntil: exports_external.string().optional(),
|
|
17486
|
+
credentialSubject: ClrCredentialSubjectSchema,
|
|
17487
|
+
proof: exports_external.array(ClrProofSchema).optional(),
|
|
17488
|
+
credentialSchema: exports_external.array(ClrCredentialSchemaSchema).optional()
|
|
17489
|
+
});
|
|
17255
17490
|
// ../types/src/zod/config.ts
|
|
17256
17491
|
var CourseIds = exports_external.object({
|
|
17257
17492
|
staging: exports_external.string().meta({ description: "Course ID in staging environment" }).optional(),
|
|
@@ -17327,7 +17562,12 @@ var TimebackConfig = exports_external.object({
|
|
|
17327
17562
|
}).optional(),
|
|
17328
17563
|
courses: exports_external.array(CourseConfig).min(1, "At least one course is required").meta({ description: "Courses available in this app" }),
|
|
17329
17564
|
sensor: exports_external.url().meta({ description: "Default Caliper sensor endpoint URL for all courses" }).optional(),
|
|
17330
|
-
launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional()
|
|
17565
|
+
launchUrl: exports_external.url().meta({ description: "Default LTI launch URL for all courses" }).optional(),
|
|
17566
|
+
studio: exports_external.object({
|
|
17567
|
+
telemetry: exports_external.boolean().meta({
|
|
17568
|
+
description: "Enable anonymous usage telemetry for Studio (default: true)"
|
|
17569
|
+
}).optional().default(true)
|
|
17570
|
+
}).meta({ description: "Studio-specific configuration" }).optional()
|
|
17331
17571
|
}).meta({
|
|
17332
17572
|
id: "TimebackConfig",
|
|
17333
17573
|
title: "Timeback Config",
|
|
@@ -17413,10 +17653,10 @@ var EduBridgeEnrollmentAnalyticsResponse = exports_external.object({
|
|
|
17413
17653
|
facts: EduBridgeAnalyticsFacts,
|
|
17414
17654
|
factsByApp: exports_external.unknown()
|
|
17415
17655
|
});
|
|
17416
|
-
var
|
|
17656
|
+
var NonEmptyString3 = exports_external.string().trim().min(1);
|
|
17417
17657
|
var EmailOrStudentId = exports_external.object({
|
|
17418
17658
|
email: exports_external.email().optional(),
|
|
17419
|
-
studentId:
|
|
17659
|
+
studentId: NonEmptyString3.optional()
|
|
17420
17660
|
}).superRefine((value, ctx) => {
|
|
17421
17661
|
if (!value.email && !value.studentId) {
|
|
17422
17662
|
ctx.addIssue({
|
|
@@ -17432,16 +17672,16 @@ var EmailOrStudentId = exports_external.object({
|
|
|
17432
17672
|
}
|
|
17433
17673
|
});
|
|
17434
17674
|
var SubjectTrackInput = exports_external.object({
|
|
17435
|
-
subject:
|
|
17436
|
-
grade:
|
|
17437
|
-
courseId:
|
|
17438
|
-
orgSourcedId:
|
|
17675
|
+
subject: NonEmptyString3,
|
|
17676
|
+
grade: NonEmptyString3,
|
|
17677
|
+
courseId: NonEmptyString3,
|
|
17678
|
+
orgSourcedId: NonEmptyString3.optional()
|
|
17439
17679
|
});
|
|
17440
17680
|
var EdubridgeListEnrollmentsParams = exports_external.object({
|
|
17441
|
-
userId:
|
|
17681
|
+
userId: NonEmptyString3
|
|
17442
17682
|
});
|
|
17443
17683
|
var EdubridgeEnrollOptions = exports_external.object({
|
|
17444
|
-
sourcedId:
|
|
17684
|
+
sourcedId: NonEmptyString3.optional(),
|
|
17445
17685
|
role: EnrollmentRole.optional(),
|
|
17446
17686
|
beginDate: EdubridgeDateString.optional(),
|
|
17447
17687
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
@@ -17455,7 +17695,7 @@ var EdubridgeUsersListParams = exports_external.object({
|
|
|
17455
17695
|
filter: exports_external.string().optional(),
|
|
17456
17696
|
search: exports_external.string().optional(),
|
|
17457
17697
|
roles: exports_external.array(OneRosterUserRole).min(1),
|
|
17458
|
-
orgSourcedIds: exports_external.array(
|
|
17698
|
+
orgSourcedIds: exports_external.array(NonEmptyString3).optional()
|
|
17459
17699
|
});
|
|
17460
17700
|
var EdubridgeActivityParams = EmailOrStudentId.extend({
|
|
17461
17701
|
startDate: EdubridgeDateString,
|
|
@@ -17467,17 +17707,94 @@ var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
|
|
|
17467
17707
|
timezone: exports_external.string().optional()
|
|
17468
17708
|
});
|
|
17469
17709
|
var EdubridgeEnrollmentFactsParams = exports_external.object({
|
|
17470
|
-
enrollmentId:
|
|
17710
|
+
enrollmentId: NonEmptyString3,
|
|
17471
17711
|
startDate: EdubridgeDateString.optional(),
|
|
17472
17712
|
endDate: EdubridgeDateString.optional(),
|
|
17473
17713
|
timezone: exports_external.string().optional()
|
|
17474
17714
|
});
|
|
17715
|
+
// ../types/src/zod/masterytrack.ts
|
|
17716
|
+
var NonEmptyString4 = exports_external.string().trim().min(1);
|
|
17717
|
+
var MasteryTrackAuthorizerInput = exports_external.object({
|
|
17718
|
+
email: exports_external.email()
|
|
17719
|
+
});
|
|
17720
|
+
var MasteryTrackInventorySearchParams = exports_external.object({
|
|
17721
|
+
name: NonEmptyString4.optional(),
|
|
17722
|
+
timeback_id: NonEmptyString4.optional(),
|
|
17723
|
+
grade: NonEmptyString4.optional(),
|
|
17724
|
+
subject: NonEmptyString4.optional(),
|
|
17725
|
+
all: exports_external.boolean().optional()
|
|
17726
|
+
});
|
|
17727
|
+
var MasteryTrackAssignmentInput = exports_external.object({
|
|
17728
|
+
student_email: exports_external.email(),
|
|
17729
|
+
timeback_id: NonEmptyString4.optional(),
|
|
17730
|
+
subject: NonEmptyString4.optional(),
|
|
17731
|
+
grade_rank: exports_external.number().int().min(0).max(12).optional(),
|
|
17732
|
+
assessment_line_item_sourced_id: NonEmptyString4.optional(),
|
|
17733
|
+
assessment_result_sourced_id: NonEmptyString4.optional()
|
|
17734
|
+
}).superRefine((value, ctx) => {
|
|
17735
|
+
const hasTimebackId = !!value.timeback_id;
|
|
17736
|
+
const hasSubject = !!value.subject;
|
|
17737
|
+
const hasGradeRank = value.grade_rank !== undefined;
|
|
17738
|
+
if (!hasTimebackId && !hasSubject) {
|
|
17739
|
+
ctx.addIssue({
|
|
17740
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17741
|
+
message: "must provide either timeback_id or subject",
|
|
17742
|
+
path: ["timeback_id"]
|
|
17743
|
+
});
|
|
17744
|
+
ctx.addIssue({
|
|
17745
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17746
|
+
message: "must provide either timeback_id or subject",
|
|
17747
|
+
path: ["subject"]
|
|
17748
|
+
});
|
|
17749
|
+
}
|
|
17750
|
+
if (hasGradeRank && !hasSubject) {
|
|
17751
|
+
ctx.addIssue({
|
|
17752
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17753
|
+
message: "grade_rank requires subject",
|
|
17754
|
+
path: ["grade_rank"]
|
|
17755
|
+
});
|
|
17756
|
+
}
|
|
17757
|
+
const hasLineItem = !!value.assessment_line_item_sourced_id;
|
|
17758
|
+
const hasResultId = !!value.assessment_result_sourced_id;
|
|
17759
|
+
if (hasLineItem !== hasResultId) {
|
|
17760
|
+
ctx.addIssue({
|
|
17761
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17762
|
+
message: "assessment_line_item_sourced_id and assessment_result_sourced_id must be provided together",
|
|
17763
|
+
path: hasLineItem ? ["assessment_result_sourced_id"] : ["assessment_line_item_sourced_id"]
|
|
17764
|
+
});
|
|
17765
|
+
}
|
|
17766
|
+
});
|
|
17767
|
+
var MasteryTrackInvalidateAssignmentInput = exports_external.object({
|
|
17768
|
+
student_email: exports_external.email(),
|
|
17769
|
+
assignment_id: exports_external.number().int().positive().optional(),
|
|
17770
|
+
timeback_id: NonEmptyString4.optional(),
|
|
17771
|
+
subject: NonEmptyString4.optional(),
|
|
17772
|
+
grade_rank: exports_external.number().int().min(0).max(12).optional()
|
|
17773
|
+
}).superRefine((value, ctx) => {
|
|
17774
|
+
const byAssignment = value.assignment_id !== undefined;
|
|
17775
|
+
const byTimeback = !!value.timeback_id;
|
|
17776
|
+
const bySubjectGrade = !!value.subject && value.grade_rank !== undefined;
|
|
17777
|
+
if (!byAssignment && !byTimeback && !bySubjectGrade) {
|
|
17778
|
+
ctx.addIssue({
|
|
17779
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17780
|
+
message: "Either assignment_id, timeback_id, or (subject and grade_rank) is required",
|
|
17781
|
+
path: ["assignment_id"]
|
|
17782
|
+
});
|
|
17783
|
+
}
|
|
17784
|
+
if (value.grade_rank !== undefined && !value.subject) {
|
|
17785
|
+
ctx.addIssue({
|
|
17786
|
+
code: exports_external.ZodIssueCode.custom,
|
|
17787
|
+
message: "grade_rank requires subject",
|
|
17788
|
+
path: ["grade_rank"]
|
|
17789
|
+
});
|
|
17790
|
+
}
|
|
17791
|
+
});
|
|
17475
17792
|
// ../types/src/zod/oneroster.ts
|
|
17476
|
-
var
|
|
17793
|
+
var NonEmptyString5 = exports_external.string().min(1);
|
|
17477
17794
|
var Status = exports_external.enum(["active", "tobedeleted"]);
|
|
17478
17795
|
var Metadata = exports_external.record(exports_external.string(), exports_external.unknown()).nullable().optional();
|
|
17479
17796
|
var Ref = exports_external.object({
|
|
17480
|
-
sourcedId:
|
|
17797
|
+
sourcedId: NonEmptyString5,
|
|
17481
17798
|
type: exports_external.string().optional(),
|
|
17482
17799
|
href: exports_external.string().optional()
|
|
17483
17800
|
}).strict();
|
|
@@ -17492,58 +17809,58 @@ var OneRosterUserRoleInput = exports_external.object({
|
|
|
17492
17809
|
endDate: OneRosterDateString.optional()
|
|
17493
17810
|
}).strict();
|
|
17494
17811
|
var OneRosterUserCreateInput = exports_external.object({
|
|
17495
|
-
sourcedId:
|
|
17812
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
|
|
17496
17813
|
status: Status.optional(),
|
|
17497
17814
|
enabledUser: exports_external.boolean(),
|
|
17498
|
-
givenName:
|
|
17499
|
-
familyName:
|
|
17500
|
-
middleName:
|
|
17501
|
-
username:
|
|
17815
|
+
givenName: NonEmptyString5.describe("givenName must be a non-empty string"),
|
|
17816
|
+
familyName: NonEmptyString5.describe("familyName must be a non-empty string"),
|
|
17817
|
+
middleName: NonEmptyString5.optional(),
|
|
17818
|
+
username: NonEmptyString5.optional(),
|
|
17502
17819
|
email: exports_external.email().optional(),
|
|
17503
17820
|
roles: exports_external.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
|
|
17504
17821
|
userIds: exports_external.array(exports_external.object({
|
|
17505
|
-
type:
|
|
17506
|
-
identifier:
|
|
17822
|
+
type: NonEmptyString5,
|
|
17823
|
+
identifier: NonEmptyString5
|
|
17507
17824
|
}).strict()).optional(),
|
|
17508
17825
|
agents: exports_external.array(Ref).optional(),
|
|
17509
17826
|
grades: exports_external.array(TimebackGrade).optional(),
|
|
17510
|
-
identifier:
|
|
17511
|
-
sms:
|
|
17512
|
-
phone:
|
|
17513
|
-
pronouns:
|
|
17514
|
-
password:
|
|
17827
|
+
identifier: NonEmptyString5.optional(),
|
|
17828
|
+
sms: NonEmptyString5.optional(),
|
|
17829
|
+
phone: NonEmptyString5.optional(),
|
|
17830
|
+
pronouns: NonEmptyString5.optional(),
|
|
17831
|
+
password: NonEmptyString5.optional(),
|
|
17515
17832
|
metadata: Metadata
|
|
17516
17833
|
}).strict();
|
|
17517
17834
|
var OneRosterCourseCreateInput = exports_external.object({
|
|
17518
|
-
sourcedId:
|
|
17835
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
|
|
17519
17836
|
status: Status.optional(),
|
|
17520
|
-
title:
|
|
17837
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17521
17838
|
org: Ref,
|
|
17522
|
-
courseCode:
|
|
17839
|
+
courseCode: NonEmptyString5.optional(),
|
|
17523
17840
|
subjects: exports_external.array(TimebackSubject).optional(),
|
|
17524
17841
|
grades: exports_external.array(TimebackGrade).optional(),
|
|
17525
|
-
level:
|
|
17842
|
+
level: NonEmptyString5.optional(),
|
|
17526
17843
|
metadata: Metadata
|
|
17527
17844
|
}).strict();
|
|
17528
17845
|
var OneRosterClassCreateInput = exports_external.object({
|
|
17529
|
-
sourcedId:
|
|
17846
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
|
|
17530
17847
|
status: Status.optional(),
|
|
17531
|
-
title:
|
|
17848
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17532
17849
|
terms: exports_external.array(Ref).min(1, "terms must have at least one item"),
|
|
17533
17850
|
course: Ref,
|
|
17534
17851
|
org: Ref,
|
|
17535
|
-
classCode:
|
|
17852
|
+
classCode: NonEmptyString5.optional(),
|
|
17536
17853
|
classType: exports_external.enum(["homeroom", "scheduled"]).optional(),
|
|
17537
|
-
location:
|
|
17854
|
+
location: NonEmptyString5.optional(),
|
|
17538
17855
|
grades: exports_external.array(TimebackGrade).optional(),
|
|
17539
17856
|
subjects: exports_external.array(TimebackSubject).optional(),
|
|
17540
|
-
subjectCodes: exports_external.array(
|
|
17541
|
-
periods: exports_external.array(
|
|
17857
|
+
subjectCodes: exports_external.array(NonEmptyString5).optional(),
|
|
17858
|
+
periods: exports_external.array(NonEmptyString5).optional(),
|
|
17542
17859
|
metadata: Metadata
|
|
17543
17860
|
}).strict();
|
|
17544
17861
|
var StringBoolean = exports_external.enum(["true", "false"]);
|
|
17545
17862
|
var OneRosterEnrollmentCreateInput = exports_external.object({
|
|
17546
|
-
sourcedId:
|
|
17863
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string").optional(),
|
|
17547
17864
|
status: Status.optional(),
|
|
17548
17865
|
user: Ref,
|
|
17549
17866
|
class: Ref,
|
|
@@ -17555,15 +17872,15 @@ var OneRosterEnrollmentCreateInput = exports_external.object({
|
|
|
17555
17872
|
metadata: Metadata
|
|
17556
17873
|
}).strict();
|
|
17557
17874
|
var OneRosterCategoryCreateInput = exports_external.object({
|
|
17558
|
-
sourcedId:
|
|
17559
|
-
title:
|
|
17875
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17876
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17560
17877
|
status: Status,
|
|
17561
17878
|
weight: exports_external.number().nullable().optional(),
|
|
17562
17879
|
metadata: Metadata
|
|
17563
17880
|
}).strict();
|
|
17564
17881
|
var OneRosterLineItemCreateInput = exports_external.object({
|
|
17565
|
-
sourcedId:
|
|
17566
|
-
title:
|
|
17882
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17883
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17567
17884
|
class: Ref,
|
|
17568
17885
|
school: Ref,
|
|
17569
17886
|
category: Ref,
|
|
@@ -17577,7 +17894,7 @@ var OneRosterLineItemCreateInput = exports_external.object({
|
|
|
17577
17894
|
metadata: Metadata
|
|
17578
17895
|
}).strict();
|
|
17579
17896
|
var OneRosterResultCreateInput = exports_external.object({
|
|
17580
|
-
sourcedId:
|
|
17897
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17581
17898
|
lineItem: Ref,
|
|
17582
17899
|
student: Ref,
|
|
17583
17900
|
class: Ref.optional(),
|
|
@@ -17596,15 +17913,15 @@ var OneRosterResultCreateInput = exports_external.object({
|
|
|
17596
17913
|
metadata: Metadata
|
|
17597
17914
|
}).strict();
|
|
17598
17915
|
var OneRosterScoreScaleCreateInput = exports_external.object({
|
|
17599
|
-
sourcedId:
|
|
17600
|
-
title:
|
|
17916
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17917
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17601
17918
|
status: Status.optional(),
|
|
17602
17919
|
type: exports_external.string().optional(),
|
|
17603
17920
|
class: Ref.optional(),
|
|
17604
17921
|
course: Ref.nullable().optional(),
|
|
17605
17922
|
scoreScaleValue: exports_external.array(exports_external.object({
|
|
17606
|
-
itemValueLHS:
|
|
17607
|
-
itemValueRHS:
|
|
17923
|
+
itemValueLHS: NonEmptyString5,
|
|
17924
|
+
itemValueRHS: NonEmptyString5,
|
|
17608
17925
|
value: exports_external.string().optional(),
|
|
17609
17926
|
description: exports_external.string().optional()
|
|
17610
17927
|
}).strict()).optional(),
|
|
@@ -17613,10 +17930,10 @@ var OneRosterScoreScaleCreateInput = exports_external.object({
|
|
|
17613
17930
|
metadata: Metadata
|
|
17614
17931
|
}).strict();
|
|
17615
17932
|
var OneRosterAssessmentLineItemCreateInput = exports_external.object({
|
|
17616
|
-
sourcedId:
|
|
17933
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17617
17934
|
status: Status.optional(),
|
|
17618
17935
|
dateLastModified: IsoDateTimeString.optional(),
|
|
17619
|
-
title:
|
|
17936
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17620
17937
|
description: exports_external.string().nullable().optional(),
|
|
17621
17938
|
class: Ref.nullable().optional(),
|
|
17622
17939
|
parentAssessmentLineItem: Ref.nullable().optional(),
|
|
@@ -17642,7 +17959,7 @@ var LearningObjectiveScoreSetSchema = exports_external.array(exports_external.ob
|
|
|
17642
17959
|
learningObjectiveResults: exports_external.array(LearningObjectiveResult)
|
|
17643
17960
|
}));
|
|
17644
17961
|
var OneRosterAssessmentResultCreateInput = exports_external.object({
|
|
17645
|
-
sourcedId:
|
|
17962
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17646
17963
|
status: Status.optional(),
|
|
17647
17964
|
dateLastModified: IsoDateTimeString.optional(),
|
|
17648
17965
|
metadata: Metadata,
|
|
@@ -17668,53 +17985,53 @@ var OneRosterAssessmentResultCreateInput = exports_external.object({
|
|
|
17668
17985
|
missing: exports_external.string().nullable().optional()
|
|
17669
17986
|
}).strict();
|
|
17670
17987
|
var OneRosterOrgCreateInput = exports_external.object({
|
|
17671
|
-
sourcedId:
|
|
17988
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17672
17989
|
status: Status.optional(),
|
|
17673
|
-
name:
|
|
17990
|
+
name: NonEmptyString5.describe("name must be a non-empty string"),
|
|
17674
17991
|
type: OrganizationType,
|
|
17675
|
-
identifier:
|
|
17992
|
+
identifier: NonEmptyString5.optional(),
|
|
17676
17993
|
parent: Ref.optional(),
|
|
17677
17994
|
metadata: Metadata
|
|
17678
17995
|
}).strict();
|
|
17679
17996
|
var OneRosterSchoolCreateInput = exports_external.object({
|
|
17680
|
-
sourcedId:
|
|
17997
|
+
sourcedId: NonEmptyString5.optional(),
|
|
17681
17998
|
status: Status.optional(),
|
|
17682
|
-
name:
|
|
17999
|
+
name: NonEmptyString5.describe("name must be a non-empty string"),
|
|
17683
18000
|
type: exports_external.literal("school").optional(),
|
|
17684
|
-
identifier:
|
|
18001
|
+
identifier: NonEmptyString5.optional(),
|
|
17685
18002
|
parent: Ref.optional(),
|
|
17686
18003
|
metadata: Metadata
|
|
17687
18004
|
}).strict();
|
|
17688
18005
|
var OneRosterAcademicSessionCreateInput = exports_external.object({
|
|
17689
|
-
sourcedId:
|
|
18006
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
|
|
17690
18007
|
status: Status,
|
|
17691
|
-
title:
|
|
18008
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17692
18009
|
startDate: OneRosterDateString,
|
|
17693
18010
|
endDate: OneRosterDateString,
|
|
17694
18011
|
type: exports_external.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
|
|
17695
|
-
schoolYear:
|
|
18012
|
+
schoolYear: NonEmptyString5.describe("schoolYear must be a non-empty string"),
|
|
17696
18013
|
org: Ref,
|
|
17697
18014
|
parent: Ref.optional(),
|
|
17698
18015
|
children: exports_external.array(Ref).optional(),
|
|
17699
18016
|
metadata: Metadata
|
|
17700
18017
|
}).strict();
|
|
17701
18018
|
var OneRosterComponentResourceCreateInput = exports_external.object({
|
|
17702
|
-
sourcedId:
|
|
17703
|
-
title:
|
|
18019
|
+
sourcedId: NonEmptyString5.optional(),
|
|
18020
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17704
18021
|
courseComponent: Ref,
|
|
17705
18022
|
resource: Ref,
|
|
17706
18023
|
status: Status,
|
|
17707
18024
|
metadata: Metadata
|
|
17708
18025
|
}).strict();
|
|
17709
18026
|
var OneRosterCourseComponentCreateInput = exports_external.object({
|
|
17710
|
-
sourcedId:
|
|
17711
|
-
title:
|
|
18027
|
+
sourcedId: NonEmptyString5.optional(),
|
|
18028
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
17712
18029
|
course: Ref,
|
|
17713
18030
|
status: Status,
|
|
17714
18031
|
metadata: Metadata
|
|
17715
18032
|
}).strict();
|
|
17716
18033
|
var OneRosterEnrollInput = exports_external.object({
|
|
17717
|
-
sourcedId:
|
|
18034
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string"),
|
|
17718
18035
|
role: exports_external.enum(["student", "teacher"]),
|
|
17719
18036
|
primary: StringBoolean.optional(),
|
|
17720
18037
|
beginDate: OneRosterDateString.optional(),
|
|
@@ -17722,16 +18039,16 @@ var OneRosterEnrollInput = exports_external.object({
|
|
|
17722
18039
|
metadata: Metadata
|
|
17723
18040
|
}).strict();
|
|
17724
18041
|
var OneRosterAgentInput = exports_external.object({
|
|
17725
|
-
agentSourcedId:
|
|
18042
|
+
agentSourcedId: NonEmptyString5.describe("agentSourcedId must be a non-empty string")
|
|
17726
18043
|
}).strict();
|
|
17727
18044
|
var OneRosterCredentialInput = exports_external.object({
|
|
17728
|
-
type:
|
|
17729
|
-
username:
|
|
18045
|
+
type: NonEmptyString5.describe("type must be a non-empty string"),
|
|
18046
|
+
username: NonEmptyString5.describe("username must be a non-empty string"),
|
|
17730
18047
|
password: exports_external.string().optional(),
|
|
17731
18048
|
metadata: Metadata
|
|
17732
18049
|
}).strict();
|
|
17733
18050
|
var OneRosterDemographicsCreateInput = exports_external.object({
|
|
17734
|
-
sourcedId:
|
|
18051
|
+
sourcedId: NonEmptyString5.describe("sourcedId must be a non-empty string")
|
|
17735
18052
|
}).loose();
|
|
17736
18053
|
var CommonResourceMetadataSchema = exports_external.object({
|
|
17737
18054
|
type: ResourceType,
|
|
@@ -17803,9 +18120,9 @@ var ResourceMetadataSchema = exports_external.discriminatedUnion("type", [
|
|
|
17803
18120
|
AssessmentBankMetadataSchema
|
|
17804
18121
|
]);
|
|
17805
18122
|
var OneRosterResourceCreateInput = exports_external.object({
|
|
17806
|
-
sourcedId:
|
|
17807
|
-
title:
|
|
17808
|
-
vendorResourceId:
|
|
18123
|
+
sourcedId: NonEmptyString5.optional(),
|
|
18124
|
+
title: NonEmptyString5.describe("title must be a non-empty string"),
|
|
18125
|
+
vendorResourceId: NonEmptyString5.describe("vendorResourceId must be a non-empty string"),
|
|
17809
18126
|
roles: exports_external.array(exports_external.enum(["primary", "secondary"])).optional(),
|
|
17810
18127
|
importance: exports_external.enum(["primary", "secondary"]).optional(),
|
|
17811
18128
|
vendorId: exports_external.string().optional(),
|
|
@@ -17814,18 +18131,18 @@ var OneRosterResourceCreateInput = exports_external.object({
|
|
|
17814
18131
|
metadata: ResourceMetadataSchema.nullable().optional()
|
|
17815
18132
|
}).strict();
|
|
17816
18133
|
var CourseStructureItem = exports_external.object({
|
|
17817
|
-
url:
|
|
17818
|
-
skillCode:
|
|
17819
|
-
lessonCode:
|
|
17820
|
-
title:
|
|
17821
|
-
"unit-title":
|
|
17822
|
-
status:
|
|
18134
|
+
url: NonEmptyString5.describe("courseStructure.url must be a non-empty string"),
|
|
18135
|
+
skillCode: NonEmptyString5.describe("courseStructure.skillCode must be a non-empty string"),
|
|
18136
|
+
lessonCode: NonEmptyString5.describe("courseStructure.lessonCode must be a non-empty string"),
|
|
18137
|
+
title: NonEmptyString5.describe("courseStructure.title must be a non-empty string"),
|
|
18138
|
+
"unit-title": NonEmptyString5.describe("courseStructure.unit-title must be a non-empty string"),
|
|
18139
|
+
status: NonEmptyString5.describe("courseStructure.status must be a non-empty string"),
|
|
17823
18140
|
xp: exports_external.number()
|
|
17824
18141
|
}).loose();
|
|
17825
18142
|
var OneRosterCourseStructureInput = exports_external.object({
|
|
17826
18143
|
course: exports_external.object({
|
|
17827
|
-
sourcedId:
|
|
17828
|
-
title:
|
|
18144
|
+
sourcedId: NonEmptyString5.describe("course.sourcedId must be a non-empty string").optional(),
|
|
18145
|
+
title: NonEmptyString5.describe("course.title must be a non-empty string"),
|
|
17829
18146
|
org: Ref,
|
|
17830
18147
|
status: Status,
|
|
17831
18148
|
metadata: Metadata
|
|
@@ -17837,7 +18154,7 @@ var OneRosterBulkResultItem = exports_external.object({
|
|
|
17837
18154
|
}).loose();
|
|
17838
18155
|
var OneRosterBulkResultsInput = exports_external.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
|
|
17839
18156
|
// ../types/src/zod/powerpath.ts
|
|
17840
|
-
var
|
|
18157
|
+
var NonEmptyString6 = exports_external.string().trim().min(1);
|
|
17841
18158
|
var ToolProvider = exports_external.enum(["edulastic", "mastery-track"]);
|
|
17842
18159
|
var LessonTypeRequired = exports_external.enum([
|
|
17843
18160
|
"powerpath-100",
|
|
@@ -17850,14 +18167,14 @@ var LessonTypeRequired = exports_external.enum([
|
|
|
17850
18167
|
var GradeArray = exports_external.array(TimebackGrade);
|
|
17851
18168
|
var ResourceMetadata = exports_external.record(exports_external.string(), exports_external.unknown()).optional();
|
|
17852
18169
|
var ExternalTestBase = exports_external.object({
|
|
17853
|
-
courseId:
|
|
17854
|
-
lessonTitle:
|
|
18170
|
+
courseId: NonEmptyString6,
|
|
18171
|
+
lessonTitle: NonEmptyString6.optional(),
|
|
17855
18172
|
launchUrl: exports_external.url().optional(),
|
|
17856
18173
|
toolProvider: ToolProvider,
|
|
17857
|
-
unitTitle:
|
|
17858
|
-
courseComponentSourcedId:
|
|
17859
|
-
vendorId:
|
|
17860
|
-
description:
|
|
18174
|
+
unitTitle: NonEmptyString6.optional(),
|
|
18175
|
+
courseComponentSourcedId: NonEmptyString6.optional(),
|
|
18176
|
+
vendorId: NonEmptyString6.optional(),
|
|
18177
|
+
description: NonEmptyString6.optional(),
|
|
17861
18178
|
resourceMetadata: ResourceMetadata.nullable().optional(),
|
|
17862
18179
|
grades: GradeArray
|
|
17863
18180
|
});
|
|
@@ -17867,26 +18184,26 @@ var ExternalTestOut = ExternalTestBase.extend({
|
|
|
17867
18184
|
});
|
|
17868
18185
|
var ExternalPlacement = ExternalTestBase.extend({
|
|
17869
18186
|
lessonType: exports_external.literal("placement"),
|
|
17870
|
-
courseIdOnFail:
|
|
18187
|
+
courseIdOnFail: NonEmptyString6.optional(),
|
|
17871
18188
|
xp: exports_external.number().optional()
|
|
17872
18189
|
});
|
|
17873
18190
|
var InternalTestBase = exports_external.object({
|
|
17874
|
-
courseId:
|
|
18191
|
+
courseId: NonEmptyString6,
|
|
17875
18192
|
lessonType: LessonTypeRequired,
|
|
17876
|
-
lessonTitle:
|
|
17877
|
-
unitTitle:
|
|
17878
|
-
courseComponentSourcedId:
|
|
18193
|
+
lessonTitle: NonEmptyString6.optional(),
|
|
18194
|
+
unitTitle: NonEmptyString6.optional(),
|
|
18195
|
+
courseComponentSourcedId: NonEmptyString6.optional(),
|
|
17879
18196
|
resourceMetadata: ResourceMetadata.nullable().optional(),
|
|
17880
18197
|
xp: exports_external.number().optional(),
|
|
17881
18198
|
grades: GradeArray.optional(),
|
|
17882
|
-
courseIdOnFail:
|
|
18199
|
+
courseIdOnFail: NonEmptyString6.optional()
|
|
17883
18200
|
});
|
|
17884
18201
|
var PowerPathCreateInternalTestInput = exports_external.union([
|
|
17885
18202
|
InternalTestBase.extend({
|
|
17886
18203
|
testType: exports_external.literal("qti"),
|
|
17887
18204
|
qti: exports_external.object({
|
|
17888
18205
|
url: exports_external.url(),
|
|
17889
|
-
title:
|
|
18206
|
+
title: NonEmptyString6.optional(),
|
|
17890
18207
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17891
18208
|
})
|
|
17892
18209
|
}),
|
|
@@ -17895,28 +18212,28 @@ var PowerPathCreateInternalTestInput = exports_external.union([
|
|
|
17895
18212
|
assessmentBank: exports_external.object({
|
|
17896
18213
|
resources: exports_external.array(exports_external.object({
|
|
17897
18214
|
url: exports_external.url(),
|
|
17898
|
-
title:
|
|
18215
|
+
title: NonEmptyString6.optional(),
|
|
17899
18216
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
17900
18217
|
}))
|
|
17901
18218
|
})
|
|
17902
18219
|
})
|
|
17903
18220
|
]);
|
|
17904
18221
|
var PowerPathCreateNewAttemptInput = exports_external.object({
|
|
17905
|
-
student:
|
|
17906
|
-
lesson:
|
|
18222
|
+
student: NonEmptyString6,
|
|
18223
|
+
lesson: NonEmptyString6
|
|
17907
18224
|
});
|
|
17908
18225
|
var PowerPathFinalStudentAssessmentResponseInput = exports_external.object({
|
|
17909
|
-
student:
|
|
17910
|
-
lesson:
|
|
18226
|
+
student: NonEmptyString6,
|
|
18227
|
+
lesson: NonEmptyString6
|
|
17911
18228
|
});
|
|
17912
18229
|
var PowerPathLessonPlansCreateInput = exports_external.object({
|
|
17913
|
-
courseId:
|
|
17914
|
-
userId:
|
|
17915
|
-
classId:
|
|
18230
|
+
courseId: NonEmptyString6,
|
|
18231
|
+
userId: NonEmptyString6,
|
|
18232
|
+
classId: NonEmptyString6.optional()
|
|
17916
18233
|
});
|
|
17917
18234
|
var LessonPlanTarget = exports_external.object({
|
|
17918
18235
|
type: exports_external.enum(["component", "resource"]),
|
|
17919
|
-
id:
|
|
18236
|
+
id: NonEmptyString6
|
|
17920
18237
|
});
|
|
17921
18238
|
var PowerPathLessonPlanOperationInput = exports_external.union([
|
|
17922
18239
|
exports_external.object({
|
|
@@ -17929,8 +18246,8 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
|
|
|
17929
18246
|
exports_external.object({
|
|
17930
18247
|
type: exports_external.literal("add-custom-resource"),
|
|
17931
18248
|
payload: exports_external.object({
|
|
17932
|
-
resource_id:
|
|
17933
|
-
parent_component_id:
|
|
18249
|
+
resource_id: NonEmptyString6,
|
|
18250
|
+
parent_component_id: NonEmptyString6,
|
|
17934
18251
|
skipped: exports_external.boolean().optional()
|
|
17935
18252
|
})
|
|
17936
18253
|
}),
|
|
@@ -17938,14 +18255,14 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
|
|
|
17938
18255
|
type: exports_external.literal("move-item-before"),
|
|
17939
18256
|
payload: exports_external.object({
|
|
17940
18257
|
target: LessonPlanTarget,
|
|
17941
|
-
reference_id:
|
|
18258
|
+
reference_id: NonEmptyString6
|
|
17942
18259
|
})
|
|
17943
18260
|
}),
|
|
17944
18261
|
exports_external.object({
|
|
17945
18262
|
type: exports_external.literal("move-item-after"),
|
|
17946
18263
|
payload: exports_external.object({
|
|
17947
18264
|
target: LessonPlanTarget,
|
|
17948
|
-
reference_id:
|
|
18265
|
+
reference_id: NonEmptyString6
|
|
17949
18266
|
})
|
|
17950
18267
|
}),
|
|
17951
18268
|
exports_external.object({
|
|
@@ -17964,135 +18281,135 @@ var PowerPathLessonPlanOperationInput = exports_external.union([
|
|
|
17964
18281
|
type: exports_external.literal("change-item-parent"),
|
|
17965
18282
|
payload: exports_external.object({
|
|
17966
18283
|
target: LessonPlanTarget,
|
|
17967
|
-
new_parent_id:
|
|
18284
|
+
new_parent_id: NonEmptyString6,
|
|
17968
18285
|
position: exports_external.enum(["start", "end"]).optional()
|
|
17969
18286
|
})
|
|
17970
18287
|
})
|
|
17971
18288
|
]);
|
|
17972
18289
|
var PowerPathLessonPlanOperationsInput = exports_external.object({
|
|
17973
18290
|
operation: exports_external.array(PowerPathLessonPlanOperationInput),
|
|
17974
|
-
reason:
|
|
18291
|
+
reason: NonEmptyString6.optional()
|
|
17975
18292
|
});
|
|
17976
18293
|
var PowerPathLessonPlanUpdateStudentItemResponseInput = exports_external.object({
|
|
17977
|
-
studentId:
|
|
17978
|
-
componentResourceId:
|
|
18294
|
+
studentId: NonEmptyString6,
|
|
18295
|
+
componentResourceId: NonEmptyString6,
|
|
17979
18296
|
result: exports_external.object({
|
|
17980
18297
|
status: exports_external.enum(["active", "tobedeleted"]),
|
|
17981
18298
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
17982
18299
|
score: exports_external.number().optional(),
|
|
17983
|
-
textScore:
|
|
17984
|
-
scoreDate:
|
|
18300
|
+
textScore: NonEmptyString6.optional(),
|
|
18301
|
+
scoreDate: NonEmptyString6,
|
|
17985
18302
|
scorePercentile: exports_external.number().optional(),
|
|
17986
18303
|
scoreStatus: ScoreStatus,
|
|
17987
|
-
comment:
|
|
18304
|
+
comment: NonEmptyString6.optional(),
|
|
17988
18305
|
learningObjectiveSet: exports_external.array(exports_external.object({
|
|
17989
|
-
source:
|
|
18306
|
+
source: NonEmptyString6,
|
|
17990
18307
|
learningObjectiveResults: exports_external.array(exports_external.object({
|
|
17991
|
-
learningObjectiveId:
|
|
18308
|
+
learningObjectiveId: NonEmptyString6,
|
|
17992
18309
|
score: exports_external.number().optional(),
|
|
17993
|
-
textScore:
|
|
18310
|
+
textScore: NonEmptyString6.optional()
|
|
17994
18311
|
}))
|
|
17995
18312
|
})).optional(),
|
|
17996
|
-
inProgress:
|
|
17997
|
-
incomplete:
|
|
17998
|
-
late:
|
|
17999
|
-
missing:
|
|
18313
|
+
inProgress: NonEmptyString6.optional(),
|
|
18314
|
+
incomplete: NonEmptyString6.optional(),
|
|
18315
|
+
late: NonEmptyString6.optional(),
|
|
18316
|
+
missing: NonEmptyString6.optional()
|
|
18000
18317
|
})
|
|
18001
18318
|
});
|
|
18002
18319
|
var PowerPathMakeExternalTestAssignmentInput = exports_external.object({
|
|
18003
|
-
student:
|
|
18004
|
-
lesson:
|
|
18005
|
-
applicationName:
|
|
18006
|
-
testId:
|
|
18320
|
+
student: NonEmptyString6,
|
|
18321
|
+
lesson: NonEmptyString6,
|
|
18322
|
+
applicationName: NonEmptyString6.optional(),
|
|
18323
|
+
testId: NonEmptyString6.optional(),
|
|
18007
18324
|
skipCourseEnrollment: exports_external.boolean().optional()
|
|
18008
18325
|
});
|
|
18009
18326
|
var PowerPathPlacementResetUserPlacementInput = exports_external.object({
|
|
18010
|
-
student:
|
|
18327
|
+
student: NonEmptyString6,
|
|
18011
18328
|
subject: TimebackSubject
|
|
18012
18329
|
});
|
|
18013
18330
|
var PowerPathResetAttemptInput = exports_external.object({
|
|
18014
|
-
student:
|
|
18015
|
-
lesson:
|
|
18331
|
+
student: NonEmptyString6,
|
|
18332
|
+
lesson: NonEmptyString6
|
|
18016
18333
|
});
|
|
18017
18334
|
var PowerPathScreeningResetSessionInput = exports_external.object({
|
|
18018
|
-
userId:
|
|
18335
|
+
userId: NonEmptyString6
|
|
18019
18336
|
});
|
|
18020
18337
|
var PowerPathScreeningAssignTestInput = exports_external.object({
|
|
18021
|
-
userId:
|
|
18338
|
+
userId: NonEmptyString6,
|
|
18022
18339
|
subject: exports_external.enum(["Math", "Reading", "Language", "Science"])
|
|
18023
18340
|
});
|
|
18024
18341
|
var PowerPathTestAssignmentsCreateInput = exports_external.object({
|
|
18025
|
-
student:
|
|
18342
|
+
student: NonEmptyString6,
|
|
18026
18343
|
subject: TimebackSubject,
|
|
18027
18344
|
grade: TimebackGrade,
|
|
18028
|
-
testName:
|
|
18345
|
+
testName: NonEmptyString6.optional()
|
|
18029
18346
|
});
|
|
18030
18347
|
var PowerPathTestAssignmentsUpdateInput = exports_external.object({
|
|
18031
|
-
testName:
|
|
18348
|
+
testName: NonEmptyString6
|
|
18032
18349
|
});
|
|
18033
18350
|
var PowerPathTestAssignmentItemInput = exports_external.object({
|
|
18034
|
-
student:
|
|
18351
|
+
student: NonEmptyString6,
|
|
18035
18352
|
subject: TimebackSubject,
|
|
18036
18353
|
grade: TimebackGrade,
|
|
18037
|
-
testName:
|
|
18354
|
+
testName: NonEmptyString6.optional()
|
|
18038
18355
|
});
|
|
18039
18356
|
var PowerPathTestAssignmentsBulkInput = exports_external.object({
|
|
18040
18357
|
items: exports_external.array(PowerPathTestAssignmentItemInput)
|
|
18041
18358
|
});
|
|
18042
18359
|
var PowerPathTestAssignmentsImportInput = exports_external.object({
|
|
18043
18360
|
spreadsheetUrl: exports_external.url(),
|
|
18044
|
-
sheet:
|
|
18361
|
+
sheet: NonEmptyString6
|
|
18045
18362
|
});
|
|
18046
18363
|
var PowerPathTestAssignmentsListParams = exports_external.object({
|
|
18047
|
-
student:
|
|
18364
|
+
student: NonEmptyString6,
|
|
18048
18365
|
status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
|
|
18049
|
-
subject:
|
|
18366
|
+
subject: NonEmptyString6.optional(),
|
|
18050
18367
|
grade: TimebackGrade.optional(),
|
|
18051
18368
|
limit: exports_external.number().int().positive().max(3000).optional(),
|
|
18052
18369
|
offset: exports_external.number().int().nonnegative().optional()
|
|
18053
18370
|
});
|
|
18054
18371
|
var PowerPathTestAssignmentsAdminParams = exports_external.object({
|
|
18055
|
-
student:
|
|
18372
|
+
student: NonEmptyString6.optional(),
|
|
18056
18373
|
status: exports_external.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
|
|
18057
|
-
subject:
|
|
18374
|
+
subject: NonEmptyString6.optional(),
|
|
18058
18375
|
grade: TimebackGrade.optional(),
|
|
18059
18376
|
limit: exports_external.number().int().positive().max(3000).optional(),
|
|
18060
18377
|
offset: exports_external.number().int().nonnegative().optional()
|
|
18061
18378
|
});
|
|
18062
18379
|
var PowerPathUpdateStudentQuestionResponseInput = exports_external.object({
|
|
18063
|
-
student:
|
|
18064
|
-
question:
|
|
18065
|
-
response: exports_external.union([
|
|
18066
|
-
responses: exports_external.record(exports_external.string(), exports_external.union([
|
|
18067
|
-
lesson:
|
|
18380
|
+
student: NonEmptyString6,
|
|
18381
|
+
question: NonEmptyString6,
|
|
18382
|
+
response: exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)]).optional(),
|
|
18383
|
+
responses: exports_external.record(exports_external.string(), exports_external.union([NonEmptyString6, exports_external.array(NonEmptyString6)])).optional(),
|
|
18384
|
+
lesson: NonEmptyString6
|
|
18068
18385
|
});
|
|
18069
18386
|
var PowerPathGetAssessmentProgressParams = exports_external.object({
|
|
18070
|
-
student:
|
|
18071
|
-
lesson:
|
|
18387
|
+
student: NonEmptyString6,
|
|
18388
|
+
lesson: NonEmptyString6,
|
|
18072
18389
|
attempt: exports_external.number().int().positive().optional()
|
|
18073
18390
|
});
|
|
18074
18391
|
var PowerPathGetNextQuestionParams = exports_external.object({
|
|
18075
|
-
student:
|
|
18076
|
-
lesson:
|
|
18392
|
+
student: NonEmptyString6,
|
|
18393
|
+
lesson: NonEmptyString6
|
|
18077
18394
|
});
|
|
18078
18395
|
var PowerPathGetAttemptsParams = exports_external.object({
|
|
18079
|
-
student:
|
|
18080
|
-
lesson:
|
|
18396
|
+
student: NonEmptyString6,
|
|
18397
|
+
lesson: NonEmptyString6
|
|
18081
18398
|
});
|
|
18082
18399
|
var PowerPathTestOutParams = exports_external.object({
|
|
18083
|
-
student:
|
|
18084
|
-
lesson:
|
|
18400
|
+
student: NonEmptyString6,
|
|
18401
|
+
lesson: NonEmptyString6.optional(),
|
|
18085
18402
|
finalized: exports_external.boolean().optional(),
|
|
18086
|
-
toolProvider:
|
|
18403
|
+
toolProvider: NonEmptyString6.optional(),
|
|
18087
18404
|
attempt: exports_external.number().int().positive().optional()
|
|
18088
18405
|
});
|
|
18089
18406
|
var PowerPathImportExternalTestAssignmentResultsParams = exports_external.object({
|
|
18090
|
-
student:
|
|
18091
|
-
lesson:
|
|
18092
|
-
applicationName:
|
|
18407
|
+
student: NonEmptyString6,
|
|
18408
|
+
lesson: NonEmptyString6,
|
|
18409
|
+
applicationName: NonEmptyString6.optional()
|
|
18093
18410
|
});
|
|
18094
18411
|
var PowerPathPlacementQueryParams = exports_external.object({
|
|
18095
|
-
student:
|
|
18412
|
+
student: NonEmptyString6,
|
|
18096
18413
|
subject: TimebackSubject
|
|
18097
18414
|
});
|
|
18098
18415
|
var PowerPathSyllabusQueryParams = exports_external.object({
|
|
@@ -18183,7 +18500,7 @@ var QtiItemMetadata = exports_external.object({
|
|
|
18183
18500
|
grade: TimebackGrade.optional(),
|
|
18184
18501
|
difficulty: QtiDifficulty.optional(),
|
|
18185
18502
|
learningObjectiveSet: exports_external.array(QtiLearningObjectiveSet).optional()
|
|
18186
|
-
}).
|
|
18503
|
+
}).loose();
|
|
18187
18504
|
var QtiModalFeedback = exports_external.object({
|
|
18188
18505
|
outcomeIdentifier: exports_external.string().min(1),
|
|
18189
18506
|
identifier: exports_external.string().min(1),
|
|
@@ -18220,7 +18537,12 @@ var QtiPaginationParams = exports_external.object({
|
|
|
18220
18537
|
sort: exports_external.string().optional(),
|
|
18221
18538
|
order: exports_external.enum(["asc", "desc"]).optional()
|
|
18222
18539
|
}).strict();
|
|
18223
|
-
var
|
|
18540
|
+
var QtiAssessmentItemXmlCreateInput = exports_external.object({
|
|
18541
|
+
format: exports_external.string().pipe(exports_external.literal("xml")),
|
|
18542
|
+
xml: exports_external.string().min(1),
|
|
18543
|
+
metadata: QtiItemMetadata.optional()
|
|
18544
|
+
}).strict();
|
|
18545
|
+
var QtiAssessmentItemJsonCreateInput = exports_external.object({
|
|
18224
18546
|
identifier: exports_external.string().min(1),
|
|
18225
18547
|
title: exports_external.string().min(1),
|
|
18226
18548
|
type: QtiAssessmentItemType,
|
|
@@ -18235,6 +18557,10 @@ var QtiAssessmentItemCreateInput = exports_external.object({
|
|
|
18235
18557
|
feedbackInline: exports_external.array(QtiFeedbackInline).optional(),
|
|
18236
18558
|
feedbackBlock: exports_external.array(QtiFeedbackBlock).optional()
|
|
18237
18559
|
}).strict();
|
|
18560
|
+
var QtiAssessmentItemCreateInput = exports_external.union([
|
|
18561
|
+
QtiAssessmentItemXmlCreateInput,
|
|
18562
|
+
QtiAssessmentItemJsonCreateInput
|
|
18563
|
+
]);
|
|
18238
18564
|
var QtiAssessmentItemUpdateInput = exports_external.object({
|
|
18239
18565
|
identifier: exports_external.string().min(1).optional(),
|
|
18240
18566
|
title: exports_external.string().min(1),
|
|
@@ -18271,9 +18597,9 @@ var QtiAssessmentSection = exports_external.object({
|
|
|
18271
18597
|
}).strict();
|
|
18272
18598
|
var QtiTestPart = exports_external.object({
|
|
18273
18599
|
identifier: exports_external.string().min(1),
|
|
18274
|
-
navigationMode: QtiNavigationMode,
|
|
18275
|
-
submissionMode: QtiSubmissionMode,
|
|
18276
|
-
"qti-assessment-section": exports_external.
|
|
18600
|
+
navigationMode: exports_external.string().pipe(QtiNavigationMode),
|
|
18601
|
+
submissionMode: exports_external.string().pipe(QtiSubmissionMode),
|
|
18602
|
+
"qti-assessment-section": exports_external.array(QtiAssessmentSection)
|
|
18277
18603
|
}).strict();
|
|
18278
18604
|
var QtiReorderItemsInput = exports_external.object({
|
|
18279
18605
|
items: exports_external.array(QtiAssessmentItemRef).min(1)
|
|
@@ -18291,7 +18617,7 @@ var QtiAssessmentTestCreateInput = exports_external.object({
|
|
|
18291
18617
|
maxAttempts: exports_external.number().optional(),
|
|
18292
18618
|
toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
|
|
18293
18619
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
18294
|
-
"qti-test-part": QtiTestPart,
|
|
18620
|
+
"qti-test-part": exports_external.array(QtiTestPart),
|
|
18295
18621
|
"qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
|
|
18296
18622
|
}).strict();
|
|
18297
18623
|
var QtiAssessmentTestUpdateInput = exports_external.object({
|
|
@@ -18304,7 +18630,7 @@ var QtiAssessmentTestUpdateInput = exports_external.object({
|
|
|
18304
18630
|
maxAttempts: exports_external.number().optional(),
|
|
18305
18631
|
toolsEnabled: exports_external.record(exports_external.string(), exports_external.boolean()).optional(),
|
|
18306
18632
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
|
|
18307
|
-
"qti-test-part": QtiTestPart,
|
|
18633
|
+
"qti-test-part": exports_external.array(QtiTestPart),
|
|
18308
18634
|
"qti-outcome-declaration": exports_external.array(QtiTestOutcomeDeclaration).optional()
|
|
18309
18635
|
}).strict();
|
|
18310
18636
|
var QtiStimulusCreateInput = exports_external.object({
|
|
@@ -18797,10 +19123,10 @@ class Spinner {
|
|
|
18797
19123
|
}
|
|
18798
19124
|
}
|
|
18799
19125
|
// ../internal/utils/src/server/runtime.ts
|
|
18800
|
-
import { join as
|
|
19126
|
+
import { join as join3 } from "node:path";
|
|
18801
19127
|
var STANDALONE_PATHS = [
|
|
18802
|
-
|
|
18803
|
-
|
|
19128
|
+
join3(".timeback", "bin"),
|
|
19129
|
+
join3(".local", "bin"),
|
|
18804
19130
|
"/usr/local/bin/timeback",
|
|
18805
19131
|
"/opt/homebrew/bin/timeback"
|
|
18806
19132
|
];
|
|
@@ -23259,7 +23585,7 @@ class EnrollmentService {
|
|
|
23259
23585
|
sourcedId: userId,
|
|
23260
23586
|
role: "student"
|
|
23261
23587
|
});
|
|
23262
|
-
log2.
|
|
23588
|
+
log2.debug("Student enrolled", {
|
|
23263
23589
|
classId,
|
|
23264
23590
|
userId,
|
|
23265
23591
|
enrollmentId: result.sourcedIdPairs?.allocatedSourcedId
|
|
@@ -23609,11 +23935,15 @@ class StatusService {
|
|
|
23609
23935
|
getSavedCredentials("staging"),
|
|
23610
23936
|
getSavedCredentials("production")
|
|
23611
23937
|
]);
|
|
23938
|
+
const defaultCreds = this.ctx.defaultEnvironment === "staging" ? stagingCreds : this.ctx.defaultEnvironment === "production" ? productionCreds : null;
|
|
23939
|
+
const clientId = defaultCreds?.clientId ?? stagingCreds?.clientId ?? productionCreds?.clientId ?? this.ctx.credentials.staging?.clientId ?? this.ctx.credentials.production?.clientId;
|
|
23612
23940
|
return {
|
|
23613
23941
|
config: this.ctx.userConfig,
|
|
23614
23942
|
environment: this.ctx.defaultEnvironment,
|
|
23615
23943
|
configuredEnvironments,
|
|
23616
|
-
hasEmail: !!stagingCreds?.email || !!productionCreds?.email
|
|
23944
|
+
hasEmail: !!stagingCreds?.email || !!productionCreds?.email,
|
|
23945
|
+
clientId,
|
|
23946
|
+
sensors: this.ctx.derivedSensors
|
|
23617
23947
|
};
|
|
23618
23948
|
}
|
|
23619
23949
|
}
|