@playcademy/sandbox 0.7.1-beta.8 → 0.7.1-beta.9

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/server.js CHANGED
@@ -293,7 +293,7 @@ var init_timeback2 = __esm(() => {
293
293
  "Math",
294
294
  "None"
295
295
  ];
296
- ASSESSMENT_PURPOSES = ["end_of_course", "diagnostic", "review"];
296
+ ASSESSMENT_PURPOSES = ["end_of_course", "diagnostic", "review", "mastery"];
297
297
  TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS = {
298
298
  standards: 20,
299
299
  itemsPerStandard: 5,
@@ -1122,7 +1122,7 @@ var package_default;
1122
1122
  var init_package = __esm(() => {
1123
1123
  package_default = {
1124
1124
  name: "@playcademy/sandbox",
1125
- version: "0.7.1-beta.8",
1125
+ version: "0.7.1-beta.9",
1126
1126
  description: "Local development server for Playcademy game development",
1127
1127
  type: "module",
1128
1128
  exports: {
@@ -10135,6 +10135,26 @@ function assessmentItemEarnedScore(interactionPoints, maxScore) {
10135
10135
  const earned = interactionPoints.reduce((sum, points) => sum + Math.max(0, points), 0);
10136
10136
  return Math.min(earned, maxScore);
10137
10137
  }
10138
+ function normalizeMasteryStandard(input) {
10139
+ const standard = canonicalReviewStandardRef(input);
10140
+ if (!standard) {
10141
+ throw new Error("Mastery quizzes require a canonical framework and identifier");
10142
+ }
10143
+ return standard;
10144
+ }
10145
+ function masteryRequestFingerprint(input) {
10146
+ return JSON.stringify({
10147
+ kind: "standard-quiz",
10148
+ standardKey: assessmentStandardRefKey(normalizeMasteryStandard(input.standard))
10149
+ });
10150
+ }
10151
+ function masteryStandardMatcher(requested) {
10152
+ const requestedKey = assessmentStandardRefKey(normalizeMasteryStandard(requested));
10153
+ return (authored) => {
10154
+ const canonicalAuthored = authored ? canonicalReviewStandardRef(authored) : null;
10155
+ return canonicalAuthored !== null && assessmentStandardRefKey(canonicalAuthored) === requestedKey;
10156
+ };
10157
+ }
10138
10158
  function isAssessmentScore(value) {
10139
10159
  return isRecord(value) && typeof value.earned === "number" && Number.isFinite(value.earned) && typeof value.possible === "number" && Number.isFinite(value.possible) && value.possible >= 0 && typeof value.normalized === "number" && value.normalized >= 0 && value.normalized <= 1;
10140
10160
  }
@@ -10154,14 +10174,18 @@ function isReviewItemOutcome(value) {
10154
10174
  function isReviewAttemptMetadata(value) {
10155
10175
  return isRecord(value) && typeof value.requestFingerprint === "string" && typeof value.bankRevision === "string" && Array.isArray(value.standards) && value.standards.every(isAssessmentStandardRef) && Number.isInteger(value.itemsPerStandard) && Array.isArray(value.selections) && value.selections.every((selection) => isRecord(selection) && isAssessmentStandardRef(selection.standard) && typeof selection.itemIdentifier === "string") && isReviewFulfillment(value.fulfillment);
10156
10176
  }
10177
+ function isMasteryAttemptMetadata(value) {
10178
+ return isRecord(value) && typeof value.requestFingerprint === "string" && isAssessmentStandardRef(value.standard);
10179
+ }
10157
10180
  function isPlaycademyAssessmentResultMetadataV1(value) {
10158
10181
  if (!isRecord(value)) {
10159
10182
  return false;
10160
10183
  }
10161
10184
  const metadata2 = value;
10162
10185
  const selectedTest = metadata2.selectedTest;
10186
+ const mastery = metadata2.mastery;
10163
10187
  const review = metadata2.review;
10164
- return metadata2.version === 1 && typeof metadata2.activityId === "string" && isAssessmentPurpose(metadata2.purpose) && typeof metadata2.courseId === "string" && typeof metadata2.integrationId === "string" && typeof metadata2.enrollmentId === "string" && Boolean(selectedTest) && typeof selectedTest?.identifier === "string" && typeof selectedTest.contentRevision === "string" && Number.isInteger(metadata2.attemptNumber) && Number.isInteger(metadata2.responseVersion) && Boolean(metadata2.responses) && typeof metadata2.responses === "object" && typeof metadata2.startedAt === "string" && typeof metadata2.updatedAt === "string" && (metadata2.purpose === "review" ? isReviewAttemptMetadata(review) : review === undefined) && (metadata2.submissionId === undefined || typeof metadata2.submissionId === "string") && (metadata2.score === undefined || isAssessmentScore(metadata2.score)) && (metadata2.completion === undefined || isRecord(metadata2.completion) && typeof metadata2.completion.testName === "string" && Number.isInteger(metadata2.completion.correctQuestions) && (metadata2.completion.totalQuestions === undefined || Number.isInteger(metadata2.completion.totalQuestions) && metadata2.completion.totalQuestions >= 0) && (metadata2.completion.itemOutcomes === undefined || metadata2.purpose === "review" && Array.isArray(metadata2.completion.itemOutcomes) && metadata2.completion.itemOutcomes.every(isReviewItemOutcome)));
10188
+ return metadata2.version === 1 && typeof metadata2.activityId === "string" && isAssessmentPurpose(metadata2.purpose) && typeof metadata2.courseId === "string" && typeof metadata2.integrationId === "string" && typeof metadata2.enrollmentId === "string" && Boolean(selectedTest) && typeof selectedTest?.identifier === "string" && typeof selectedTest.contentRevision === "string" && Number.isInteger(metadata2.attemptNumber) && Number.isInteger(metadata2.responseVersion) && Boolean(metadata2.responses) && typeof metadata2.responses === "object" && typeof metadata2.startedAt === "string" && typeof metadata2.updatedAt === "string" && (metadata2.purpose === "mastery" ? isMasteryAttemptMetadata(mastery) : mastery === undefined) && (metadata2.purpose === "review" ? isReviewAttemptMetadata(review) : review === undefined) && (metadata2.submissionId === undefined || typeof metadata2.submissionId === "string") && (metadata2.score === undefined || isAssessmentScore(metadata2.score)) && (metadata2.completion === undefined || isRecord(metadata2.completion) && typeof metadata2.completion.testName === "string" && Number.isInteger(metadata2.completion.correctQuestions) && (metadata2.completion.totalQuestions === undefined || Number.isInteger(metadata2.completion.totalQuestions) && metadata2.completion.totalQuestions >= 0) && (metadata2.completion.itemOutcomes === undefined || metadata2.purpose === "review" && Array.isArray(metadata2.completion.itemOutcomes) && metadata2.completion.itemOutcomes.every(isReviewItemOutcome)));
10165
10189
  }
10166
10190
  function isPlaycademyAssessmentItemResultMetadataV1(value) {
10167
10191
  if (!isRecord(value) || !isRecord(value.responses)) {
@@ -10204,7 +10228,7 @@ function playcademyAssessmentItemResultMetadata(value) {
10204
10228
  const normalized = metadata2.responses === undefined ? { ...metadata2, responses: {} } : metadata2;
10205
10229
  return isPlaycademyAssessmentItemResultMetadataV1(normalized) ? normalized : null;
10206
10230
  }
10207
- var SCRIPT_SCHEMES, DATA_RASTER_IMAGE_PATTERN, QTI_MATHML_ALLOWED_TAGS, metadataSymbol, parser, SUPPORTED_QTI_INTERACTION_TYPES, URL_ATTRIBUTES, IMAGE_URL_ATTRIBUTES, INTERACTION_TYPES, EMPHASIS_TAGS, STRONG_TAGS, CONTENT_SKIPPED_TAGS, BLOCK_CONTENT_KINDS, GAP_MATCH_TOKEN_TAGS, STAGE_GRAPHIC_EXCLUDED_CONTAINERS, BLANK_SENTINEL = "￿", MARKED_BLANK_PATTERN, MARKED_BLANK_GLOBAL_PATTERN, MATCH_CORRECT_TEMPLATE = "http://www.imsglobal.org/question/qti_v3p0/rptemplates/match_correct", MAP_RESPONSE_TEMPLATE = "https://purl.imsglobal.org/spec/qti/v3p0/rptemplates/map_response", MAP_RESPONSE_TEMPLATES, RESPONSE_PROCESSING_TEMPLATES, VOID_BODY_ELEMENTS, URL_ATTRIBUTES2, IMAGE_URL_ATTRIBUTES2, VOID_CHOICE_ELEMENTS, NUMERIC_COMPARISON_ATTRIBUTES, RESPONSE_CARDINALITIES, RESPONSE_BASE_TYPES, POINT_INTERACTION_TYPES, INDEPENDENT_PROCESSING_TAGS, UUID_PATTERN, COMMON_CORE_MATH_FRAMEWORK_ALIASES, COMMON_CORE_ELA_FRAMEWORK_ALIASES, COMMON_CORE_FRAMEWORK_ALIASES, ASSESSMENT_ATTEMPT_OPEN, ASSESSMENT_ATTEMPT_COMPLETED, ASSESSMENT_RUNTIME_ERROR_STATUS, GRADE_VALUES, POINT_RESPONSE_PATTERN, REVIEW_SELECTION_POLICY_VERSION = "unseen-first-least-recently-delivered-v1", DEFAULT_REVIEW_SELECTION_POLICY, RuntimeSubjectSchema, RuntimeGradeSchema, OptionalQueryGradeSchema, AssessmentResponseValueSchema, AssessmentRuntimeIdentitySchema, LatestAssessmentFiltersSchema, LatestRuntimeAssessmentQuerySchema, ResponseKeySchema, StartAssessmentBaseSchema, AssessmentStandardRefSchema, StartAssessmentBodySchema, SaveAssessmentBodySchema, SubmitAssessmentBodySchema, StartRuntimeAssessmentRequestSchema, SaveRuntimeAssessmentRequestSchema, SubmitRuntimeAssessmentRequestSchema;
10231
+ var SCRIPT_SCHEMES, DATA_RASTER_IMAGE_PATTERN, QTI_MATHML_ALLOWED_TAGS, metadataSymbol, parser, SUPPORTED_QTI_INTERACTION_TYPES, URL_ATTRIBUTES, IMAGE_URL_ATTRIBUTES, INTERACTION_TYPES, EMPHASIS_TAGS, STRONG_TAGS, CONTENT_SKIPPED_TAGS, BLOCK_CONTENT_KINDS, GAP_MATCH_TOKEN_TAGS, STAGE_GRAPHIC_EXCLUDED_CONTAINERS, BLANK_SENTINEL = "￿", MARKED_BLANK_PATTERN, MARKED_BLANK_GLOBAL_PATTERN, MATCH_CORRECT_TEMPLATE = "http://www.imsglobal.org/question/qti_v3p0/rptemplates/match_correct", MAP_RESPONSE_TEMPLATE = "https://purl.imsglobal.org/spec/qti/v3p0/rptemplates/map_response", MAP_RESPONSE_TEMPLATES, RESPONSE_PROCESSING_TEMPLATES, VOID_BODY_ELEMENTS, URL_ATTRIBUTES2, IMAGE_URL_ATTRIBUTES2, VOID_CHOICE_ELEMENTS, NUMERIC_COMPARISON_ATTRIBUTES, RESPONSE_CARDINALITIES, RESPONSE_BASE_TYPES, POINT_INTERACTION_TYPES, INDEPENDENT_PROCESSING_TAGS, UUID_PATTERN, COMMON_CORE_MATH_FRAMEWORK_ALIASES, COMMON_CORE_ELA_FRAMEWORK_ALIASES, COMMON_CORE_FRAMEWORK_ALIASES, ASSESSMENT_ATTEMPT_OPEN, ASSESSMENT_ATTEMPT_COMPLETED, ASSESSMENT_RUNTIME_ERROR_STATUS, GRADE_VALUES, POINT_RESPONSE_PATTERN, REVIEW_SELECTION_POLICY_VERSION = "unseen-first-least-recently-delivered-v1", DEFAULT_REVIEW_SELECTION_POLICY, RuntimeSubjectSchema, RuntimeGradeSchema, OptionalQueryGradeSchema, AssessmentResponseValueSchema, AssessmentRuntimeIdentitySchema, ResponseKeySchema, StartAssessmentBaseSchema, AssessmentStandardRefSchema, LatestAssessmentFilterBaseSchema, LatestAssessmentFiltersSchema, LatestRuntimeAssessmentQuerySchema, StartAssessmentBodySchema, SaveAssessmentBodySchema, SubmitAssessmentBodySchema, StartRuntimeAssessmentRequestSchema, SaveRuntimeAssessmentRequestSchema, SubmitRuntimeAssessmentRequestSchema;
10208
10232
  var init_assessment_runtime = __esm(() => {
10209
10233
  init_timeback3();
10210
10234
  init_timeback3();
@@ -10416,12 +10440,6 @@ var init_assessment_runtime = __esm(() => {
10416
10440
  gameId: exports_external.string().uuid(),
10417
10441
  studentId: exports_external.string().trim().min(1)
10418
10442
  });
10419
- LatestAssessmentFiltersSchema = exports_external.object({
10420
- purpose: exports_external.enum(ASSESSMENT_PURPOSES),
10421
- subject: RuntimeSubjectSchema.optional(),
10422
- grade: OptionalQueryGradeSchema
10423
- });
10424
- LatestRuntimeAssessmentQuerySchema = AssessmentRuntimeIdentitySchema.extend(LatestAssessmentFiltersSchema.shape);
10425
10443
  ResponseKeySchema = exports_external.string().refine((key) => key.length > 0 && key.trim() === key, {
10426
10444
  message: "Response keys must be non-empty without surrounding whitespace"
10427
10445
  });
@@ -10436,7 +10454,21 @@ var init_assessment_runtime = __esm(() => {
10436
10454
  }).refine((standard) => {
10437
10455
  const canonical = canonicalAssessmentStandardRef(standard);
10438
10456
  return canonical.framework.length > 0 && canonical.identifier.length > 0;
10439
- }, { message: "Review standards require a canonical framework and identifier" });
10457
+ }, { message: "Assessment standards require a canonical framework and identifier" });
10458
+ LatestAssessmentFilterBaseSchema = exports_external.object({
10459
+ subject: RuntimeSubjectSchema.optional(),
10460
+ grade: OptionalQueryGradeSchema
10461
+ });
10462
+ LatestAssessmentFiltersSchema = exports_external.discriminatedUnion("purpose", [
10463
+ LatestAssessmentFilterBaseSchema.extend({
10464
+ purpose: exports_external.enum(["end_of_course", "diagnostic", "review"])
10465
+ }),
10466
+ LatestAssessmentFilterBaseSchema.extend({
10467
+ purpose: exports_external.literal("mastery"),
10468
+ standard: AssessmentStandardRefSchema
10469
+ })
10470
+ ]);
10471
+ LatestRuntimeAssessmentQuerySchema = exports_external.intersection(AssessmentRuntimeIdentitySchema, LatestAssessmentFiltersSchema);
10440
10472
  StartAssessmentBodySchema = exports_external.discriminatedUnion("purpose", [
10441
10473
  StartAssessmentBaseSchema.extend({
10442
10474
  purpose: exports_external.enum(["end_of_course", "diagnostic"])
@@ -10445,6 +10477,10 @@ var init_assessment_runtime = __esm(() => {
10445
10477
  purpose: exports_external.literal("review"),
10446
10478
  standards: exports_external.array(AssessmentStandardRefSchema).min(1).max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.standards),
10447
10479
  itemsPerStandard: exports_external.number().int().positive().max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.itemsPerStandard).optional()
10480
+ }),
10481
+ StartAssessmentBaseSchema.extend({
10482
+ purpose: exports_external.literal("mastery"),
10483
+ standard: AssessmentStandardRefSchema
10448
10484
  })
10449
10485
  ]);
10450
10486
  SaveAssessmentBodySchema = exports_external.object({
@@ -14282,7 +14318,34 @@ var init_drizzle_orm = __esm(() => {
14282
14318
  var init_alias2 = () => {};
14283
14319
 
14284
14320
  // ../../node_modules/.bun/drizzle-orm@0.42.0+6017126bf8b58398/node_modules/drizzle-orm/pg-core/checks.js
14285
- var init_checks = () => {};
14321
+ function check(name2, value) {
14322
+ return new CheckBuilder(name2, value);
14323
+ }
14324
+ var CheckBuilder, Check;
14325
+ var init_checks = __esm(() => {
14326
+ init_entity();
14327
+ CheckBuilder = class CheckBuilder {
14328
+ constructor(name2, value) {
14329
+ this.name = name2;
14330
+ this.value = value;
14331
+ }
14332
+ static [entityKind] = "PgCheckBuilder";
14333
+ brand;
14334
+ build(table2) {
14335
+ return new Check(table2, this);
14336
+ }
14337
+ };
14338
+ Check = class Check {
14339
+ constructor(table2, builder) {
14340
+ this.table = table2;
14341
+ this.name = builder.name;
14342
+ this.value = builder.value;
14343
+ }
14344
+ static [entityKind] = "PgCheck";
14345
+ name;
14346
+ value;
14347
+ };
14348
+ });
14286
14349
 
14287
14350
  // ../../node_modules/.bun/drizzle-orm@0.42.0+6017126bf8b58398/node_modules/drizzle-orm/pg-core/columns/index.js
14288
14351
  var init_columns = __esm(() => {
@@ -16744,11 +16807,22 @@ var init_table7 = __esm(() => {
16744
16807
  purpose: gameTimebackAssessmentPurposeEnum("purpose").notNull().default("end_of_course"),
16745
16808
  status: gameTimebackAssessmentStatusEnum("status").notNull().default("draft"),
16746
16809
  sortOrder: integer("sort_order"),
16810
+ standardFramework: text("standard_framework"),
16811
+ standardIdentifier: text("standard_identifier"),
16747
16812
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
16748
16813
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
16749
16814
  }, (table3) => [
16750
16815
  uniqueIndex("game_timeback_assessment_tests_integration_qti_idx").on(table3.integrationId, table3.qtiTestIdentifier),
16751
- uniqueIndex("game_timeback_assessment_tests_one_live_review_idx").on(table3.integrationId).where(sql`${table3.purpose} = 'review' AND ${table3.status} = 'live'`)
16816
+ uniqueIndex("game_timeback_assessment_tests_one_live_review_idx").on(table3.integrationId).where(sql`${table3.purpose} = 'review' AND ${table3.status} = 'live'`),
16817
+ check("game_timeback_assessment_tests_mastery_standard_check", sql`(
16818
+ (${table3.purpose}::text = 'mastery'
16819
+ AND NULLIF(BTRIM(${table3.standardFramework}), '') IS NOT NULL
16820
+ AND NULLIF(BTRIM(${table3.standardIdentifier}), '') IS NOT NULL)
16821
+ OR
16822
+ (${table3.purpose}::text <> 'mastery'
16823
+ AND ${table3.standardFramework} IS NULL
16824
+ AND ${table3.standardIdentifier} IS NULL)
16825
+ )`)
16752
16826
  ]);
16753
16827
  gameTimebackMetricDiscrepancyVerifications = pgTable("game_timeback_metric_discrepancy_verifications", {
16754
16828
  id: uuid("id").primaryKey().defaultRandom(),
@@ -39350,7 +39424,16 @@ function isValidAdminAttributionDate(value) {
39350
39424
  const date3 = new Date(Date.UTC(year, month - 1, day, 12, 0, 0));
39351
39425
  return date3.getUTCFullYear() === year && date3.getUTCMonth() + 1 === month && date3.getUTCDate() === day;
39352
39426
  }
39353
- var TimebackGradeSchema, TimebackSubjectSchema, CourseGoalsSchema, UpdateGameTimebackIntegrationRequestSchema, CreateGameTimebackIntegrationRequestSchema, TimebackActivityDataSchema, EndActivityRequestSchema, GameRunMetricsSchema, GameCourseMetricsSchema, GameMetricsResponseSchema, AdvanceCourseRequestSchema, UnenrollCourseRequestSchema, HeartbeatRequestSchema, PopulateStudentRequestSchema, DerivedPlatformCourseConfigSchema, TimebackBaseConfigSchema, PlatformTimebackSetupRequestSchema, AdminTimebackMutationBaseSchema, AdminAttributionDateSchema, ADMIN_GRANT_XP_MIN = -1e5, ADMIN_GRANT_XP_MAX = 1e5, ADMIN_GRANT_XP_AMOUNT_RANGE_MESSAGE, GrantTimebackXpRequestSchema, AdjustTimebackTimeRequestSchema, AdjustTimebackMasteryRequestSchema, ReconcileMasteryForConfigChangeSchema, EnrollStudentRequestSchema, UnenrollStudentRequestSchema, ReactivateEnrollmentRequestSchema, VerifyTimebackMetricDiscrepancyRequestSchema, AssessmentPurposeSchema, AssessmentStatusSchema, CreateAssessmentRequestSchema, UpdateAssessmentRequestSchema, CopyAssessmentRequestSchema, ReorderAssessmentsRequestSchema, ReorderQuestionsRequestSchema;
39427
+ function requireMasteryStandard(input, context2) {
39428
+ if (input.purpose === "mastery" && input.standard === undefined) {
39429
+ context2.addIssue({
39430
+ code: "custom",
39431
+ path: ["standard"],
39432
+ message: "Mastery assessments require a standard"
39433
+ });
39434
+ }
39435
+ }
39436
+ var TimebackGradeSchema, TimebackSubjectSchema, CourseGoalsSchema, UpdateGameTimebackIntegrationRequestSchema, CreateGameTimebackIntegrationRequestSchema, TimebackActivityDataSchema, EndActivityRequestSchema, GameRunMetricsSchema, GameCourseMetricsSchema, GameMetricsResponseSchema, AdvanceCourseRequestSchema, UnenrollCourseRequestSchema, HeartbeatRequestSchema, PopulateStudentRequestSchema, DerivedPlatformCourseConfigSchema, TimebackBaseConfigSchema, PlatformTimebackSetupRequestSchema, AdminTimebackMutationBaseSchema, AdminAttributionDateSchema, ADMIN_GRANT_XP_MIN = -1e5, ADMIN_GRANT_XP_MAX = 1e5, ADMIN_GRANT_XP_AMOUNT_RANGE_MESSAGE, GrantTimebackXpRequestSchema, AdjustTimebackTimeRequestSchema, AdjustTimebackMasteryRequestSchema, ReconcileMasteryForConfigChangeSchema, EnrollStudentRequestSchema, UnenrollStudentRequestSchema, ReactivateEnrollmentRequestSchema, VerifyTimebackMetricDiscrepancyRequestSchema, AssessmentPurposeSchema, AssessmentStatusSchema, AssessmentStandardRefSchema2, CreateAssessmentRequestSchema, UpdateAssessmentRequestSchema, CopyAssessmentRequestSchema, ReorderAssessmentsRequestSchema, ReorderQuestionsRequestSchema;
39354
39437
  var init_schemas4 = __esm(() => {
39355
39438
  init_esm();
39356
39439
  init_src();
@@ -39595,21 +39678,28 @@ var init_schemas4 = __esm(() => {
39595
39678
  });
39596
39679
  AssessmentPurposeSchema = exports_external.enum(gameTimebackAssessmentPurposeEnum.enumValues);
39597
39680
  AssessmentStatusSchema = exports_external.enum(gameTimebackAssessmentStatusEnum.enumValues);
39681
+ AssessmentStandardRefSchema2 = exports_external.object({
39682
+ framework: exports_external.string().trim().min(1).max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.standardFieldLength),
39683
+ identifier: exports_external.string().trim().min(1).max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.standardFieldLength)
39684
+ });
39598
39685
  CreateAssessmentRequestSchema = exports_external.object({
39599
39686
  title: exports_external.string().min(1, "Assessment title is required"),
39600
- purpose: AssessmentPurposeSchema
39601
- });
39687
+ purpose: AssessmentPurposeSchema,
39688
+ standard: AssessmentStandardRefSchema2.optional()
39689
+ }).superRefine(requireMasteryStandard);
39602
39690
  UpdateAssessmentRequestSchema = exports_external.object({
39603
39691
  title: exports_external.string().trim().min(1, "Assessment title is required").optional(),
39604
39692
  purpose: AssessmentPurposeSchema.optional(),
39693
+ standard: AssessmentStandardRefSchema2.optional(),
39605
39694
  status: AssessmentStatusSchema.optional()
39606
- }).refine((input) => input.title !== undefined || input.purpose !== undefined || input.status !== undefined, {
39607
- message: "Title, purpose, or status is required"
39695
+ }).refine((input) => input.title !== undefined || input.purpose !== undefined || input.standard !== undefined || input.status !== undefined, {
39696
+ message: "Title, purpose, standard, or status is required"
39608
39697
  });
39609
39698
  CopyAssessmentRequestSchema = exports_external.object({
39610
39699
  testIdentifier: exports_external.string().trim().min(1, "Assessment identifier is required"),
39611
- purpose: AssessmentPurposeSchema
39612
- });
39700
+ purpose: AssessmentPurposeSchema,
39701
+ standard: AssessmentStandardRefSchema2.optional()
39702
+ }).superRefine(requireMasteryStandard);
39613
39703
  ReorderAssessmentsRequestSchema = exports_external.object({
39614
39704
  purpose: AssessmentPurposeSchema,
39615
39705
  testIdentifiers: exports_external.array(exports_external.string().trim().min(1, "Assessment identifier is required")).min(1, "At least one assessment is required")
@@ -51806,7 +51896,7 @@ function promise(innerType) {
51806
51896
  innerType
51807
51897
  });
51808
51898
  }
51809
- function check(fn, params) {
51899
+ function check2(fn, params) {
51810
51900
  const ch = new $ZodCheck({
51811
51901
  check: "custom",
51812
51902
  ...exports_util.normalizeParams(params)
@@ -51821,7 +51911,7 @@ function refine(fn, _params = {}) {
51821
51911
  return _refine(ZodCustom, fn, _params);
51822
51912
  }
51823
51913
  function superRefine(fn, params) {
51824
- const ch = check((payload) => {
51914
+ const ch = check2((payload) => {
51825
51915
  payload.addIssue = (issue3) => {
51826
51916
  if (typeof issue3 === "string") {
51827
51917
  payload.issues.push(exports_util.issue(issue3, payload.value, ch._zod.def));
@@ -51897,7 +51987,7 @@ var init_schemas6 = __esm(() => {
51897
51987
  inst.parseAsync = async (data, params) => parseAsync2(inst, data, params, { callee: inst.parseAsync });
51898
51988
  inst.safeParseAsync = async (data, params) => safeParseAsync2(inst, data, params);
51899
51989
  inst.spa = inst.safeParseAsync;
51900
- inst.refine = (check, params) => inst.check(refine(check, params));
51990
+ inst.refine = (check2, params) => inst.check(refine(check2, params));
51901
51991
  inst.superRefine = (refinement) => inst.check(superRefine(refinement));
51902
51992
  inst.overwrite = (fn) => inst.check(_overwrite(fn));
51903
51993
  inst.optional = () => optional(inst);
@@ -52577,7 +52667,7 @@ __export(exports_external2, {
52577
52667
  clone: () => clone,
52578
52668
  cidrv6: () => cidrv62,
52579
52669
  cidrv4: () => cidrv42,
52580
- check: () => check,
52670
+ check: () => check2,
52581
52671
  catch: () => _catch2,
52582
52672
  boolean: () => boolean4,
52583
52673
  bigint: () => bigint4,
@@ -73541,7 +73631,7 @@ __export(exports_schemas4, {
73541
73631
  codec: () => codec,
73542
73632
  cidrv6: () => cidrv64,
73543
73633
  cidrv4: () => cidrv44,
73544
- check: () => check2,
73634
+ check: () => check3,
73545
73635
  catch: () => _catch4,
73546
73636
  boolean: () => boolean7,
73547
73637
  bigint: () => bigint7,
@@ -74081,7 +74171,7 @@ function _function2(params) {
74081
74171
  output: params?.output ?? unknown2()
74082
74172
  });
74083
74173
  }
74084
- function check2(fn) {
74174
+ function check3(fn) {
74085
74175
  const ch = new $ZodCheck2({
74086
74176
  check: "custom"
74087
74177
  });
@@ -74194,8 +74284,8 @@ var init_schemas8 = __esm(() => {
74194
74284
  reg.add(this, meta2);
74195
74285
  return this;
74196
74286
  },
74197
- refine(check2, params) {
74198
- return this.check(refine2(check2, params));
74287
+ refine(check3, params) {
74288
+ return this.check(refine2(check3, params));
74199
74289
  },
74200
74290
  superRefine(refinement, params) {
74201
74291
  return this.check(superRefine2(refinement, params));
@@ -75598,7 +75688,7 @@ __export(exports_external3, {
75598
75688
  clone: () => clone2,
75599
75689
  cidrv6: () => cidrv64,
75600
75690
  cidrv4: () => cidrv44,
75601
- check: () => check2,
75691
+ check: () => check3,
75602
75692
  catch: () => _catch4,
75603
75693
  boolean: () => boolean7,
75604
75694
  bigint: () => bigint7,
@@ -83011,6 +83101,9 @@ function assessmentPurposeClassificationFields(purpose, input) {
83011
83101
  case "review": {
83012
83102
  return {};
83013
83103
  }
83104
+ case "mastery": {
83105
+ return {};
83106
+ }
83014
83107
  }
83015
83108
  }
83016
83109
  function buildAssessmentCompletionMetadata(input) {
@@ -85148,6 +85241,9 @@ function assessmentPurposeClassificationFields2(purpose, input) {
85148
85241
  case "review": {
85149
85242
  return {};
85150
85243
  }
85244
+ case "mastery": {
85245
+ return {};
85246
+ }
85151
85247
  }
85152
85248
  }
85153
85249
  function deriveSourcedIds2(courseId) {
@@ -90445,6 +90541,105 @@ var init_timeback_admin_service = __esm(async () => {
90445
90541
  init_timeback_mastery_completion_util()
90446
90542
  ]);
90447
90543
  });
90544
+
90545
+ // ../api-core/src/utils/timeback-assessment-rules.util.ts
90546
+ function validateAssessmentStatusTransition(current, next) {
90547
+ if (current === next) {
90548
+ return;
90549
+ }
90550
+ const allowed = current === "draft" && next === "live" || current === "live" && next === "archived" || current === "archived" && next === "live";
90551
+ if (!allowed) {
90552
+ throw new ValidationError(`Assessment status cannot change from ${current} to ${next}`);
90553
+ }
90554
+ }
90555
+ function isAssessmentPublicationTransition(current, next) {
90556
+ return current !== "live" && next === "live";
90557
+ }
90558
+ function assertDraftAssessment(row) {
90559
+ if (row.status !== "draft") {
90560
+ throw new ValidationError("Only draft assessments can change QTI content or question membership");
90561
+ }
90562
+ }
90563
+ function assertMasteryPurposeChangeDraft(row, nextPurpose) {
90564
+ if (row.purpose !== nextPurpose && (row.purpose === "mastery" || nextPurpose === "mastery") && row.status !== "draft") {
90565
+ throw new ValidationError("Only draft assessments can change to or from mastery");
90566
+ }
90567
+ }
90568
+ function assertAllAssessmentAssociationsDraft(rows) {
90569
+ if (rows.some((row) => row.status !== "draft")) {
90570
+ throw new ValidationError("QTI content cannot change while any associated assessment is live or archived");
90571
+ }
90572
+ }
90573
+ function assertAssessmentHasQuestions(questions) {
90574
+ if (questions.length === 0) {
90575
+ throw new ValidationError("An assessment must contain at least one question to publish");
90576
+ }
90577
+ }
90578
+ function assertReviewAssessmentHasStandards(standardCounts) {
90579
+ if (standardCounts.some((count) => count <= 0)) {
90580
+ throw new ValidationError("Every question in a review assessment must have a standards alignment");
90581
+ }
90582
+ }
90583
+ function planAssessmentRemoval(status) {
90584
+ if (status === "draft") {
90585
+ return { kind: "delete", action: "discarded", operation: "discard_draft" };
90586
+ }
90587
+ if (status === "live") {
90588
+ return { kind: "archive", action: "archived", operation: "archive" };
90589
+ }
90590
+ return { kind: "none", action: "archived" };
90591
+ }
90592
+ function buildAssessmentAssociationUpdates(row, input) {
90593
+ const updates = {};
90594
+ if (input.purpose !== undefined) {
90595
+ updates.purpose = input.purpose;
90596
+ if (input.purpose !== "mastery" && (row.purpose === "mastery" || row.standardFramework || row.standardIdentifier)) {
90597
+ updates.standardFramework = null;
90598
+ updates.standardIdentifier = null;
90599
+ }
90600
+ if (row.status === "live" && input.purpose !== row.purpose) {
90601
+ updates.sortOrder = null;
90602
+ }
90603
+ }
90604
+ if (input.standard !== undefined) {
90605
+ updates.standardFramework = input.standard.framework;
90606
+ updates.standardIdentifier = input.standard.identifier;
90607
+ }
90608
+ if (input.status !== undefined) {
90609
+ updates.status = input.status;
90610
+ if (input.status === "archived") {
90611
+ updates.sortOrder = null;
90612
+ }
90613
+ }
90614
+ return updates;
90615
+ }
90616
+ function assessmentStandardForRow(row) {
90617
+ return row.standardFramework && row.standardIdentifier ? { framework: row.standardFramework, identifier: row.standardIdentifier } : null;
90618
+ }
90619
+ function validateUniqueAssessmentIdentifiers(testIdentifiers) {
90620
+ if (new Set(testIdentifiers).size !== testIdentifiers.length) {
90621
+ throw new ValidationError("Assessment order must contain unique identifiers");
90622
+ }
90623
+ }
90624
+ function assertAssessmentOrderUpdateSucceeded(updatedRow) {
90625
+ if (!updatedRow) {
90626
+ throw new ValidationError("Assessment order changed while it was being saved. Refresh and try again.");
90627
+ }
90628
+ return updatedRow;
90629
+ }
90630
+ function lockOrderAssessmentRows(rows) {
90631
+ return rows.toSorted((left, right) => left.id.localeCompare(right.id));
90632
+ }
90633
+ function orderLiveAssessmentRows(liveRows, purpose, testIdentifiers) {
90634
+ const rowsByIdentifier = new Map(liveRows.map((row) => [row.qtiTestIdentifier, row]));
90635
+ if (liveRows.length !== testIdentifiers.length || testIdentifiers.some((identifier) => !rowsByIdentifier.has(identifier))) {
90636
+ throw new ValidationError(`Assessment order must include every live ${purpose} assessment exactly once`);
90637
+ }
90638
+ return testIdentifiers.map((identifier) => rowsByIdentifier.get(identifier));
90639
+ }
90640
+ var init_timeback_assessment_rules_util = __esm(() => {
90641
+ init_errors2();
90642
+ });
90448
90643
  // ../types/src/timeback/assessment-runtime.ts
90449
90644
  var PLAYABLE_ASSESSMENT_SHAPES;
90450
90645
  var init_assessment_runtime2 = __esm(() => {
@@ -90995,6 +91190,8 @@ class TimebackAssessmentRuntimeService {
90995
91190
  if (input.purpose === "review") {
90996
91191
  return this.startReview({ gameId, studentId, input, user });
90997
91192
  }
91193
+ const masteryStandard = input.purpose === "mastery" ? normalizeMasteryStandard(input.standard) : undefined;
91194
+ const requestFingerprint = this.startRequestFingerprint(input);
90998
91195
  const candidates = await this.candidateIntegrations(gameId, studentId, input);
90999
91196
  const lockKeys = candidates.rows.map((row) => assessmentRuntimeStartLockKey({
91000
91197
  studentId,
@@ -91013,18 +91210,20 @@ class TimebackAssessmentRuntimeService {
91013
91210
  enrollmentId: context2.enrollment.id
91014
91211
  };
91015
91212
  const [tests, listing] = await Promise.all([
91016
- this.liveTests(context2.integration.id, input.purpose, db2),
91213
+ this.liveTests(context2.integration.id, input.purpose, db2, masteryStandard),
91017
91214
  this.listAttempts(attemptScope)
91018
91215
  ]);
91019
91216
  const attempts = listing.attempts;
91020
- let decision = this.requireDecision(selectRuntimeAssessment(tests, [...attempts.values()].map((entry) => entry.selection)), input.purpose);
91217
+ const compatibleAttempts = this.attemptsMatchingRequest(attempts, requestFingerprint);
91218
+ let decision = this.requireDecision(selectRuntimeAssessment(tests, [...compatibleAttempts.values()].map((entry) => entry.selection)), input.purpose);
91021
91219
  if (decision.kind === "resume") {
91022
91220
  return this.resumeSnapshot(decision, attempts);
91023
91221
  }
91024
91222
  let assessment = await this.loadAssessment(decision.test.qtiTestIdentifier);
91025
91223
  const refreshedListing = await this.listAttempts(attemptScope);
91026
91224
  const refreshed = refreshedListing.attempts;
91027
- const refreshedDecision = this.requireDecision(selectRuntimeAssessment(tests, [...refreshed.values()].map((entry) => entry.selection)), input.purpose);
91225
+ const refreshedCompatible = this.attemptsMatchingRequest(refreshed, requestFingerprint);
91226
+ const refreshedDecision = this.requireDecision(selectRuntimeAssessment(tests, [...refreshedCompatible.values()].map((entry) => entry.selection)), input.purpose);
91028
91227
  if (refreshedDecision.kind === "resume") {
91029
91228
  return this.resumeSnapshot(refreshedDecision, refreshed);
91030
91229
  }
@@ -91047,10 +91246,9 @@ class TimebackAssessmentRuntimeService {
91047
91246
  purpose: input.purpose
91048
91247
  }, Math.max(0, ...[...refreshed.values()].map((entry) => entry.metadata.attemptNumber)) + 1);
91049
91248
  const timestamp6 = new Date().toISOString();
91050
- const metadata2 = {
91249
+ const metadataBase = {
91051
91250
  version: PLAYCADEMY_ASSESSMENT_RESULT_METADATA_VERSION,
91052
91251
  activityId: input.activityId,
91053
- purpose: input.purpose,
91054
91252
  courseId: context2.integration.courseId,
91055
91253
  integrationId: context2.integration.id,
91056
91254
  enrollmentId: context2.enrollment.id,
@@ -91064,6 +91262,14 @@ class TimebackAssessmentRuntimeService {
91064
91262
  startedAt: timestamp6,
91065
91263
  updatedAt: timestamp6
91066
91264
  };
91265
+ const metadata2 = input.purpose === "mastery" ? {
91266
+ ...metadataBase,
91267
+ purpose: input.purpose,
91268
+ mastery: {
91269
+ requestFingerprint,
91270
+ standard: masteryStandard
91271
+ }
91272
+ } : { ...metadataBase, purpose: input.purpose };
91067
91273
  const result = await this.requireClient().api.oneroster.assessmentResults.upsert(attemptId, {
91068
91274
  status: ONEROSTER_STATUS2.active,
91069
91275
  assessmentLineItem: { sourcedId: lineItemId },
@@ -91110,7 +91316,7 @@ class TimebackAssessmentRuntimeService {
91110
91316
  this.listAttempts(attemptScope)
91111
91317
  ]);
91112
91318
  const attempts = listing.attempts;
91113
- const compatible = this.compatibleReviewAttempts(attempts, requestFingerprint);
91319
+ const compatible = this.attemptsMatchingRequest(attempts, requestFingerprint);
91114
91320
  let decision = selectRuntimeAssessment(tests, [...compatible.values()].map((entry) => entry.selection));
91115
91321
  if (decision?.kind === "resume") {
91116
91322
  return this.resumeReviewSnapshot(decision, compatible, listing.reviewChildren, context2);
@@ -91124,7 +91330,7 @@ class TimebackAssessmentRuntimeService {
91124
91330
  let source = await this.loadReviewBank(decision.test.qtiTestIdentifier);
91125
91331
  const refreshedListing = await this.listAttempts(attemptScope);
91126
91332
  const refreshed = refreshedListing.attempts;
91127
- const refreshedCompatible = this.compatibleReviewAttempts(refreshed, requestFingerprint);
91333
+ const refreshedCompatible = this.attemptsMatchingRequest(refreshed, requestFingerprint);
91128
91334
  const refreshedDecision = selectRuntimeAssessment(tests, [...refreshedCompatible.values()].map((entry) => entry.selection));
91129
91335
  if (refreshedDecision?.kind === "resume") {
91130
91336
  return this.resumeReviewSnapshot(refreshedDecision, refreshedCompatible, refreshedListing.reviewChildren, context2);
@@ -91225,7 +91431,8 @@ class TimebackAssessmentRuntimeService {
91225
91431
  user,
91226
91432
  purpose,
91227
91433
  subject,
91228
- grade
91434
+ grade,
91435
+ standard
91229
91436
  }) {
91230
91437
  await this.deps.validateDeveloperAccess(user, gameId);
91231
91438
  const integrations = await this.deps.db.query.gameTimebackIntegrations.findMany({
@@ -91253,10 +91460,11 @@ class TimebackAssessmentRuntimeService {
91253
91460
  sort: "scoreDate",
91254
91461
  orderBy: "desc"
91255
91462
  });
91463
+ const matchesMasteryStandard = purpose === "mastery" && standard !== undefined ? masteryStandardMatcher(standard) : undefined;
91256
91464
  const latest = await findLatestAssessmentResult(results, (result) => {
91257
91465
  const metadata2 = playcademyAssessmentResultMetadata(result.metadata);
91258
91466
  const integration2 = metadata2 ? matchingIntegrations.get(metadata2.integrationId) : undefined;
91259
- return metadata2 && metadata2.purpose === purpose && integration2 && metadata2.courseId === integration2.courseId && result.student.sourcedId === studentId && this.isCompleted(result) ? metadata2 : null;
91467
+ return metadata2 && metadata2.purpose === purpose && (metadata2.purpose !== "mastery" || matchesMasteryStandard !== undefined && matchesMasteryStandard(metadata2.mastery.standard)) && integration2 && metadata2.courseId === integration2.courseId && result.student.sourcedId === studentId && this.isCompleted(result) ? metadata2 : null;
91260
91468
  });
91261
91469
  if (!latest) {
91262
91470
  return null;
@@ -91270,6 +91478,7 @@ class TimebackAssessmentRuntimeService {
91270
91478
  subject: integration.subject,
91271
91479
  grade: integration.grade,
91272
91480
  testIdentifier: latest.match.selectedTest.identifier,
91481
+ standard: latest.match.purpose === "mastery" ? latest.match.mastery.standard : null,
91273
91482
  completedAt: latest.result.scoreDate,
91274
91483
  score: { normalized: score.normalized }
91275
91484
  };
@@ -91538,7 +91747,7 @@ class TimebackAssessmentRuntimeService {
91538
91747
  });
91539
91748
  const catalogs = loadedCatalogs.filter((catalog) => catalog !== null);
91540
91749
  return {
91541
- version: 4,
91750
+ version: 5,
91542
91751
  gameId,
91543
91752
  exportedAt: new Date().toISOString(),
91544
91753
  catalogs
@@ -91573,9 +91782,14 @@ class TimebackAssessmentRuntimeService {
91573
91782
  const candidateRows = integrations.filter((integration) => enrollmentByCourse.has(integration.courseId));
91574
91783
  const liveTestRows = candidateRows.length === 0 ? [] : await db2.query.gameTimebackAssessmentTests.findMany({
91575
91784
  where: and(inArray(gameTimebackAssessmentTests.integrationId, candidateRows.map((row) => row.id)), eq(gameTimebackAssessmentTests.purpose, input.purpose), eq(gameTimebackAssessmentTests.status, "live")),
91576
- columns: { integrationId: true }
91785
+ columns: {
91786
+ integrationId: true,
91787
+ standardFramework: true,
91788
+ standardIdentifier: true
91789
+ }
91577
91790
  });
91578
- const integrationIdsWithLiveTests = new Set(liveTestRows.map((row) => row.integrationId));
91791
+ const matchesMasteryStandard = input.purpose === "mastery" ? masteryStandardMatcher(input.standard) : undefined;
91792
+ const integrationIdsWithLiveTests = new Set(liveTestRows.filter((row) => !matchesMasteryStandard || matchesMasteryStandard(assessmentStandardForRow(row))).map((row) => row.integrationId));
91579
91793
  return {
91580
91794
  rows: candidateRows,
91581
91795
  enrollmentByCourse,
@@ -91597,7 +91811,7 @@ class TimebackAssessmentRuntimeService {
91597
91811
  row.courseId,
91598
91812
  enrollmentByCourse.get(row.courseId).id
91599
91813
  ])),
91600
- requestFingerprint: input.purpose === "review" ? reviewRequestFingerprint(input, DEFAULT_REVIEW_SELECTION_POLICY) : undefined
91814
+ requestFingerprint: this.startRequestFingerprint(input)
91601
91815
  }) : new Set;
91602
91816
  const annotated = candidateRows.map((row) => ({
91603
91817
  ...row,
@@ -91623,7 +91837,8 @@ class TimebackAssessmentRuntimeService {
91623
91837
  const acquire = (index2, db2) => index2 === keys.length ? operation(db2) : this.deps.assessmentRuntimeLock(db2, keys[index2], (nested) => acquire(index2 + 1, nested));
91624
91838
  return acquire(0, this.deps.db);
91625
91839
  }
91626
- async liveTests(integrationId, purpose, db2 = this.deps.db) {
91840
+ async liveTests(integrationId, purpose, db2 = this.deps.db, requestedStandard) {
91841
+ const matchesMasteryStandard = requestedStandard ? masteryStandardMatcher(requestedStandard) : undefined;
91627
91842
  const rows = await db2.query.gameTimebackAssessmentTests.findMany({
91628
91843
  where: and(eq(gameTimebackAssessmentTests.integrationId, integrationId), eq(gameTimebackAssessmentTests.purpose, purpose), eq(gameTimebackAssessmentTests.status, "live"))
91629
91844
  });
@@ -91631,8 +91846,9 @@ class TimebackAssessmentRuntimeService {
91631
91846
  id: row.id,
91632
91847
  qtiTestIdentifier: row.qtiTestIdentifier,
91633
91848
  sortOrder: row.sortOrder,
91634
- updatedAt: row.updatedAt.toISOString()
91635
- }));
91849
+ updatedAt: row.updatedAt.toISOString(),
91850
+ standard: assessmentStandardForRow(row)
91851
+ })).filter((test) => !matchesMasteryStandard || matchesMasteryStandard(test.standard));
91636
91852
  }
91637
91853
  async openAttemptCourseIds(scope) {
91638
91854
  const results = this.requireClient().api.oneroster.assessmentResults.stream({
@@ -91644,7 +91860,7 @@ class TimebackAssessmentRuntimeService {
91644
91860
  const courseIds = new Set;
91645
91861
  for await (const result of results) {
91646
91862
  const metadata2 = playcademyAssessmentResultMetadata(result.metadata);
91647
- if (metadata2 && metadata2.activityId === scope.activityId && metadata2.purpose === scope.purpose && (metadata2.purpose !== "review" || metadata2.review.requestFingerprint === scope.requestFingerprint) && result.student.sourcedId === scope.studentId && metadata2.enrollmentId === scope.enrollmentIdByCourse.get(metadata2.courseId) && isAssessmentAttemptOpen({
91863
+ if (metadata2 && metadata2.activityId === scope.activityId && metadata2.purpose === scope.purpose && this.attemptMatchesRequestFingerprint(metadata2, scope.requestFingerprint) && result.student.sourcedId === scope.studentId && metadata2.enrollmentId === scope.enrollmentIdByCourse.get(metadata2.courseId) && isAssessmentAttemptOpen({
91648
91864
  inProgress: result.inProgress ?? "",
91649
91865
  scoreStatus: result.scoreStatus
91650
91866
  })) {
@@ -91686,8 +91902,26 @@ class TimebackAssessmentRuntimeService {
91686
91902
  }
91687
91903
  return { attempts, reviewChildren };
91688
91904
  }
91689
- compatibleReviewAttempts(attempts, requestFingerprint) {
91690
- return new Map([...attempts].filter(([, attempt]) => attempt.metadata.purpose === "review" && attempt.metadata.review.requestFingerprint === requestFingerprint));
91905
+ attemptsMatchingRequest(attempts, requestFingerprint) {
91906
+ if (requestFingerprint === undefined) {
91907
+ return attempts;
91908
+ }
91909
+ return new Map([...attempts].filter(([, attempt]) => this.attemptMatchesRequestFingerprint(attempt.metadata, requestFingerprint)));
91910
+ }
91911
+ startRequestFingerprint(input) {
91912
+ if (input.purpose === "review") {
91913
+ return reviewRequestFingerprint(input, DEFAULT_REVIEW_SELECTION_POLICY);
91914
+ }
91915
+ return input.purpose === "mastery" ? masteryRequestFingerprint(input) : undefined;
91916
+ }
91917
+ attemptMatchesRequestFingerprint(metadata2, requestFingerprint) {
91918
+ if (metadata2.purpose === "review") {
91919
+ return metadata2.review.requestFingerprint === requestFingerprint;
91920
+ }
91921
+ if (metadata2.purpose === "mastery") {
91922
+ return metadata2.mastery.requestFingerprint === requestFingerprint;
91923
+ }
91924
+ return true;
91691
91925
  }
91692
91926
  reviewExposures(results, scope) {
91693
91927
  const exposures = [];
@@ -92124,6 +92358,7 @@ class TimebackAssessmentRuntimeService {
92124
92358
  }
92125
92359
  snapshot(result, metadata2, assessment) {
92126
92360
  const completed = this.isCompleted(result);
92361
+ const selection = this.selectionContext(metadata2);
92127
92362
  return {
92128
92363
  attemptId: result.sourcedId,
92129
92364
  responseVersion: metadata2.responseVersion,
@@ -92131,18 +92366,28 @@ class TimebackAssessmentRuntimeService {
92131
92366
  assessment: assessmentPresentationForAttempt(assessment, result.sourcedId),
92132
92367
  responses: metadata2.responses,
92133
92368
  score: completed ? this.scoreFromResult(result, assessmentPossibleScore(assessment), metadata2) : null,
92134
- selection: metadata2.purpose === "review" ? {
92369
+ selection
92370
+ };
92371
+ }
92372
+ selectionContext(metadata2) {
92373
+ if (metadata2.purpose === "review") {
92374
+ return {
92135
92375
  kind: "standards-review",
92136
92376
  purpose: metadata2.purpose,
92137
92377
  standards: [...metadata2.review.standards],
92138
92378
  itemsPerStandard: metadata2.review.itemsPerStandard,
92139
92379
  selections: [...metadata2.review.selections],
92140
92380
  fulfillment: metadata2.review.fulfillment
92141
- } : {
92142
- kind: "fixed-test",
92143
- purpose: metadata2.purpose
92144
- }
92145
- };
92381
+ };
92382
+ }
92383
+ if (metadata2.purpose === "mastery") {
92384
+ return {
92385
+ kind: "standard-quiz",
92386
+ purpose: metadata2.purpose,
92387
+ standard: metadata2.mastery.standard
92388
+ };
92389
+ }
92390
+ return { kind: "fixed-test", purpose: metadata2.purpose };
92146
92391
  }
92147
92392
  completedResult(result, metadata2) {
92148
92393
  const response = buildCompletedAssessmentSubmitResult({
@@ -92293,6 +92538,7 @@ var init_timeback_assessment_runtime_service = __esm(async () => {
92293
92538
  init_uuid();
92294
92539
  init_errors2();
92295
92540
  init_assessment_runtime_lock_util();
92541
+ init_timeback_assessment_rules_util();
92296
92542
  init_timeback_assessment_runtime_util();
92297
92543
  init_timeback_qti_hydration_util();
92298
92544
  await __promiseAll([
@@ -92301,89 +92547,6 @@ var init_timeback_assessment_runtime_service = __esm(async () => {
92301
92547
  ]);
92302
92548
  });
92303
92549
 
92304
- // ../api-core/src/utils/timeback-assessment-rules.util.ts
92305
- function validateAssessmentStatusTransition(current, next) {
92306
- if (current === next) {
92307
- return;
92308
- }
92309
- const allowed = current === "draft" && next === "live" || current === "live" && next === "archived" || current === "archived" && next === "live";
92310
- if (!allowed) {
92311
- throw new ValidationError(`Assessment status cannot change from ${current} to ${next}`);
92312
- }
92313
- }
92314
- function isAssessmentPublicationTransition(current, next) {
92315
- return current !== "live" && next === "live";
92316
- }
92317
- function assertDraftAssessment(row) {
92318
- if (row.status !== "draft") {
92319
- throw new ValidationError("Only draft assessments can change QTI content or question membership");
92320
- }
92321
- }
92322
- function assertAllAssessmentAssociationsDraft(rows) {
92323
- if (rows.some((row) => row.status !== "draft")) {
92324
- throw new ValidationError("QTI content cannot change while any associated assessment is live or archived");
92325
- }
92326
- }
92327
- function assertAssessmentHasQuestions(questions) {
92328
- if (questions.length === 0) {
92329
- throw new ValidationError("An assessment must contain at least one question to publish");
92330
- }
92331
- }
92332
- function assertReviewAssessmentHasStandards(standardCounts) {
92333
- if (standardCounts.some((count) => count <= 0)) {
92334
- throw new ValidationError("Every question in a review assessment must have a standards alignment");
92335
- }
92336
- }
92337
- function planAssessmentRemoval(status) {
92338
- if (status === "draft") {
92339
- return { kind: "delete", action: "discarded", operation: "discard_draft" };
92340
- }
92341
- if (status === "live") {
92342
- return { kind: "archive", action: "archived", operation: "archive" };
92343
- }
92344
- return { kind: "none", action: "archived" };
92345
- }
92346
- function buildAssessmentAssociationUpdates(row, input) {
92347
- const updates = {};
92348
- if (input.purpose !== undefined) {
92349
- updates.purpose = input.purpose;
92350
- if (row.status === "live" && input.purpose !== row.purpose) {
92351
- updates.sortOrder = null;
92352
- }
92353
- }
92354
- if (input.status !== undefined) {
92355
- updates.status = input.status;
92356
- if (input.status === "archived") {
92357
- updates.sortOrder = null;
92358
- }
92359
- }
92360
- return updates;
92361
- }
92362
- function validateUniqueAssessmentIdentifiers(testIdentifiers) {
92363
- if (new Set(testIdentifiers).size !== testIdentifiers.length) {
92364
- throw new ValidationError("Assessment order must contain unique identifiers");
92365
- }
92366
- }
92367
- function assertAssessmentOrderUpdateSucceeded(updatedRow) {
92368
- if (!updatedRow) {
92369
- throw new ValidationError("Assessment order changed while it was being saved. Refresh and try again.");
92370
- }
92371
- return updatedRow;
92372
- }
92373
- function lockOrderAssessmentRows(rows) {
92374
- return rows.toSorted((left, right) => left.id.localeCompare(right.id));
92375
- }
92376
- function orderLiveAssessmentRows(liveRows, purpose, testIdentifiers) {
92377
- const rowsByIdentifier = new Map(liveRows.map((row) => [row.qtiTestIdentifier, row]));
92378
- if (liveRows.length !== testIdentifiers.length || testIdentifiers.some((identifier) => !rowsByIdentifier.has(identifier))) {
92379
- throw new ValidationError(`Assessment order must include every live ${purpose} assessment exactly once`);
92380
- }
92381
- return testIdentifiers.map((identifier) => rowsByIdentifier.get(identifier));
92382
- }
92383
- var init_timeback_assessment_rules_util = __esm(() => {
92384
- init_errors2();
92385
- });
92386
-
92387
92550
  // ../api-core/src/utils/timeback-qti-authoring.util.ts
92388
92551
  function recordValue(value) {
92389
92552
  return value && typeof value === "object" && !Array.isArray(value) ? value : undefined;
@@ -93313,6 +93476,7 @@ class TimebackAssessmentsService {
93313
93476
  const client2 = this.requireClient();
93314
93477
  const ownership = await this.requireQtiTestOwnershipContext(integrationId);
93315
93478
  const { integration } = ownership;
93479
+ const standard = this.requirePurposeStandard(input.purpose, input.standard);
93316
93480
  await client2.course.createAssessmentTest({
93317
93481
  identifier: input.qtiTestIdentifier,
93318
93482
  title: input.title,
@@ -93329,10 +93493,15 @@ class TimebackAssessmentsService {
93329
93493
  integrationId,
93330
93494
  qtiTestIdentifier: input.qtiTestIdentifier,
93331
93495
  purpose: input.purpose,
93332
- status: "draft"
93496
+ status: "draft",
93497
+ standardFramework: standard?.framework,
93498
+ standardIdentifier: standard?.identifier
93333
93499
  }).returning();
93500
+ if (!row) {
93501
+ throw new Error("Assessment association create returned no row");
93502
+ }
93334
93503
  setAttribute("app.assessment.operation", "create");
93335
- return row;
93504
+ return this.associationSummary(row);
93336
93505
  } catch (error88) {
93337
93506
  let committedRow;
93338
93507
  try {
@@ -93349,7 +93518,7 @@ class TimebackAssessmentsService {
93349
93518
  }
93350
93519
  if (committedRow) {
93351
93520
  setAttribute("app.assessment.operation", "create");
93352
- return committedRow;
93521
+ return this.associationSummary(committedRow);
93353
93522
  }
93354
93523
  try {
93355
93524
  await client2.qtiApi.assessmentTests.delete(input.qtiTestIdentifier);
@@ -93368,8 +93537,18 @@ class TimebackAssessmentsService {
93368
93537
  async updateAssessment(integrationId, qtiTestIdentifier, input) {
93369
93538
  try {
93370
93539
  return await this.withLockedAssessmentAssociations(integrationId, qtiTestIdentifier, async (row, tx, associations) => {
93371
- const updates = buildAssessmentAssociationUpdates(row, input);
93372
93540
  const nextPurpose = input.purpose ?? row.purpose;
93541
+ assertMasteryPurposeChangeDraft(row, nextPurpose);
93542
+ const requestedStandard = input.standard ? this.canonicalAssessmentStandard(input.standard) : undefined;
93543
+ const nextStandard = requestedStandard ?? (nextPurpose === "mastery" ? assessmentStandardForRow(row) : null);
93544
+ this.assertPurposeStandard(nextPurpose, nextStandard);
93545
+ if (input.standard !== undefined) {
93546
+ assertDraftAssessment(row);
93547
+ }
93548
+ const updates = buildAssessmentAssociationUpdates(row, {
93549
+ ...input,
93550
+ ...requestedStandard ? { standard: requestedStandard } : {}
93551
+ });
93373
93552
  const nextStatus = input.status ?? row.status;
93374
93553
  const publishing = input.status !== undefined && isAssessmentPublicationTransition(row.status, input.status);
93375
93554
  const activatingReview = nextPurpose === "review" && nextStatus === "live" && (row.purpose !== "review" || row.status !== "live");
@@ -93394,7 +93573,7 @@ class TimebackAssessmentsService {
93394
93573
  updated = updatedRow ?? row;
93395
93574
  }
93396
93575
  setAttribute("app.assessment.operation", input.title !== undefined ? "update_test" : "update_association");
93397
- return updated;
93576
+ return this.associationSummary(updated);
93398
93577
  });
93399
93578
  } catch (error88) {
93400
93579
  if (isUniqueViolation(error88)) {
@@ -93485,10 +93664,11 @@ class TimebackAssessmentsService {
93485
93664
  await this.requireIntegration(integrationId);
93486
93665
  return this.listQtiLibrary(params, async (listParams) => await client2.qtiApi.assessmentTests.list(listParams));
93487
93666
  }
93488
- async copyAssessment(integrationId, sourceTestIdentifier, targetTestIdentifier, purpose) {
93667
+ async copyAssessment(integrationId, sourceTestIdentifier, targetTestIdentifier, purpose, standardInput) {
93489
93668
  const client2 = this.requireClient();
93490
93669
  const ownership = await this.requireQtiTestOwnershipContext(integrationId);
93491
93670
  const { integration } = ownership;
93671
+ const standard = this.requirePurposeStandard(purpose, standardInput);
93492
93672
  const source = await client2.qtiApi.assessmentTests.get(sourceTestIdentifier);
93493
93673
  const itemPlan = buildQtiAssessmentItemCopyPlan(source, targetTestIdentifier, (identifier) => this.qtiItemHref(client2, identifier));
93494
93674
  const itemCopies = await runWithConcurrency(itemPlan, QTI_HYDRATION_CONCURRENCY, async (plan) => {
@@ -93531,10 +93711,15 @@ class TimebackAssessmentsService {
93531
93711
  integrationId,
93532
93712
  qtiTestIdentifier: targetTestIdentifier,
93533
93713
  purpose,
93534
- status: "draft"
93714
+ status: "draft",
93715
+ standardFramework: standard?.framework,
93716
+ standardIdentifier: standard?.identifier
93535
93717
  }).returning();
93718
+ if (!row) {
93719
+ throw new Error("Assessment association copy returned no row");
93720
+ }
93536
93721
  setAttribute("app.assessment.operation", "copy_test");
93537
- return row;
93722
+ return this.associationSummary(row);
93538
93723
  } catch (error88) {
93539
93724
  if (associationCreationAttempted) {
93540
93725
  let committedRow;
@@ -93552,7 +93737,7 @@ class TimebackAssessmentsService {
93552
93737
  }
93553
93738
  if (committedRow) {
93554
93739
  setAttribute("app.assessment.operation", "copy_test");
93555
- return committedRow;
93740
+ return this.associationSummary(committedRow);
93556
93741
  }
93557
93742
  }
93558
93743
  await this.cleanupQtiAssessmentCopy(client2, testCreationAttempted ? targetTestIdentifier : undefined, attemptedItemIdentifiers);
@@ -93857,10 +94042,31 @@ class TimebackAssessmentsService {
93857
94042
  purpose: row.purpose,
93858
94043
  status: row.status,
93859
94044
  sortOrder: row.sortOrder,
94045
+ standard: assessmentStandardForRow(row),
93860
94046
  createdAt: row.createdAt,
93861
94047
  updatedAt: row.updatedAt
93862
94048
  };
93863
94049
  }
94050
+ canonicalAssessmentStandard(input) {
94051
+ const standard = canonicalReviewStandardRef(input);
94052
+ if (!standard) {
94053
+ throw new ValidationError("Assessment standards require a canonical framework and identifier");
94054
+ }
94055
+ return standard;
94056
+ }
94057
+ assertPurposeStandard(purpose, standard) {
94058
+ if (purpose === "mastery" && !standard) {
94059
+ throw new ValidationError("Mastery assessments require a standard");
94060
+ }
94061
+ if (purpose !== "mastery" && standard) {
94062
+ throw new ValidationError("Only mastery assessments may have a quiz-level standard");
94063
+ }
94064
+ }
94065
+ requirePurposeStandard(purpose, input) {
94066
+ const standard = input ? this.canonicalAssessmentStandard(input) : null;
94067
+ this.assertPurposeStandard(purpose, standard);
94068
+ return standard;
94069
+ }
93864
94070
  async listQtiLibrary(params, list) {
93865
94071
  const plan = buildQtiLibraryListPlan(params);
93866
94072
  return list(plan.params);
@@ -109218,8 +109424,8 @@ If you have no idea what this means or what Pirates is, let me explain: Pirates
109218
109424
  return tryPath.type === "index" ? (0, path_1.dirname)(tryPath.path) : tryPath.type === "file" ? tryPath.path : tryPath.type === "extension" ? (0, filesystem_1.removeExtension)(tryPath.path) : tryPath.type === "package" ? tryPath.path : exhaustiveTypeException(tryPath.type);
109219
109425
  }
109220
109426
  exports2.getStrippedPath = getStrippedPath;
109221
- function exhaustiveTypeException(check3) {
109222
- throw new Error("Unknown type ".concat(check3));
109427
+ function exhaustiveTypeException(check4) {
109428
+ throw new Error("Unknown type ".concat(check4));
109223
109429
  }
109224
109430
  exports2.exhaustiveTypeException = exhaustiveTypeException;
109225
109431
  function matchStar(pattern, search) {
@@ -113072,7 +113278,7 @@ function getTableConfig(table62) {
113072
113278
  for (const builder of extraValues) {
113073
113279
  if (is2(builder, IndexBuilder2)) {
113074
113280
  indexes2.push(builder.build(table62));
113075
- } else if (is2(builder, CheckBuilder)) {
113281
+ } else if (is2(builder, CheckBuilder2)) {
113076
113282
  checks6.push(builder.build(table62));
113077
113283
  } else if (is2(builder, UniqueConstraintBuilder)) {
113078
113284
  uniqueConstraints.push(builder.build(table62));
@@ -113299,7 +113505,7 @@ function getTableConfig2(table62) {
113299
113505
  for (const builder of Object.values(extraValues)) {
113300
113506
  if (is2(builder, IndexBuilder22)) {
113301
113507
  indexes2.push(builder.build(table62));
113302
- } else if (is2(builder, CheckBuilder2)) {
113508
+ } else if (is2(builder, CheckBuilder22)) {
113303
113509
  checks6.push(builder.build(table62));
113304
113510
  } else if (is2(builder, UniqueConstraintBuilder2)) {
113305
113511
  uniqueConstraints.push(builder.build(table62));
@@ -114033,7 +114239,7 @@ var __create2, __defProp2, __getOwnPropDesc, __getOwnPropNames2, __getProtoOf2,
114033
114239
  __defProp2(to, key, { get: () => from[key], enumerable: !(desc2 = __getOwnPropDesc(from, key)) || desc2.enumerable });
114034
114240
  }
114035
114241
  return to;
114036
- }, __toESM5 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, mod)), __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value), ANSI_BACKGROUND_OFFSET, wrapAnsi16, wrapAnsi256, wrapAnsi16m, styles2, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default, init_ansi_styles, env, flagForceColor, supportsColor, supports_color_default, init_supports_color, init_utilities, stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles22, applyOptions, chalkFactory, getModelAnsi, usedModels, proto, createStyler, createBuilder, applyStyle, chalk, chalkStderr, source_default, init_source, require_old, require_fs, require_path, require_balanced_match, require_brace_expansion, require_minimatch, require_inherits_browser2, require_inherits2, require_common3, require_sync, require_wrappy, require_once, require_inflight, require_glob, require_readline, require_src3, require_utils4, require_lodash, require_hanji, originUUID, snapshotVersion, mapValues, mapKeys, mapEntries, customMapEntries, init_global2, util3, objectUtil2, ZodParsedType2, getParsedType4, init_util5, ZodIssueCode4, ZodError5, init_ZodError2, errorMap2, en_default4, init_en4, overrideErrorMap2, init_errors9, makeIssue2, ParseStatus2, INVALID3, DIRTY2, OK2, isAborted2, isDirty2, isValid2, isAsync2, init_parseUtil2, init_typeAliases2, errorUtil2, init_errorUtil2, ParseInputLazyPath2, handleResult2, ZodType4, cuidRegex2, cuid2Regex2, ulidRegex2, uuidRegex2, nanoidRegex2, jwtRegex2, durationRegex2, emailRegex2, _emojiRegex2, emojiRegex2, ipv4Regex2, ipv4CidrRegex2, ipv6Regex2, ipv6CidrRegex2, base64Regex2, base64urlRegex2, dateRegexSource2, dateRegex2, ZodString4, ZodNumber4, ZodBigInt4, ZodBoolean4, ZodDate4, ZodSymbol4, ZodUndefined4, ZodNull4, ZodAny4, ZodUnknown4, ZodNever4, ZodVoid4, ZodArray4, ZodObject4, ZodUnion4, getDiscriminator2, ZodDiscriminatedUnion4, ZodIntersection4, ZodTuple4, ZodRecord4, ZodMap4, ZodSet4, ZodFunction3, ZodLazy4, ZodLiteral4, ZodEnum4, ZodNativeEnum2, ZodPromise4, ZodEffects2, ZodOptional4, ZodNullable4, ZodDefault4, ZodCatch4, ZodNaN4, BRAND2, ZodBranded2, ZodPipeline2, ZodReadonly4, late2, ZodFirstPartyTypeKind3, stringType2, numberType2, nanType2, bigIntType2, booleanType2, dateType2, symbolType2, undefinedType2, nullType2, anyType2, unknownType2, neverType2, voidType2, arrayType2, objectType2, strictObjectType2, unionType2, discriminatedUnionType2, intersectionType2, tupleType2, recordType2, mapType2, setType2, functionType2, lazyType2, literalType2, enumType2, nativeEnumType2, promiseType2, effectsType2, optionalType2, nullableType2, preprocessType2, pipelineType2, coerce2, init_types5, init_external4, init_v32, init_esm2, enumSchema, enumSchemaV1, indexColumn, index2, fk, sequenceSchema, roleSchema, sequenceSquashed, column2, checkConstraint, columnSquashed, compositePK, uniqueConstraint, policy, policySquashed, viewWithOption, matViewWithOption, mergedViewWithOption, view2, table8, schemaHash, kitInternals, gelSchemaExternal, gelSchemaInternal, tableSquashed, gelSchemaSquashed, gelSchema, dryGel, init_gelSchema, index22, fk2, column22, tableV3, compositePK2, uniqueConstraint2, checkConstraint2, tableV4, table22, viewMeta, view22, kitInternals2, dialect2, schemaHash2, schemaInternalV3, schemaInternalV4, schemaInternalV5, schemaInternal, schemaV3, schemaV4, schemaV5, schema2, tableSquashedV4, tableSquashed2, viewSquashed, schemaSquashed, schemaSquashedV4, MySqlSquasher, squashMysqlScheme, mysqlSchema, mysqlSchemaV5, mysqlSchemaSquashed, backwardCompatibleMysqlSchema, dryMySql, init_mysqlSchema, indexV2, columnV2, tableV2, enumSchemaV12, enumSchema2, pgSchemaV2, references, columnV1, tableV1, pgSchemaV1, indexColumn2, index3, indexV4, indexV5, indexV6, fk3, sequenceSchema2, roleSchema2, sequenceSquashed2, columnV7, column3, checkConstraint3, columnSquashed2, tableV32, compositePK3, uniqueConstraint3, policy2, policySquashed2, viewWithOption2, matViewWithOption2, mergedViewWithOption2, view3, tableV42, tableV5, tableV6, tableV7, table32, schemaHash3, kitInternals3, pgSchemaInternalV3, pgSchemaInternalV4, pgSchemaInternalV5, pgSchemaInternalV6, pgSchemaExternal, pgSchemaInternalV7, pgSchemaInternal, tableSquashed3, tableSquashedV42, pgSchemaSquashedV4, pgSchemaSquashedV6, pgSchemaSquashed, pgSchemaV3, pgSchemaV4, pgSchemaV5, pgSchemaV6, pgSchemaV7, pgSchema, backwardCompatiblePgSchema, PgSquasher, squashPgScheme, dryPg, init_pgSchema, index4, column4, compositePK4, uniqueConstraint4, table42, viewMeta2, kitInternals4, dialect22, schemaHash4, schemaInternal2, schema22, tableSquashed4, schemaSquashed2, SingleStoreSquasher, squashSingleStoreScheme, singlestoreSchema, singlestoreSchemaSquashed, backwardCompatibleSingleStoreSchema, drySingleStore, init_singlestoreSchema, index5, fk4, compositePK5, column5, tableV33, uniqueConstraint5, checkConstraint4, table52, view4, dialect3, schemaHash5, schemaInternalV32, schemaInternalV42, schemaInternalV52, kitInternals5, latestVersion, schemaInternal3, schemaV32, schemaV42, schemaV52, schema3, tableSquashed5, schemaSquashed3, SQLiteSquasher, squashSqliteScheme, drySQLite, sqliteSchemaV5, sqliteSchema, SQLiteSchemaSquashed, backwardCompatibleSqliteSchema, init_sqliteSchema, copy, prepareMigrationMeta, schemaRenameKey, tableRenameKey, columnRenameKey, init_utils7, import_hanji, warning, error88, isRenamePromptItem, ResolveColumnSelect, tableKey, ResolveSelectNamed, ResolveSelect, ResolveSchemasSelect, Spinner2, ProgressView, init_views, glob, init_serializer, fillPgSnapshot, init_migrationPreparator, require_heap, require_heap2, require_difflib, require_difflib2, require_util2, require_styles, require_has_flag2, require_supports_colors, require_trap, require_zalgo, require_america, require_zebra, require_rainbow, require_random, require_colors, require_safe, require_colorize, require_lib4, import_json_diff, mapArraysDiff, findAlternationsInTable, alternationsInColumn, init_jsonDiffer, parseType, Convertor, PgCreateRoleConvertor, PgDropRoleConvertor, PgRenameRoleConvertor, PgAlterRoleConvertor, PgCreatePolicyConvertor, PgDropPolicyConvertor, PgRenamePolicyConvertor, PgAlterPolicyConvertor, PgCreateIndPolicyConvertor, PgDropIndPolicyConvertor, PgRenameIndPolicyConvertor, PgAlterIndPolicyConvertor, PgEnableRlsConvertor, PgDisableRlsConvertor, PgCreateTableConvertor, MySqlCreateTableConvertor, SingleStoreCreateTableConvertor, SQLiteCreateTableConvertor, PgCreateViewConvertor, MySqlCreateViewConvertor, SqliteCreateViewConvertor, PgDropViewConvertor, MySqlDropViewConvertor, SqliteDropViewConvertor, MySqlAlterViewConvertor, PgRenameViewConvertor, MySqlRenameViewConvertor, PgAlterViewSchemaConvertor, PgAlterViewAddWithOptionConvertor, PgAlterViewDropWithOptionConvertor, PgAlterViewAlterTablespaceConvertor, PgAlterViewAlterUsingConvertor, PgAlterTableAlterColumnSetGenerated, PgAlterTableAlterColumnDropGenerated, PgAlterTableAlterColumnAlterGenerated, PgAlterTableAddUniqueConstraintConvertor, PgAlterTableDropUniqueConstraintConvertor, PgAlterTableAddCheckConstraintConvertor, PgAlterTableDeleteCheckConstraintConvertor, MySQLAlterTableAddUniqueConstraintConvertor, MySQLAlterTableDropUniqueConstraintConvertor, MySqlAlterTableAddCheckConstraintConvertor, SingleStoreAlterTableAddUniqueConstraintConvertor, SingleStoreAlterTableDropUniqueConstraintConvertor, MySqlAlterTableDeleteCheckConstraintConvertor, CreatePgSequenceConvertor, DropPgSequenceConvertor, RenamePgSequenceConvertor, MovePgSequenceConvertor, AlterPgSequenceConvertor, CreateTypeEnumConvertor, DropTypeEnumConvertor, AlterTypeAddValueConvertor, AlterTypeSetSchemaConvertor, AlterRenameTypeConvertor, AlterTypeDropValueConvertor, PgDropTableConvertor, MySQLDropTableConvertor, SingleStoreDropTableConvertor, SQLiteDropTableConvertor, PgRenameTableConvertor, SqliteRenameTableConvertor, MySqlRenameTableConvertor, SingleStoreRenameTableConvertor, PgAlterTableRenameColumnConvertor, MySqlAlterTableRenameColumnConvertor, SingleStoreAlterTableRenameColumnConvertor, SQLiteAlterTableRenameColumnConvertor, PgAlterTableDropColumnConvertor, MySqlAlterTableDropColumnConvertor, SingleStoreAlterTableDropColumnConvertor, SQLiteAlterTableDropColumnConvertor, PgAlterTableAddColumnConvertor, MySqlAlterTableAddColumnConvertor, SingleStoreAlterTableAddColumnConvertor, SQLiteAlterTableAddColumnConvertor, PgAlterTableAlterColumnSetTypeConvertor, PgAlterTableAlterColumnSetDefaultConvertor, PgAlterTableAlterColumnDropDefaultConvertor, PgAlterTableAlterColumnDropGeneratedConvertor, PgAlterTableAlterColumnSetExpressionConvertor, PgAlterTableAlterColumnAlterrGeneratedConvertor, SqliteAlterTableAlterColumnDropGeneratedConvertor, SqliteAlterTableAlterColumnSetExpressionConvertor, SqliteAlterTableAlterColumnAlterGeneratedConvertor, MySqlAlterTableAlterColumnAlterrGeneratedConvertor, MySqlAlterTableAddPk, MySqlAlterTableDropPk, LibSQLModifyColumn, MySqlModifyColumn, SingleStoreAlterTableAlterColumnAlterrGeneratedConvertor, SingleStoreAlterTableAddPk, SingleStoreAlterTableDropPk, SingleStoreModifyColumn, PgAlterTableCreateCompositePrimaryKeyConvertor, PgAlterTableDeleteCompositePrimaryKeyConvertor, PgAlterTableAlterCompositePrimaryKeyConvertor, MySqlAlterTableCreateCompositePrimaryKeyConvertor, MySqlAlterTableDeleteCompositePrimaryKeyConvertor, MySqlAlterTableAlterCompositePrimaryKeyConvertor, PgAlterTableAlterColumnSetPrimaryKeyConvertor, PgAlterTableAlterColumnDropPrimaryKeyConvertor, PgAlterTableAlterColumnSetNotNullConvertor, PgAlterTableAlterColumnDropNotNullConvertor, PgCreateForeignKeyConvertor, LibSQLCreateForeignKeyConvertor, MySqlCreateForeignKeyConvertor, PgAlterForeignKeyConvertor, PgDeleteForeignKeyConvertor, MySqlDeleteForeignKeyConvertor, CreatePgIndexConvertor, CreateMySqlIndexConvertor, CreateSingleStoreIndexConvertor, CreateSqliteIndexConvertor, PgDropIndexConvertor, PgCreateSchemaConvertor, PgRenameSchemaConvertor, PgDropSchemaConvertor, PgAlterTableSetSchemaConvertor, PgAlterTableSetNewSchemaConvertor, PgAlterTableRemoveFromSchemaConvertor, SqliteDropIndexConvertor, MySqlDropIndexConvertor, SingleStoreDropIndexConvertor, SQLiteRecreateTableConvertor, LibSQLRecreateTableConvertor, SingleStoreRecreateTableConvertor, convertors, init_sqlgenerator, _moveDataStatements, getOldTableName, getNewTableName, logSuggestionsAndReturn, init_sqlitePushUtils, preparePgCreateTableJson, prepareMySqlCreateTableJson, prepareSingleStoreCreateTableJson, prepareSQLiteCreateTable, prepareDropTableJson, prepareRenameTableJson, prepareCreateEnumJson, prepareAddValuesToEnumJson, prepareDropEnumValues, prepareDropEnumJson, prepareMoveEnumJson, prepareRenameEnumJson, prepareCreateSequenceJson, prepareAlterSequenceJson, prepareDropSequenceJson, prepareMoveSequenceJson, prepareRenameSequenceJson, prepareCreateRoleJson, prepareAlterRoleJson, prepareDropRoleJson, prepareRenameRoleJson, prepareCreateSchemasJson, prepareRenameSchemasJson, prepareDeleteSchemasJson, prepareRenameColumns, _prepareDropColumns, _prepareAddColumns, _prepareSqliteAddColumns, prepareAlterColumnsMysql, preparePgAlterColumns, prepareSqliteAlterColumns, prepareRenamePolicyJsons, prepareRenameIndPolicyJsons, prepareCreatePolicyJsons, prepareCreateIndPolicyJsons, prepareDropPolicyJsons, prepareDropIndPolicyJsons, prepareAlterPolicyJson, prepareAlterIndPolicyJson, preparePgCreateIndexesJson, prepareCreateIndexesJson, prepareCreateReferencesJson, prepareLibSQLCreateReferencesJson, prepareDropReferencesJson, prepareLibSQLDropReferencesJson, prepareAlterReferencesJson, prepareDropIndexesJson, prepareAddCompositePrimaryKeySqlite, prepareDeleteCompositePrimaryKeySqlite, prepareAlterCompositePrimaryKeySqlite, prepareAddCompositePrimaryKeyPg, prepareDeleteCompositePrimaryKeyPg, prepareAlterCompositePrimaryKeyPg, prepareAddUniqueConstraintPg, prepareDeleteUniqueConstraintPg, prepareAddCheckConstraint, prepareDeleteCheckConstraint, prepareAddCompositePrimaryKeyMySql, prepareDeleteCompositePrimaryKeyMySql, prepareAlterCompositePrimaryKeyMySql, preparePgCreateViewJson, prepareMySqlCreateViewJson, prepareSqliteCreateViewJson, prepareDropViewJson, prepareRenameViewJson, preparePgAlterViewAlterSchemaJson, preparePgAlterViewAddWithOptionJson, preparePgAlterViewDropWithOptionJson, preparePgAlterViewAlterTablespaceJson, preparePgAlterViewAlterUsingJson, prepareMySqlAlterView, init_jsonStatements, prepareLibSQLRecreateTable, prepareSQLiteRecreateTable, libSQLCombineStatements, sqliteCombineStatements, prepareSingleStoreRecreateTable, singleStoreCombineStatements, init_statementCombiner, snapshotsDiffer_exports, makeChanged, makeSelfOrChanged, makePatched, makeSelfOrPatched, columnSchema, alteredColumnSchema, enumSchema3, changedEnumSchema, tableScheme, alteredTableScheme, alteredViewCommon, alteredPgViewSchema, alteredMySqlViewSchema, diffResultScheme, diffResultSchemeMysql, diffResultSchemeSingleStore, diffResultSchemeSQLite, schemaChangeFor, nameChangeFor, nameSchemaChangeFor, columnChangeFor, applyPgSnapshotsDiff, applyMysqlSnapshotsDiff, applySingleStoreSnapshotsDiff, applySqliteSnapshotsDiff, applyLibSQLSnapshotsDiff, init_snapshotsDiffer, init_words, dialects, dialect4, commonSquashedSchema, commonSchema, init_schemaValidator, sqliteDriversLiterals, postgresqlDriversLiterals, prefixes, prefix, casingTypes, casingType, sqliteDriver, postgresDriver, driver2, configMigrations, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema, init_common2, withStyle, init_outputs, import_hanji2, schemasResolver, tablesResolver, viewsResolver, mySqlViewsResolver, sqliteViewsResolver, sequencesResolver, roleResolver, policyResolver, indPolicyResolver, enumsResolver, columnsResolver, promptColumnsConflicts, promptNamedConflict, promptNamedWithSchemasConflict, promptSchemasConflict, BREAKPOINT, init_migrate, posixClasses, braceEscape, regexpEscape, rangesToString, parseClass, init_brace_expressions, escape, init_escape, unescape, init_unescape, import_brace_expansion, minimatch, starDotExtRE, starDotExtTest, starDotExtTestDot, starDotExtTestNocase, starDotExtTestNocaseDot, starDotStarRE, starDotStarTest, starDotStarTestDot, dotStarRE, dotStarTest, starRE, starTest, starTestDot, qmarksRE, qmarksTestNocase, qmarksTestNocaseDot, qmarksTestDot, qmarksTest, qmarksTestNoExt, qmarksTestNoExtDot, defaultPlatform, path, sep3, GLOBSTAR, plTypes, qmark, star, twoStarDot, twoStarNoDot, charSet, reSpecials, addPatternStartSet, filter, ext, defaults, braceExpand, MAX_PATTERN_LENGTH, assertValidPattern, makeRe, match2, globUnescape, globMagic, regExpEscape, Minimatch, init_mjs, entityKind2, hasOwnEntityKind2, init_entity2, _a3, Column2, init_column2, _a22, ColumnBuilder2, init_column_builder2, TableName2, init_table_utils2, _a32, ForeignKeyBuilder2, _a4, ForeignKey2, init_foreign_keys2, init_tracing_utils2, _a5, UniqueConstraintBuilder, _a6, UniqueOnConstraintBuilder, _a7, UniqueConstraint, init_unique_constraint2, init_array2, _a8, _b, PgColumnBuilder2, _a9, _b2, PgColumn2, _a10, _b3, ExtraConfigColumn2, _a11, IndexedColumn2, _a12, _b4, PgArrayBuilder2, _a13, _b5, _PgArray, PgArray2, init_common22, _a14, _b6, PgEnumObjectColumnBuilder2, _a15, _b7, PgEnumObjectColumn2, isPgEnumSym2, _a16, _b8, PgEnumColumnBuilder2, _a17, _b9, PgEnumColumn2, init_enum2, _a18, Subquery2, _a19, _b10, WithSubquery2, init_subquery2, version4, init_version2, otel2, rawTracer2, tracer2, init_tracing2, ViewBaseConfig2, init_view_common3, Schema2, Columns2, ExtraConfigColumns2, OriginalName2, BaseName2, IsAlias2, ExtraConfigBuilder2, IsDrizzleTable2, _a20, _b11, _c, _d, _e3, _f, _g, _h, _i, _j, Table2, init_table8, _a21, FakePrimitiveParam, _a222, StringChunk2, _a23, _SQL, SQL2, _a24, Name2, noopDecoder2, noopEncoder2, noopMapper2, _a25, Param2, _a26, Placeholder2, IsDrizzleView2, _a27, _b12, _c2, View3, init_sql5, _a28, ColumnAliasProxyHandler2, _a29, TableAliasProxyHandler2, _a30, RelationTableAliasProxyHandler, init_alias3, _a31, _b13, DrizzleError2, DrizzleQueryError, _a322, _b14, TransactionRollbackError2, init_errors22, _a33, ConsoleLogWriter2, _a34, DefaultLogger2, _a35, NoopLogger2, init_logger3, init_operations, _a36, _b15, QueryPromise2, init_query_promise2, textDecoder, init_utils22, _a37, _b16, PgIntColumnBaseBuilder2, init_int_common2, _a38, _b17, PgBigInt53Builder2, _a39, _b18, PgBigInt532, _a40, _b19, PgBigInt64Builder2, _a41, _b20, PgBigInt642, init_bigint2, _a42, _b21, PgBigSerial53Builder2, _a43, _b22, PgBigSerial532, _a44, _b23, PgBigSerial64Builder2, _a45, _b24, PgBigSerial642, init_bigserial2, _a46, _b25, PgBooleanBuilder2, _a47, _b26, PgBoolean2, init_boolean2, _a48, _b27, PgCharBuilder2, _a49, _b28, PgChar2, init_char2, _a50, _b29, PgCidrBuilder2, _a51, _b30, PgCidr2, init_cidr2, _a52, _b31, PgCustomColumnBuilder2, _a53, _b32, PgCustomColumn2, init_custom2, _a54, _b33, PgDateColumnBaseBuilder2, init_date_common2, _a55, _b34, PgDateBuilder2, _a56, _b35, PgDate2, _a57, _b36, PgDateStringBuilder2, _a58, _b37, PgDateString2, init_date2, _a59, _b38, PgDoublePrecisionBuilder2, _a60, _b39, PgDoublePrecision2, init_double_precision2, _a61, _b40, PgInetBuilder2, _a62, _b41, PgInet2, init_inet2, _a63, _b42, PgIntegerBuilder2, _a64, _b43, PgInteger2, init_integer2, _a65, _b44, PgIntervalBuilder2, _a66, _b45, PgInterval2, init_interval2, _a67, _b46, PgJsonBuilder2, _a68, _b47, PgJson2, init_json2, _a69, _b48, PgJsonbBuilder2, _a70, _b49, PgJsonb2, init_jsonb2, _a71, _b50, PgLineBuilder2, _a72, _b51, PgLineTuple2, _a73, _b52, PgLineABCBuilder2, _a74, _b53, PgLineABC2, init_line2, _a75, _b54, PgMacaddrBuilder2, _a76, _b55, PgMacaddr2, init_macaddr2, _a77, _b56, PgMacaddr8Builder2, _a78, _b57, PgMacaddr82, init_macaddr82, _a79, _b58, PgNumericBuilder2, _a80, _b59, PgNumeric2, _a81, _b60, PgNumericNumberBuilder2, _a82, _b61, PgNumericNumber2, _a83, _b62, PgNumericBigIntBuilder2, _a84, _b63, PgNumericBigInt2, init_numeric2, _a85, _b64, PgPointTupleBuilder2, _a86, _b65, PgPointTuple2, _a87, _b66, PgPointObjectBuilder2, _a88, _b67, PgPointObject2, init_point2, init_utils32, _a89, _b68, PgGeometryBuilder2, _a90, _b69, PgGeometry2, _a91, _b70, PgGeometryObjectBuilder2, _a92, _b71, PgGeometryObject2, init_geometry2, _a93, _b72, PgRealBuilder2, _a94, _b73, PgReal2, init_real2, _a95, _b74, PgSerialBuilder2, _a96, _b75, PgSerial2, init_serial2, _a97, _b76, PgSmallIntBuilder2, _a98, _b77, PgSmallInt2, init_smallint2, _a99, _b78, PgSmallSerialBuilder2, _a100, _b79, PgSmallSerial2, init_smallserial2, _a101, _b80, PgTextBuilder2, _a102, _b81, PgText2, init_text2, _a103, _b82, PgTimeBuilder2, _a104, _b83, PgTime2, init_time2, _a105, _b84, PgTimestampBuilder2, _a106, _b85, PgTimestamp2, _a107, _b86, PgTimestampStringBuilder2, _a108, _b87, PgTimestampString2, init_timestamp2, _a109, _b88, PgUUIDBuilder2, _a110, _b89, PgUUID2, init_uuid3, _a111, _b90, PgVarcharBuilder2, _a112, _b91, PgVarchar2, init_varchar2, _a113, _b92, PgBinaryVectorBuilder2, _a114, _b93, PgBinaryVector2, init_bit2, _a115, _b94, PgHalfVectorBuilder2, _a116, _b95, PgHalfVector2, init_halfvec2, _a117, _b96, PgSparseVectorBuilder2, _a118, _b97, PgSparseVector2, init_sparsevec2, _a119, _b98, PgVectorBuilder2, _a120, _b99, PgVector2, init_vector3, init_all2, InlineForeignKeys2, EnableRLS2, _a121, _b100, _c3, _d2, _e22, _f2, PgTable2, pgTable2, init_table22, _a122, PrimaryKeyBuilder2, _a123, PrimaryKey2, init_primary_keys2, eq2, ne4, gt3, gte2, lt4, lte2, init_conditions2, init_select3, init_expressions2, _a124, Relation2, _a125, Relations2, _a126, _b101, _One, One2, _a127, _b102, _Many, Many2, init_relations2, init_aggregate2, init_vector22, init_functions2, init_sql22, dist_exports, init_dist9, init_alias22, _a128, CheckBuilder, _a129, Check, init_checks6, init_columns2, _a130, _SelectionProxyHandler, SelectionProxyHandler2, init_selection_proxy2, _a131, IndexBuilderOn2, _a132, IndexBuilder2, _a133, Index2, init_indexes2, _a134, PgPolicy, init_policies2, PgViewConfig2, init_view_common22, _a135, CasingCache2, init_casing2, _a136, _b103, PgViewBase2, init_view_base2, _a137, PgDialect2, init_dialect2, _a138, TypedQueryBuilder2, init_query_builder3, _a139, PgSelectBuilder2, _a140, _b104, PgSelectQueryBuilderBase2, _a141, _b105, PgSelectBase2, getPgSetOperators2, union22, unionAll2, intersect2, intersectAll2, except2, exceptAll2, init_select22, _a142, QueryBuilder2, init_query_builder22, _a143, DefaultViewBuilderCore, _a144, _b106, ViewBuilder, _a145, _b107, ManualViewBuilder, _a146, MaterializedViewBuilderCore, _a147, _b108, MaterializedViewBuilder, _a148, _b109, ManualMaterializedViewBuilder, _a149, _b110, _c4, PgView2, PgMaterializedViewConfig2, _a150, _b111, _c5, PgMaterializedView, init_view2, init_utils42, _a151, _b112, PgDeleteBase2, init_delete2, _a152, PgInsertBuilder2, _a153, _b113, PgInsertBase2, init_insert2, _a154, _b114, PgRefreshMaterializedView2, init_refresh_materialized_view2, init_select_types, _a155, PgUpdateBuilder2, _a156, _b115, PgUpdateBase2, init_update2, init_query_builders2, _a157, _b116, _c6, _PgCountBuilder, PgCountBuilder2, init_count2, _a158, RelationalQueryBuilder2, _a159, _b117, PgRelationalQuery2, init_query2, _a160, _b118, PgRaw2, init_raw2, _a161, PgDatabase2, init_db2, _a162, PgRole, init_roles2, _a163, PgSequence, init_sequence2, _a164, PgSchema5, init_schema4, _a165, Cache, _a166, _b119, NoopCache, init_cache, _a167, PgPreparedQuery2, _a168, PgSession2, _a169, _b120, PgTransaction2, init_session3, init_subquery22, init_utils52, init_pg_core2, vectorOps, init_vector32, sqlToStr, init_utils62, indexName, generatePgSnapshot, trimChar, fromDatabase, defaultForColumn, getColumnsInfoQuery, init_pgSerializer, import_hanji4, Select, init_selector_ui, init_alias32, _a170, CheckBuilder2, _a171, Check2, init_checks22, _a172, ForeignKeyBuilder22, _a173, ForeignKey22, init_foreign_keys22, _a174, UniqueConstraintBuilder2, _a175, UniqueOnConstraintBuilder2, _a176, UniqueConstraint2, init_unique_constraint22, _a177, _b121, SQLiteColumnBuilder, _a178, _b122, SQLiteColumn, init_common3, _a179, _b123, SQLiteBigIntBuilder, _a180, _b124, SQLiteBigInt, _a181, _b125, SQLiteBlobJsonBuilder, _a182, _b126, SQLiteBlobJson, _a183, _b127, SQLiteBlobBufferBuilder, _a184, _b128, SQLiteBlobBuffer, init_blob, _a185, _b129, SQLiteCustomColumnBuilder, _a186, _b130, SQLiteCustomColumn, init_custom22, _a187, _b131, SQLiteBaseIntegerBuilder, _a188, _b132, SQLiteBaseInteger, _a189, _b133, SQLiteIntegerBuilder, _a190, _b134, SQLiteInteger, _a191, _b135, SQLiteTimestampBuilder, _a192, _b136, SQLiteTimestamp, _a193, _b137, SQLiteBooleanBuilder, _a194, _b138, SQLiteBoolean, init_integer22, _a195, _b139, SQLiteNumericBuilder, _a196, _b140, SQLiteNumeric, _a197, _b141, SQLiteNumericNumberBuilder, _a198, _b142, SQLiteNumericNumber, _a199, _b143, SQLiteNumericBigIntBuilder, _a200, _b144, SQLiteNumericBigInt, init_numeric22, _a201, _b145, SQLiteRealBuilder, _a202, _b146, SQLiteReal, init_real22, _a203, _b147, SQLiteTextBuilder, _a204, _b148, SQLiteText, _a205, _b149, SQLiteTextJsonBuilder, _a206, _b150, SQLiteTextJson, init_text22, init_columns22, init_all22, InlineForeignKeys22, _a207, _b151, _c7, _d3, _e32, SQLiteTable, sqliteTable, init_table32, _a208, IndexBuilderOn22, _a209, IndexBuilder22, _a210, Index4, init_indexes22, _a211, PrimaryKeyBuilder22, _a212, PrimaryKey22, init_primary_keys22, init_utils72, _a213, _b152, SQLiteDeleteBase, init_delete22, _a214, _b153, SQLiteViewBase, init_view_base22, _a215, SQLiteDialect, _a216, _b154, SQLiteSyncDialect, _a217, _b155, SQLiteAsyncDialect, init_dialect22, _a218, SQLiteSelectBuilder, _a219, _b156, SQLiteSelectQueryBuilderBase, _a220, _b157, SQLiteSelectBase, getSQLiteSetOperators, union32, unionAll22, intersect22, except22, init_select32, _a221, QueryBuilder22, init_query_builder32, _a2222, SQLiteInsertBuilder, _a223, _b158, SQLiteInsertBase, init_insert22, init_select_types2, _a224, SQLiteUpdateBuilder, _a225, _b159, SQLiteUpdateBase, init_update22, init_query_builders22, _a226, _b160, _c8, _SQLiteCountBuilder, SQLiteCountBuilder, init_count22, _a227, RelationalQueryBuilder22, _a228, _b161, SQLiteRelationalQuery, _a229, _b162, SQLiteSyncRelationalQuery, init_query22, _a230, _b163, SQLiteRaw, init_raw22, _a231, BaseSQLiteDatabase, init_db22, _a232, _b164, ExecuteResultSync, _a233, SQLitePreparedQuery, _a234, SQLiteSession, _a235, _b165, SQLiteTransaction, init_session22, init_subquery3, _a236, ViewBuilderCore, _a237, _b166, ViewBuilder2, _a238, _b167, ManualViewBuilder2, _a239, _b168, SQLiteView2, init_view22, init_sqlite_core, generateSqliteSnapshot, fromDatabase2, init_sqliteSerializer, getTablesFilterByExtensions, init_getTablesFilterByExtensions, init_alias4, _a240, CheckBuilder3, _a241, Check3, init_checks32, _a242, ForeignKeyBuilder3, _a243, ForeignKey3, init_foreign_keys3, _a244, UniqueConstraintBuilder3, _a245, UniqueOnConstraintBuilder3, _a246, UniqueConstraint3, init_unique_constraint3, _a247, _b169, MySqlColumnBuilder, _a248, _b170, MySqlColumn, _a249, _b171, MySqlColumnBuilderWithAutoIncrement, _a250, _b172, MySqlColumnWithAutoIncrement, init_common4, _a251, _b173, MySqlBigInt53Builder, _a252, _b174, MySqlBigInt53, _a253, _b175, MySqlBigInt64Builder, _a254, _b176, MySqlBigInt64, init_bigint22, _a255, _b177, MySqlBinaryBuilder, _a256, _b178, MySqlBinary, init_binary, _a257, _b179, MySqlBooleanBuilder, _a258, _b180, MySqlBoolean, init_boolean22, _a259, _b181, MySqlCharBuilder, _a260, _b182, MySqlChar, init_char22, _a261, _b183, MySqlCustomColumnBuilder, _a262, _b184, MySqlCustomColumn, init_custom3, _a263, _b185, MySqlDateBuilder, _a264, _b186, MySqlDate, _a265, _b187, MySqlDateStringBuilder, _a266, _b188, MySqlDateString, init_date22, _a267, _b189, MySqlDateTimeBuilder, _a268, _b190, MySqlDateTime, _a269, _b191, MySqlDateTimeStringBuilder, _a270, _b192, MySqlDateTimeString, init_datetime, _a271, _b193, MySqlDecimalBuilder, _a272, _b194, MySqlDecimal, _a273, _b195, MySqlDecimalNumberBuilder, _a274, _b196, MySqlDecimalNumber, _a275, _b197, MySqlDecimalBigIntBuilder, _a276, _b198, MySqlDecimalBigInt, init_decimal, _a277, _b199, MySqlDoubleBuilder, _a278, _b200, MySqlDouble, init_double, _a279, _b201, MySqlEnumColumnBuilder, _a280, _b202, MySqlEnumColumn, _a281, _b203, MySqlEnumObjectColumnBuilder, _a282, _b204, MySqlEnumObjectColumn, init_enum22, _a283, _b205, MySqlFloatBuilder, _a284, _b206, MySqlFloat, init_float, _a285, _b207, MySqlIntBuilder, _a286, _b208, MySqlInt, init_int, _a287, _b209, MySqlJsonBuilder, _a288, _b210, MySqlJson, init_json22, _a289, _b211, MySqlMediumIntBuilder, _a290, _b212, MySqlMediumInt, init_mediumint, _a291, _b213, MySqlRealBuilder, _a292, _b214, MySqlReal, init_real3, _a293, _b215, MySqlSerialBuilder, _a294, _b216, MySqlSerial, init_serial22, _a295, _b217, MySqlSmallIntBuilder, _a296, _b218, MySqlSmallInt, init_smallint22, _a297, _b219, MySqlTextBuilder, _a298, _b220, MySqlText, init_text3, _a299, _b221, MySqlTimeBuilder, _a300, _b222, MySqlTime, init_time22, _a301, _b223, MySqlDateColumnBaseBuilder, _a302, _b224, MySqlDateBaseColumn, init_date_common22, _a303, _b225, MySqlTimestampBuilder, _a304, _b226, MySqlTimestamp, _a305, _b227, MySqlTimestampStringBuilder, _a306, _b228, MySqlTimestampString, init_timestamp22, _a307, _b229, MySqlTinyIntBuilder, _a308, _b230, MySqlTinyInt, init_tinyint, _a309, _b231, MySqlVarBinaryBuilder, _a310, _b232, MySqlVarBinary, init_varbinary, _a311, _b233, MySqlVarCharBuilder, _a312, _b234, MySqlVarChar, init_varchar22, _a313, _b235, MySqlYearBuilder, _a314, _b236, MySqlYear, init_year, init_columns3, _a315, _b237, _c9, _MySqlCountBuilder, MySqlCountBuilder, init_count3, _a316, IndexBuilderOn3, _a317, IndexBuilder3, _a318, Index5, init_indexes3, init_all3, InlineForeignKeys3, _a319, _b238, _c10, _d4, _e4, MySqlTable, mysqlTable, init_table42, _a320, PrimaryKeyBuilder3, _a321, PrimaryKey3, init_primary_keys3, MySqlViewConfig, init_view_common32, init_utils8, _a3222, _b239, MySqlDeleteBase, init_delete3, _a323, _b240, MySqlViewBase, init_view_base3, _a324, MySqlDialect, init_dialect3, _a325, MySqlSelectBuilder, _a326, _b241, MySqlSelectQueryBuilderBase, _a327, _b242, MySqlSelectBase, getMySqlSetOperators, union4, unionAll3, intersect3, intersectAll22, except3, exceptAll22, init_select4, _a328, QueryBuilder3, init_query_builder4, _a329, MySqlInsertBuilder, _a330, _b243, MySqlInsertBase, init_insert3, init_select_types3, _a331, MySqlUpdateBuilder, _a332, _b244, MySqlUpdateBase, init_update3, init_query_builders3, _a333, RelationalQueryBuilder3, _a334, _b245, MySqlRelationalQuery, init_query3, _a335, MySqlDatabase, init_db3, _a336, ViewBuilderCore2, _a337, _b246, ViewBuilder3, _a338, _b247, ManualViewBuilder3, _a339, _b248, _c11, MySqlView2, init_view3, _a340, MySqlSchema5, init_schema22, _a341, MySqlPreparedQuery, _a342, MySqlSession, _a343, _b249, MySqlTransaction, init_session32, init_subquery4, init_mysql_core, handleEnumType, generateMySqlSnapshot, fromDatabase3, init_mysqlSerializer, cliConfigGenerate, pushParams, pullParams, configCheck, cliConfigCheck, init_cli, gelCredentials, init_gel, libSQLCredentials, init_libsql, mysqlCredentials, init_mysql, postgresCredentials, init_postgres, singlestoreCredentials, init_singlestore, sqliteCredentials, init_sqlite, credentials, studioCliParams, studioConfig, init_studio, es5_exports, _3, es5_default, init_es5, import_hanji7, assertES5, safeRegister, migrateConfig, init_utils9, prepareFromExports, init_pgImports, init_alias5, _a344, UniqueConstraintBuilder4, _a345, UniqueOnConstraintBuilder4, _a346, UniqueConstraint4, init_unique_constraint4, _a347, _b250, SingleStoreColumnBuilder, _a348, _b251, SingleStoreColumn, _a349, _b252, SingleStoreColumnBuilderWithAutoIncrement, _a350, _b253, SingleStoreColumnWithAutoIncrement, init_common5, _a351, _b254, SingleStoreBigInt53Builder, _a352, _b255, SingleStoreBigInt53, _a353, _b256, SingleStoreBigInt64Builder, _a354, _b257, SingleStoreBigInt64, init_bigint3, _a355, _b258, SingleStoreBinaryBuilder, _a356, _b259, SingleStoreBinary, init_binary2, _a357, _b260, SingleStoreBooleanBuilder, _a358, _b261, SingleStoreBoolean, init_boolean3, _a359, _b262, SingleStoreCharBuilder, _a360, _b263, SingleStoreChar, init_char3, _a361, _b264, SingleStoreCustomColumnBuilder, _a362, _b265, SingleStoreCustomColumn, init_custom4, _a363, _b266, SingleStoreDateBuilder, _a364, _b267, SingleStoreDate, _a365, _b268, SingleStoreDateStringBuilder, _a366, _b269, SingleStoreDateString, init_date3, _a367, _b270, SingleStoreDateTimeBuilder, _a368, _b271, SingleStoreDateTime, _a369, _b272, SingleStoreDateTimeStringBuilder, _a370, _b273, SingleStoreDateTimeString, init_datetime2, _a371, _b274, SingleStoreDecimalBuilder, _a372, _b275, SingleStoreDecimal, _a373, _b276, SingleStoreDecimalNumberBuilder, _a374, _b277, SingleStoreDecimalNumber, _a375, _b278, SingleStoreDecimalBigIntBuilder, _a376, _b279, SingleStoreDecimalBigInt, init_decimal2, _a377, _b280, SingleStoreDoubleBuilder, _a378, _b281, SingleStoreDouble, init_double2, _a379, _b282, SingleStoreEnumColumnBuilder, _a380, _b283, SingleStoreEnumColumn, init_enum3, _a381, _b284, SingleStoreFloatBuilder, _a382, _b285, SingleStoreFloat, init_float2, _a383, _b286, SingleStoreIntBuilder, _a384, _b287, SingleStoreInt, init_int2, _a385, _b288, SingleStoreJsonBuilder, _a386, _b289, SingleStoreJson, init_json3, _a387, _b290, SingleStoreMediumIntBuilder, _a388, _b291, SingleStoreMediumInt, init_mediumint2, _a389, _b292, SingleStoreRealBuilder, _a390, _b293, SingleStoreReal, init_real4, _a391, _b294, SingleStoreSerialBuilder, _a392, _b295, SingleStoreSerial, init_serial3, _a393, _b296, SingleStoreSmallIntBuilder, _a394, _b297, SingleStoreSmallInt, init_smallint3, _a395, _b298, SingleStoreTextBuilder, _a396, _b299, SingleStoreText, init_text4, _a397, _b300, SingleStoreTimeBuilder, _a398, _b301, SingleStoreTime, init_time3, _a399, _b302, SingleStoreDateColumnBaseBuilder, _a400, _b303, SingleStoreDateBaseColumn, init_date_common3, _a401, _b304, SingleStoreTimestampBuilder, _a402, _b305, SingleStoreTimestamp, _a403, _b306, SingleStoreTimestampStringBuilder, _a404, _b307, SingleStoreTimestampString, init_timestamp3, _a405, _b308, SingleStoreTinyIntBuilder, _a406, _b309, SingleStoreTinyInt, init_tinyint2, _a407, _b310, SingleStoreVarBinaryBuilder, _a408, _b311, SingleStoreVarBinary, init_varbinary2, _a409, _b312, SingleStoreVarCharBuilder, _a410, _b313, SingleStoreVarChar, init_varchar3, _a411, _b314, SingleStoreVectorBuilder, _a412, _b315, SingleStoreVector, init_vector4, _a413, _b316, SingleStoreYearBuilder, _a414, _b317, SingleStoreYear, init_year2, init_columns4, _a415, _b318, _c12, _SingleStoreCountBuilder, SingleStoreCountBuilder, init_count4, _a416, IndexBuilderOn4, _a417, IndexBuilder4, _a418, Index6, init_indexes4, init_all4, _a419, _b319, _c13, _d5, SingleStoreTable, init_table52, _a420, PrimaryKeyBuilder4, _a421, PrimaryKey4, init_primary_keys4, init_utils10, _a422, _b320, SingleStoreDeleteBase, init_delete4, _a423, SingleStoreInsertBuilder, _a424, _b321, SingleStoreInsertBase, init_insert4, _a425, SingleStoreDialect, init_dialect4, _a426, SingleStoreSelectBuilder, _a427, _b322, SingleStoreSelectQueryBuilderBase, _a428, _b323, SingleStoreSelectBase, getSingleStoreSetOperators, union5, unionAll4, intersect4, except4, minus, init_select5, _a429, QueryBuilder4, init_query_builder5, init_select_types4, _a430, SingleStoreUpdateBuilder, _a431, _b324, SingleStoreUpdateBase, init_update4, init_query_builders4, _a432, SingleStoreDatabase, init_db4, _a433, SingleStoreSchema5, init_schema32, _a434, SingleStorePreparedQuery, _a435, SingleStoreSession, _a436, _b325, SingleStoreTransaction, init_session4, init_subquery5, init_singlestore_core, dialect5, generateSingleStoreSnapshot, fromDatabase4, init_singlestoreSerializer, sqliteImports_exports, prepareFromExports2, prepareFromSqliteImports, init_sqliteImports, mysqlImports_exports, prepareFromExports3, prepareFromMySqlImports, init_mysqlImports, mysqlPushUtils_exports, import_hanji8, filterStatements, logSuggestionsAndReturn2, init_mysqlPushUtils, mysqlIntrospect_exports, import_hanji9, mysqlPushIntrospect, init_mysqlIntrospect, singlestoreImports_exports, prepareFromExports4, prepareFromSingleStoreImports, init_singlestoreImports, singlestorePushUtils_exports, import_hanji10, filterStatements2, logSuggestionsAndReturn3, init_singlestorePushUtils, singlestoreIntrospect_exports, import_hanji11, singlestorePushIntrospect, init_singlestoreIntrospect, import_hanji3, pgPushIntrospect = async (db2, filters, schemaFilters, entities, tsSchema) => {
114242
+ }, __toESM5 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target, mod)), __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value), ANSI_BACKGROUND_OFFSET, wrapAnsi16, wrapAnsi256, wrapAnsi16m, styles2, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default, init_ansi_styles, env, flagForceColor, supportsColor, supports_color_default, init_supports_color, init_utilities, stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles22, applyOptions, chalkFactory, getModelAnsi, usedModels, proto, createStyler, createBuilder, applyStyle, chalk, chalkStderr, source_default, init_source, require_old, require_fs, require_path, require_balanced_match, require_brace_expansion, require_minimatch, require_inherits_browser2, require_inherits2, require_common3, require_sync, require_wrappy, require_once, require_inflight, require_glob, require_readline, require_src3, require_utils4, require_lodash, require_hanji, originUUID, snapshotVersion, mapValues, mapKeys, mapEntries, customMapEntries, init_global2, util3, objectUtil2, ZodParsedType2, getParsedType4, init_util5, ZodIssueCode4, ZodError5, init_ZodError2, errorMap2, en_default4, init_en4, overrideErrorMap2, init_errors9, makeIssue2, ParseStatus2, INVALID3, DIRTY2, OK2, isAborted2, isDirty2, isValid2, isAsync2, init_parseUtil2, init_typeAliases2, errorUtil2, init_errorUtil2, ParseInputLazyPath2, handleResult2, ZodType4, cuidRegex2, cuid2Regex2, ulidRegex2, uuidRegex2, nanoidRegex2, jwtRegex2, durationRegex2, emailRegex2, _emojiRegex2, emojiRegex2, ipv4Regex2, ipv4CidrRegex2, ipv6Regex2, ipv6CidrRegex2, base64Regex2, base64urlRegex2, dateRegexSource2, dateRegex2, ZodString4, ZodNumber4, ZodBigInt4, ZodBoolean4, ZodDate4, ZodSymbol4, ZodUndefined4, ZodNull4, ZodAny4, ZodUnknown4, ZodNever4, ZodVoid4, ZodArray4, ZodObject4, ZodUnion4, getDiscriminator2, ZodDiscriminatedUnion4, ZodIntersection4, ZodTuple4, ZodRecord4, ZodMap4, ZodSet4, ZodFunction3, ZodLazy4, ZodLiteral4, ZodEnum4, ZodNativeEnum2, ZodPromise4, ZodEffects2, ZodOptional4, ZodNullable4, ZodDefault4, ZodCatch4, ZodNaN4, BRAND2, ZodBranded2, ZodPipeline2, ZodReadonly4, late2, ZodFirstPartyTypeKind3, stringType2, numberType2, nanType2, bigIntType2, booleanType2, dateType2, symbolType2, undefinedType2, nullType2, anyType2, unknownType2, neverType2, voidType2, arrayType2, objectType2, strictObjectType2, unionType2, discriminatedUnionType2, intersectionType2, tupleType2, recordType2, mapType2, setType2, functionType2, lazyType2, literalType2, enumType2, nativeEnumType2, promiseType2, effectsType2, optionalType2, nullableType2, preprocessType2, pipelineType2, coerce2, init_types5, init_external4, init_v32, init_esm2, enumSchema, enumSchemaV1, indexColumn, index2, fk, sequenceSchema, roleSchema, sequenceSquashed, column2, checkConstraint, columnSquashed, compositePK, uniqueConstraint, policy, policySquashed, viewWithOption, matViewWithOption, mergedViewWithOption, view2, table8, schemaHash, kitInternals, gelSchemaExternal, gelSchemaInternal, tableSquashed, gelSchemaSquashed, gelSchema, dryGel, init_gelSchema, index22, fk2, column22, tableV3, compositePK2, uniqueConstraint2, checkConstraint2, tableV4, table22, viewMeta, view22, kitInternals2, dialect2, schemaHash2, schemaInternalV3, schemaInternalV4, schemaInternalV5, schemaInternal, schemaV3, schemaV4, schemaV5, schema2, tableSquashedV4, tableSquashed2, viewSquashed, schemaSquashed, schemaSquashedV4, MySqlSquasher, squashMysqlScheme, mysqlSchema, mysqlSchemaV5, mysqlSchemaSquashed, backwardCompatibleMysqlSchema, dryMySql, init_mysqlSchema, indexV2, columnV2, tableV2, enumSchemaV12, enumSchema2, pgSchemaV2, references, columnV1, tableV1, pgSchemaV1, indexColumn2, index3, indexV4, indexV5, indexV6, fk3, sequenceSchema2, roleSchema2, sequenceSquashed2, columnV7, column3, checkConstraint3, columnSquashed2, tableV32, compositePK3, uniqueConstraint3, policy2, policySquashed2, viewWithOption2, matViewWithOption2, mergedViewWithOption2, view3, tableV42, tableV5, tableV6, tableV7, table32, schemaHash3, kitInternals3, pgSchemaInternalV3, pgSchemaInternalV4, pgSchemaInternalV5, pgSchemaInternalV6, pgSchemaExternal, pgSchemaInternalV7, pgSchemaInternal, tableSquashed3, tableSquashedV42, pgSchemaSquashedV4, pgSchemaSquashedV6, pgSchemaSquashed, pgSchemaV3, pgSchemaV4, pgSchemaV5, pgSchemaV6, pgSchemaV7, pgSchema, backwardCompatiblePgSchema, PgSquasher, squashPgScheme, dryPg, init_pgSchema, index4, column4, compositePK4, uniqueConstraint4, table42, viewMeta2, kitInternals4, dialect22, schemaHash4, schemaInternal2, schema22, tableSquashed4, schemaSquashed2, SingleStoreSquasher, squashSingleStoreScheme, singlestoreSchema, singlestoreSchemaSquashed, backwardCompatibleSingleStoreSchema, drySingleStore, init_singlestoreSchema, index5, fk4, compositePK5, column5, tableV33, uniqueConstraint5, checkConstraint4, table52, view4, dialect3, schemaHash5, schemaInternalV32, schemaInternalV42, schemaInternalV52, kitInternals5, latestVersion, schemaInternal3, schemaV32, schemaV42, schemaV52, schema3, tableSquashed5, schemaSquashed3, SQLiteSquasher, squashSqliteScheme, drySQLite, sqliteSchemaV5, sqliteSchema, SQLiteSchemaSquashed, backwardCompatibleSqliteSchema, init_sqliteSchema, copy, prepareMigrationMeta, schemaRenameKey, tableRenameKey, columnRenameKey, init_utils7, import_hanji, warning, error88, isRenamePromptItem, ResolveColumnSelect, tableKey, ResolveSelectNamed, ResolveSelect, ResolveSchemasSelect, Spinner2, ProgressView, init_views, glob, init_serializer, fillPgSnapshot, init_migrationPreparator, require_heap, require_heap2, require_difflib, require_difflib2, require_util2, require_styles, require_has_flag2, require_supports_colors, require_trap, require_zalgo, require_america, require_zebra, require_rainbow, require_random, require_colors, require_safe, require_colorize, require_lib4, import_json_diff, mapArraysDiff, findAlternationsInTable, alternationsInColumn, init_jsonDiffer, parseType, Convertor, PgCreateRoleConvertor, PgDropRoleConvertor, PgRenameRoleConvertor, PgAlterRoleConvertor, PgCreatePolicyConvertor, PgDropPolicyConvertor, PgRenamePolicyConvertor, PgAlterPolicyConvertor, PgCreateIndPolicyConvertor, PgDropIndPolicyConvertor, PgRenameIndPolicyConvertor, PgAlterIndPolicyConvertor, PgEnableRlsConvertor, PgDisableRlsConvertor, PgCreateTableConvertor, MySqlCreateTableConvertor, SingleStoreCreateTableConvertor, SQLiteCreateTableConvertor, PgCreateViewConvertor, MySqlCreateViewConvertor, SqliteCreateViewConvertor, PgDropViewConvertor, MySqlDropViewConvertor, SqliteDropViewConvertor, MySqlAlterViewConvertor, PgRenameViewConvertor, MySqlRenameViewConvertor, PgAlterViewSchemaConvertor, PgAlterViewAddWithOptionConvertor, PgAlterViewDropWithOptionConvertor, PgAlterViewAlterTablespaceConvertor, PgAlterViewAlterUsingConvertor, PgAlterTableAlterColumnSetGenerated, PgAlterTableAlterColumnDropGenerated, PgAlterTableAlterColumnAlterGenerated, PgAlterTableAddUniqueConstraintConvertor, PgAlterTableDropUniqueConstraintConvertor, PgAlterTableAddCheckConstraintConvertor, PgAlterTableDeleteCheckConstraintConvertor, MySQLAlterTableAddUniqueConstraintConvertor, MySQLAlterTableDropUniqueConstraintConvertor, MySqlAlterTableAddCheckConstraintConvertor, SingleStoreAlterTableAddUniqueConstraintConvertor, SingleStoreAlterTableDropUniqueConstraintConvertor, MySqlAlterTableDeleteCheckConstraintConvertor, CreatePgSequenceConvertor, DropPgSequenceConvertor, RenamePgSequenceConvertor, MovePgSequenceConvertor, AlterPgSequenceConvertor, CreateTypeEnumConvertor, DropTypeEnumConvertor, AlterTypeAddValueConvertor, AlterTypeSetSchemaConvertor, AlterRenameTypeConvertor, AlterTypeDropValueConvertor, PgDropTableConvertor, MySQLDropTableConvertor, SingleStoreDropTableConvertor, SQLiteDropTableConvertor, PgRenameTableConvertor, SqliteRenameTableConvertor, MySqlRenameTableConvertor, SingleStoreRenameTableConvertor, PgAlterTableRenameColumnConvertor, MySqlAlterTableRenameColumnConvertor, SingleStoreAlterTableRenameColumnConvertor, SQLiteAlterTableRenameColumnConvertor, PgAlterTableDropColumnConvertor, MySqlAlterTableDropColumnConvertor, SingleStoreAlterTableDropColumnConvertor, SQLiteAlterTableDropColumnConvertor, PgAlterTableAddColumnConvertor, MySqlAlterTableAddColumnConvertor, SingleStoreAlterTableAddColumnConvertor, SQLiteAlterTableAddColumnConvertor, PgAlterTableAlterColumnSetTypeConvertor, PgAlterTableAlterColumnSetDefaultConvertor, PgAlterTableAlterColumnDropDefaultConvertor, PgAlterTableAlterColumnDropGeneratedConvertor, PgAlterTableAlterColumnSetExpressionConvertor, PgAlterTableAlterColumnAlterrGeneratedConvertor, SqliteAlterTableAlterColumnDropGeneratedConvertor, SqliteAlterTableAlterColumnSetExpressionConvertor, SqliteAlterTableAlterColumnAlterGeneratedConvertor, MySqlAlterTableAlterColumnAlterrGeneratedConvertor, MySqlAlterTableAddPk, MySqlAlterTableDropPk, LibSQLModifyColumn, MySqlModifyColumn, SingleStoreAlterTableAlterColumnAlterrGeneratedConvertor, SingleStoreAlterTableAddPk, SingleStoreAlterTableDropPk, SingleStoreModifyColumn, PgAlterTableCreateCompositePrimaryKeyConvertor, PgAlterTableDeleteCompositePrimaryKeyConvertor, PgAlterTableAlterCompositePrimaryKeyConvertor, MySqlAlterTableCreateCompositePrimaryKeyConvertor, MySqlAlterTableDeleteCompositePrimaryKeyConvertor, MySqlAlterTableAlterCompositePrimaryKeyConvertor, PgAlterTableAlterColumnSetPrimaryKeyConvertor, PgAlterTableAlterColumnDropPrimaryKeyConvertor, PgAlterTableAlterColumnSetNotNullConvertor, PgAlterTableAlterColumnDropNotNullConvertor, PgCreateForeignKeyConvertor, LibSQLCreateForeignKeyConvertor, MySqlCreateForeignKeyConvertor, PgAlterForeignKeyConvertor, PgDeleteForeignKeyConvertor, MySqlDeleteForeignKeyConvertor, CreatePgIndexConvertor, CreateMySqlIndexConvertor, CreateSingleStoreIndexConvertor, CreateSqliteIndexConvertor, PgDropIndexConvertor, PgCreateSchemaConvertor, PgRenameSchemaConvertor, PgDropSchemaConvertor, PgAlterTableSetSchemaConvertor, PgAlterTableSetNewSchemaConvertor, PgAlterTableRemoveFromSchemaConvertor, SqliteDropIndexConvertor, MySqlDropIndexConvertor, SingleStoreDropIndexConvertor, SQLiteRecreateTableConvertor, LibSQLRecreateTableConvertor, SingleStoreRecreateTableConvertor, convertors, init_sqlgenerator, _moveDataStatements, getOldTableName, getNewTableName, logSuggestionsAndReturn, init_sqlitePushUtils, preparePgCreateTableJson, prepareMySqlCreateTableJson, prepareSingleStoreCreateTableJson, prepareSQLiteCreateTable, prepareDropTableJson, prepareRenameTableJson, prepareCreateEnumJson, prepareAddValuesToEnumJson, prepareDropEnumValues, prepareDropEnumJson, prepareMoveEnumJson, prepareRenameEnumJson, prepareCreateSequenceJson, prepareAlterSequenceJson, prepareDropSequenceJson, prepareMoveSequenceJson, prepareRenameSequenceJson, prepareCreateRoleJson, prepareAlterRoleJson, prepareDropRoleJson, prepareRenameRoleJson, prepareCreateSchemasJson, prepareRenameSchemasJson, prepareDeleteSchemasJson, prepareRenameColumns, _prepareDropColumns, _prepareAddColumns, _prepareSqliteAddColumns, prepareAlterColumnsMysql, preparePgAlterColumns, prepareSqliteAlterColumns, prepareRenamePolicyJsons, prepareRenameIndPolicyJsons, prepareCreatePolicyJsons, prepareCreateIndPolicyJsons, prepareDropPolicyJsons, prepareDropIndPolicyJsons, prepareAlterPolicyJson, prepareAlterIndPolicyJson, preparePgCreateIndexesJson, prepareCreateIndexesJson, prepareCreateReferencesJson, prepareLibSQLCreateReferencesJson, prepareDropReferencesJson, prepareLibSQLDropReferencesJson, prepareAlterReferencesJson, prepareDropIndexesJson, prepareAddCompositePrimaryKeySqlite, prepareDeleteCompositePrimaryKeySqlite, prepareAlterCompositePrimaryKeySqlite, prepareAddCompositePrimaryKeyPg, prepareDeleteCompositePrimaryKeyPg, prepareAlterCompositePrimaryKeyPg, prepareAddUniqueConstraintPg, prepareDeleteUniqueConstraintPg, prepareAddCheckConstraint, prepareDeleteCheckConstraint, prepareAddCompositePrimaryKeyMySql, prepareDeleteCompositePrimaryKeyMySql, prepareAlterCompositePrimaryKeyMySql, preparePgCreateViewJson, prepareMySqlCreateViewJson, prepareSqliteCreateViewJson, prepareDropViewJson, prepareRenameViewJson, preparePgAlterViewAlterSchemaJson, preparePgAlterViewAddWithOptionJson, preparePgAlterViewDropWithOptionJson, preparePgAlterViewAlterTablespaceJson, preparePgAlterViewAlterUsingJson, prepareMySqlAlterView, init_jsonStatements, prepareLibSQLRecreateTable, prepareSQLiteRecreateTable, libSQLCombineStatements, sqliteCombineStatements, prepareSingleStoreRecreateTable, singleStoreCombineStatements, init_statementCombiner, snapshotsDiffer_exports, makeChanged, makeSelfOrChanged, makePatched, makeSelfOrPatched, columnSchema, alteredColumnSchema, enumSchema3, changedEnumSchema, tableScheme, alteredTableScheme, alteredViewCommon, alteredPgViewSchema, alteredMySqlViewSchema, diffResultScheme, diffResultSchemeMysql, diffResultSchemeSingleStore, diffResultSchemeSQLite, schemaChangeFor, nameChangeFor, nameSchemaChangeFor, columnChangeFor, applyPgSnapshotsDiff, applyMysqlSnapshotsDiff, applySingleStoreSnapshotsDiff, applySqliteSnapshotsDiff, applyLibSQLSnapshotsDiff, init_snapshotsDiffer, init_words, dialects, dialect4, commonSquashedSchema, commonSchema, init_schemaValidator, sqliteDriversLiterals, postgresqlDriversLiterals, prefixes, prefix, casingTypes, casingType, sqliteDriver, postgresDriver, driver2, configMigrations, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema, init_common2, withStyle, init_outputs, import_hanji2, schemasResolver, tablesResolver, viewsResolver, mySqlViewsResolver, sqliteViewsResolver, sequencesResolver, roleResolver, policyResolver, indPolicyResolver, enumsResolver, columnsResolver, promptColumnsConflicts, promptNamedConflict, promptNamedWithSchemasConflict, promptSchemasConflict, BREAKPOINT, init_migrate, posixClasses, braceEscape, regexpEscape, rangesToString, parseClass, init_brace_expressions, escape, init_escape, unescape, init_unescape, import_brace_expansion, minimatch, starDotExtRE, starDotExtTest, starDotExtTestDot, starDotExtTestNocase, starDotExtTestNocaseDot, starDotStarRE, starDotStarTest, starDotStarTestDot, dotStarRE, dotStarTest, starRE, starTest, starTestDot, qmarksRE, qmarksTestNocase, qmarksTestNocaseDot, qmarksTestDot, qmarksTest, qmarksTestNoExt, qmarksTestNoExtDot, defaultPlatform, path, sep3, GLOBSTAR, plTypes, qmark, star, twoStarDot, twoStarNoDot, charSet, reSpecials, addPatternStartSet, filter, ext, defaults, braceExpand, MAX_PATTERN_LENGTH, assertValidPattern, makeRe, match2, globUnescape, globMagic, regExpEscape, Minimatch, init_mjs, entityKind2, hasOwnEntityKind2, init_entity2, _a3, Column2, init_column2, _a22, ColumnBuilder2, init_column_builder2, TableName2, init_table_utils2, _a32, ForeignKeyBuilder2, _a4, ForeignKey2, init_foreign_keys2, init_tracing_utils2, _a5, UniqueConstraintBuilder, _a6, UniqueOnConstraintBuilder, _a7, UniqueConstraint, init_unique_constraint2, init_array2, _a8, _b, PgColumnBuilder2, _a9, _b2, PgColumn2, _a10, _b3, ExtraConfigColumn2, _a11, IndexedColumn2, _a12, _b4, PgArrayBuilder2, _a13, _b5, _PgArray, PgArray2, init_common22, _a14, _b6, PgEnumObjectColumnBuilder2, _a15, _b7, PgEnumObjectColumn2, isPgEnumSym2, _a16, _b8, PgEnumColumnBuilder2, _a17, _b9, PgEnumColumn2, init_enum2, _a18, Subquery2, _a19, _b10, WithSubquery2, init_subquery2, version4, init_version2, otel2, rawTracer2, tracer2, init_tracing2, ViewBaseConfig2, init_view_common3, Schema2, Columns2, ExtraConfigColumns2, OriginalName2, BaseName2, IsAlias2, ExtraConfigBuilder2, IsDrizzleTable2, _a20, _b11, _c, _d, _e3, _f, _g, _h, _i, _j, Table2, init_table8, _a21, FakePrimitiveParam, _a222, StringChunk2, _a23, _SQL, SQL2, _a24, Name2, noopDecoder2, noopEncoder2, noopMapper2, _a25, Param2, _a26, Placeholder2, IsDrizzleView2, _a27, _b12, _c2, View3, init_sql5, _a28, ColumnAliasProxyHandler2, _a29, TableAliasProxyHandler2, _a30, RelationTableAliasProxyHandler, init_alias3, _a31, _b13, DrizzleError2, DrizzleQueryError, _a322, _b14, TransactionRollbackError2, init_errors22, _a33, ConsoleLogWriter2, _a34, DefaultLogger2, _a35, NoopLogger2, init_logger3, init_operations, _a36, _b15, QueryPromise2, init_query_promise2, textDecoder, init_utils22, _a37, _b16, PgIntColumnBaseBuilder2, init_int_common2, _a38, _b17, PgBigInt53Builder2, _a39, _b18, PgBigInt532, _a40, _b19, PgBigInt64Builder2, _a41, _b20, PgBigInt642, init_bigint2, _a42, _b21, PgBigSerial53Builder2, _a43, _b22, PgBigSerial532, _a44, _b23, PgBigSerial64Builder2, _a45, _b24, PgBigSerial642, init_bigserial2, _a46, _b25, PgBooleanBuilder2, _a47, _b26, PgBoolean2, init_boolean2, _a48, _b27, PgCharBuilder2, _a49, _b28, PgChar2, init_char2, _a50, _b29, PgCidrBuilder2, _a51, _b30, PgCidr2, init_cidr2, _a52, _b31, PgCustomColumnBuilder2, _a53, _b32, PgCustomColumn2, init_custom2, _a54, _b33, PgDateColumnBaseBuilder2, init_date_common2, _a55, _b34, PgDateBuilder2, _a56, _b35, PgDate2, _a57, _b36, PgDateStringBuilder2, _a58, _b37, PgDateString2, init_date2, _a59, _b38, PgDoublePrecisionBuilder2, _a60, _b39, PgDoublePrecision2, init_double_precision2, _a61, _b40, PgInetBuilder2, _a62, _b41, PgInet2, init_inet2, _a63, _b42, PgIntegerBuilder2, _a64, _b43, PgInteger2, init_integer2, _a65, _b44, PgIntervalBuilder2, _a66, _b45, PgInterval2, init_interval2, _a67, _b46, PgJsonBuilder2, _a68, _b47, PgJson2, init_json2, _a69, _b48, PgJsonbBuilder2, _a70, _b49, PgJsonb2, init_jsonb2, _a71, _b50, PgLineBuilder2, _a72, _b51, PgLineTuple2, _a73, _b52, PgLineABCBuilder2, _a74, _b53, PgLineABC2, init_line2, _a75, _b54, PgMacaddrBuilder2, _a76, _b55, PgMacaddr2, init_macaddr2, _a77, _b56, PgMacaddr8Builder2, _a78, _b57, PgMacaddr82, init_macaddr82, _a79, _b58, PgNumericBuilder2, _a80, _b59, PgNumeric2, _a81, _b60, PgNumericNumberBuilder2, _a82, _b61, PgNumericNumber2, _a83, _b62, PgNumericBigIntBuilder2, _a84, _b63, PgNumericBigInt2, init_numeric2, _a85, _b64, PgPointTupleBuilder2, _a86, _b65, PgPointTuple2, _a87, _b66, PgPointObjectBuilder2, _a88, _b67, PgPointObject2, init_point2, init_utils32, _a89, _b68, PgGeometryBuilder2, _a90, _b69, PgGeometry2, _a91, _b70, PgGeometryObjectBuilder2, _a92, _b71, PgGeometryObject2, init_geometry2, _a93, _b72, PgRealBuilder2, _a94, _b73, PgReal2, init_real2, _a95, _b74, PgSerialBuilder2, _a96, _b75, PgSerial2, init_serial2, _a97, _b76, PgSmallIntBuilder2, _a98, _b77, PgSmallInt2, init_smallint2, _a99, _b78, PgSmallSerialBuilder2, _a100, _b79, PgSmallSerial2, init_smallserial2, _a101, _b80, PgTextBuilder2, _a102, _b81, PgText2, init_text2, _a103, _b82, PgTimeBuilder2, _a104, _b83, PgTime2, init_time2, _a105, _b84, PgTimestampBuilder2, _a106, _b85, PgTimestamp2, _a107, _b86, PgTimestampStringBuilder2, _a108, _b87, PgTimestampString2, init_timestamp2, _a109, _b88, PgUUIDBuilder2, _a110, _b89, PgUUID2, init_uuid3, _a111, _b90, PgVarcharBuilder2, _a112, _b91, PgVarchar2, init_varchar2, _a113, _b92, PgBinaryVectorBuilder2, _a114, _b93, PgBinaryVector2, init_bit2, _a115, _b94, PgHalfVectorBuilder2, _a116, _b95, PgHalfVector2, init_halfvec2, _a117, _b96, PgSparseVectorBuilder2, _a118, _b97, PgSparseVector2, init_sparsevec2, _a119, _b98, PgVectorBuilder2, _a120, _b99, PgVector2, init_vector3, init_all2, InlineForeignKeys2, EnableRLS2, _a121, _b100, _c3, _d2, _e22, _f2, PgTable2, pgTable2, init_table22, _a122, PrimaryKeyBuilder2, _a123, PrimaryKey2, init_primary_keys2, eq2, ne4, gt3, gte2, lt4, lte2, init_conditions2, init_select3, init_expressions2, _a124, Relation2, _a125, Relations2, _a126, _b101, _One, One2, _a127, _b102, _Many, Many2, init_relations2, init_aggregate2, init_vector22, init_functions2, init_sql22, dist_exports, init_dist9, init_alias22, _a128, CheckBuilder2, _a129, Check2, init_checks6, init_columns2, _a130, _SelectionProxyHandler, SelectionProxyHandler2, init_selection_proxy2, _a131, IndexBuilderOn2, _a132, IndexBuilder2, _a133, Index2, init_indexes2, _a134, PgPolicy, init_policies2, PgViewConfig2, init_view_common22, _a135, CasingCache2, init_casing2, _a136, _b103, PgViewBase2, init_view_base2, _a137, PgDialect2, init_dialect2, _a138, TypedQueryBuilder2, init_query_builder3, _a139, PgSelectBuilder2, _a140, _b104, PgSelectQueryBuilderBase2, _a141, _b105, PgSelectBase2, getPgSetOperators2, union22, unionAll2, intersect2, intersectAll2, except2, exceptAll2, init_select22, _a142, QueryBuilder2, init_query_builder22, _a143, DefaultViewBuilderCore, _a144, _b106, ViewBuilder, _a145, _b107, ManualViewBuilder, _a146, MaterializedViewBuilderCore, _a147, _b108, MaterializedViewBuilder, _a148, _b109, ManualMaterializedViewBuilder, _a149, _b110, _c4, PgView2, PgMaterializedViewConfig2, _a150, _b111, _c5, PgMaterializedView, init_view2, init_utils42, _a151, _b112, PgDeleteBase2, init_delete2, _a152, PgInsertBuilder2, _a153, _b113, PgInsertBase2, init_insert2, _a154, _b114, PgRefreshMaterializedView2, init_refresh_materialized_view2, init_select_types, _a155, PgUpdateBuilder2, _a156, _b115, PgUpdateBase2, init_update2, init_query_builders2, _a157, _b116, _c6, _PgCountBuilder, PgCountBuilder2, init_count2, _a158, RelationalQueryBuilder2, _a159, _b117, PgRelationalQuery2, init_query2, _a160, _b118, PgRaw2, init_raw2, _a161, PgDatabase2, init_db2, _a162, PgRole, init_roles2, _a163, PgSequence, init_sequence2, _a164, PgSchema5, init_schema4, _a165, Cache, _a166, _b119, NoopCache, init_cache, _a167, PgPreparedQuery2, _a168, PgSession2, _a169, _b120, PgTransaction2, init_session3, init_subquery22, init_utils52, init_pg_core2, vectorOps, init_vector32, sqlToStr, init_utils62, indexName, generatePgSnapshot, trimChar, fromDatabase, defaultForColumn, getColumnsInfoQuery, init_pgSerializer, import_hanji4, Select, init_selector_ui, init_alias32, _a170, CheckBuilder22, _a171, Check22, init_checks22, _a172, ForeignKeyBuilder22, _a173, ForeignKey22, init_foreign_keys22, _a174, UniqueConstraintBuilder2, _a175, UniqueOnConstraintBuilder2, _a176, UniqueConstraint2, init_unique_constraint22, _a177, _b121, SQLiteColumnBuilder, _a178, _b122, SQLiteColumn, init_common3, _a179, _b123, SQLiteBigIntBuilder, _a180, _b124, SQLiteBigInt, _a181, _b125, SQLiteBlobJsonBuilder, _a182, _b126, SQLiteBlobJson, _a183, _b127, SQLiteBlobBufferBuilder, _a184, _b128, SQLiteBlobBuffer, init_blob, _a185, _b129, SQLiteCustomColumnBuilder, _a186, _b130, SQLiteCustomColumn, init_custom22, _a187, _b131, SQLiteBaseIntegerBuilder, _a188, _b132, SQLiteBaseInteger, _a189, _b133, SQLiteIntegerBuilder, _a190, _b134, SQLiteInteger, _a191, _b135, SQLiteTimestampBuilder, _a192, _b136, SQLiteTimestamp, _a193, _b137, SQLiteBooleanBuilder, _a194, _b138, SQLiteBoolean, init_integer22, _a195, _b139, SQLiteNumericBuilder, _a196, _b140, SQLiteNumeric, _a197, _b141, SQLiteNumericNumberBuilder, _a198, _b142, SQLiteNumericNumber, _a199, _b143, SQLiteNumericBigIntBuilder, _a200, _b144, SQLiteNumericBigInt, init_numeric22, _a201, _b145, SQLiteRealBuilder, _a202, _b146, SQLiteReal, init_real22, _a203, _b147, SQLiteTextBuilder, _a204, _b148, SQLiteText, _a205, _b149, SQLiteTextJsonBuilder, _a206, _b150, SQLiteTextJson, init_text22, init_columns22, init_all22, InlineForeignKeys22, _a207, _b151, _c7, _d3, _e32, SQLiteTable, sqliteTable, init_table32, _a208, IndexBuilderOn22, _a209, IndexBuilder22, _a210, Index4, init_indexes22, _a211, PrimaryKeyBuilder22, _a212, PrimaryKey22, init_primary_keys22, init_utils72, _a213, _b152, SQLiteDeleteBase, init_delete22, _a214, _b153, SQLiteViewBase, init_view_base22, _a215, SQLiteDialect, _a216, _b154, SQLiteSyncDialect, _a217, _b155, SQLiteAsyncDialect, init_dialect22, _a218, SQLiteSelectBuilder, _a219, _b156, SQLiteSelectQueryBuilderBase, _a220, _b157, SQLiteSelectBase, getSQLiteSetOperators, union32, unionAll22, intersect22, except22, init_select32, _a221, QueryBuilder22, init_query_builder32, _a2222, SQLiteInsertBuilder, _a223, _b158, SQLiteInsertBase, init_insert22, init_select_types2, _a224, SQLiteUpdateBuilder, _a225, _b159, SQLiteUpdateBase, init_update22, init_query_builders22, _a226, _b160, _c8, _SQLiteCountBuilder, SQLiteCountBuilder, init_count22, _a227, RelationalQueryBuilder22, _a228, _b161, SQLiteRelationalQuery, _a229, _b162, SQLiteSyncRelationalQuery, init_query22, _a230, _b163, SQLiteRaw, init_raw22, _a231, BaseSQLiteDatabase, init_db22, _a232, _b164, ExecuteResultSync, _a233, SQLitePreparedQuery, _a234, SQLiteSession, _a235, _b165, SQLiteTransaction, init_session22, init_subquery3, _a236, ViewBuilderCore, _a237, _b166, ViewBuilder2, _a238, _b167, ManualViewBuilder2, _a239, _b168, SQLiteView2, init_view22, init_sqlite_core, generateSqliteSnapshot, fromDatabase2, init_sqliteSerializer, getTablesFilterByExtensions, init_getTablesFilterByExtensions, init_alias4, _a240, CheckBuilder3, _a241, Check3, init_checks32, _a242, ForeignKeyBuilder3, _a243, ForeignKey3, init_foreign_keys3, _a244, UniqueConstraintBuilder3, _a245, UniqueOnConstraintBuilder3, _a246, UniqueConstraint3, init_unique_constraint3, _a247, _b169, MySqlColumnBuilder, _a248, _b170, MySqlColumn, _a249, _b171, MySqlColumnBuilderWithAutoIncrement, _a250, _b172, MySqlColumnWithAutoIncrement, init_common4, _a251, _b173, MySqlBigInt53Builder, _a252, _b174, MySqlBigInt53, _a253, _b175, MySqlBigInt64Builder, _a254, _b176, MySqlBigInt64, init_bigint22, _a255, _b177, MySqlBinaryBuilder, _a256, _b178, MySqlBinary, init_binary, _a257, _b179, MySqlBooleanBuilder, _a258, _b180, MySqlBoolean, init_boolean22, _a259, _b181, MySqlCharBuilder, _a260, _b182, MySqlChar, init_char22, _a261, _b183, MySqlCustomColumnBuilder, _a262, _b184, MySqlCustomColumn, init_custom3, _a263, _b185, MySqlDateBuilder, _a264, _b186, MySqlDate, _a265, _b187, MySqlDateStringBuilder, _a266, _b188, MySqlDateString, init_date22, _a267, _b189, MySqlDateTimeBuilder, _a268, _b190, MySqlDateTime, _a269, _b191, MySqlDateTimeStringBuilder, _a270, _b192, MySqlDateTimeString, init_datetime, _a271, _b193, MySqlDecimalBuilder, _a272, _b194, MySqlDecimal, _a273, _b195, MySqlDecimalNumberBuilder, _a274, _b196, MySqlDecimalNumber, _a275, _b197, MySqlDecimalBigIntBuilder, _a276, _b198, MySqlDecimalBigInt, init_decimal, _a277, _b199, MySqlDoubleBuilder, _a278, _b200, MySqlDouble, init_double, _a279, _b201, MySqlEnumColumnBuilder, _a280, _b202, MySqlEnumColumn, _a281, _b203, MySqlEnumObjectColumnBuilder, _a282, _b204, MySqlEnumObjectColumn, init_enum22, _a283, _b205, MySqlFloatBuilder, _a284, _b206, MySqlFloat, init_float, _a285, _b207, MySqlIntBuilder, _a286, _b208, MySqlInt, init_int, _a287, _b209, MySqlJsonBuilder, _a288, _b210, MySqlJson, init_json22, _a289, _b211, MySqlMediumIntBuilder, _a290, _b212, MySqlMediumInt, init_mediumint, _a291, _b213, MySqlRealBuilder, _a292, _b214, MySqlReal, init_real3, _a293, _b215, MySqlSerialBuilder, _a294, _b216, MySqlSerial, init_serial22, _a295, _b217, MySqlSmallIntBuilder, _a296, _b218, MySqlSmallInt, init_smallint22, _a297, _b219, MySqlTextBuilder, _a298, _b220, MySqlText, init_text3, _a299, _b221, MySqlTimeBuilder, _a300, _b222, MySqlTime, init_time22, _a301, _b223, MySqlDateColumnBaseBuilder, _a302, _b224, MySqlDateBaseColumn, init_date_common22, _a303, _b225, MySqlTimestampBuilder, _a304, _b226, MySqlTimestamp, _a305, _b227, MySqlTimestampStringBuilder, _a306, _b228, MySqlTimestampString, init_timestamp22, _a307, _b229, MySqlTinyIntBuilder, _a308, _b230, MySqlTinyInt, init_tinyint, _a309, _b231, MySqlVarBinaryBuilder, _a310, _b232, MySqlVarBinary, init_varbinary, _a311, _b233, MySqlVarCharBuilder, _a312, _b234, MySqlVarChar, init_varchar22, _a313, _b235, MySqlYearBuilder, _a314, _b236, MySqlYear, init_year, init_columns3, _a315, _b237, _c9, _MySqlCountBuilder, MySqlCountBuilder, init_count3, _a316, IndexBuilderOn3, _a317, IndexBuilder3, _a318, Index5, init_indexes3, init_all3, InlineForeignKeys3, _a319, _b238, _c10, _d4, _e4, MySqlTable, mysqlTable, init_table42, _a320, PrimaryKeyBuilder3, _a321, PrimaryKey3, init_primary_keys3, MySqlViewConfig, init_view_common32, init_utils8, _a3222, _b239, MySqlDeleteBase, init_delete3, _a323, _b240, MySqlViewBase, init_view_base3, _a324, MySqlDialect, init_dialect3, _a325, MySqlSelectBuilder, _a326, _b241, MySqlSelectQueryBuilderBase, _a327, _b242, MySqlSelectBase, getMySqlSetOperators, union4, unionAll3, intersect3, intersectAll22, except3, exceptAll22, init_select4, _a328, QueryBuilder3, init_query_builder4, _a329, MySqlInsertBuilder, _a330, _b243, MySqlInsertBase, init_insert3, init_select_types3, _a331, MySqlUpdateBuilder, _a332, _b244, MySqlUpdateBase, init_update3, init_query_builders3, _a333, RelationalQueryBuilder3, _a334, _b245, MySqlRelationalQuery, init_query3, _a335, MySqlDatabase, init_db3, _a336, ViewBuilderCore2, _a337, _b246, ViewBuilder3, _a338, _b247, ManualViewBuilder3, _a339, _b248, _c11, MySqlView2, init_view3, _a340, MySqlSchema5, init_schema22, _a341, MySqlPreparedQuery, _a342, MySqlSession, _a343, _b249, MySqlTransaction, init_session32, init_subquery4, init_mysql_core, handleEnumType, generateMySqlSnapshot, fromDatabase3, init_mysqlSerializer, cliConfigGenerate, pushParams, pullParams, configCheck, cliConfigCheck, init_cli, gelCredentials, init_gel, libSQLCredentials, init_libsql, mysqlCredentials, init_mysql, postgresCredentials, init_postgres, singlestoreCredentials, init_singlestore, sqliteCredentials, init_sqlite, credentials, studioCliParams, studioConfig, init_studio, es5_exports, _3, es5_default, init_es5, import_hanji7, assertES5, safeRegister, migrateConfig, init_utils9, prepareFromExports, init_pgImports, init_alias5, _a344, UniqueConstraintBuilder4, _a345, UniqueOnConstraintBuilder4, _a346, UniqueConstraint4, init_unique_constraint4, _a347, _b250, SingleStoreColumnBuilder, _a348, _b251, SingleStoreColumn, _a349, _b252, SingleStoreColumnBuilderWithAutoIncrement, _a350, _b253, SingleStoreColumnWithAutoIncrement, init_common5, _a351, _b254, SingleStoreBigInt53Builder, _a352, _b255, SingleStoreBigInt53, _a353, _b256, SingleStoreBigInt64Builder, _a354, _b257, SingleStoreBigInt64, init_bigint3, _a355, _b258, SingleStoreBinaryBuilder, _a356, _b259, SingleStoreBinary, init_binary2, _a357, _b260, SingleStoreBooleanBuilder, _a358, _b261, SingleStoreBoolean, init_boolean3, _a359, _b262, SingleStoreCharBuilder, _a360, _b263, SingleStoreChar, init_char3, _a361, _b264, SingleStoreCustomColumnBuilder, _a362, _b265, SingleStoreCustomColumn, init_custom4, _a363, _b266, SingleStoreDateBuilder, _a364, _b267, SingleStoreDate, _a365, _b268, SingleStoreDateStringBuilder, _a366, _b269, SingleStoreDateString, init_date3, _a367, _b270, SingleStoreDateTimeBuilder, _a368, _b271, SingleStoreDateTime, _a369, _b272, SingleStoreDateTimeStringBuilder, _a370, _b273, SingleStoreDateTimeString, init_datetime2, _a371, _b274, SingleStoreDecimalBuilder, _a372, _b275, SingleStoreDecimal, _a373, _b276, SingleStoreDecimalNumberBuilder, _a374, _b277, SingleStoreDecimalNumber, _a375, _b278, SingleStoreDecimalBigIntBuilder, _a376, _b279, SingleStoreDecimalBigInt, init_decimal2, _a377, _b280, SingleStoreDoubleBuilder, _a378, _b281, SingleStoreDouble, init_double2, _a379, _b282, SingleStoreEnumColumnBuilder, _a380, _b283, SingleStoreEnumColumn, init_enum3, _a381, _b284, SingleStoreFloatBuilder, _a382, _b285, SingleStoreFloat, init_float2, _a383, _b286, SingleStoreIntBuilder, _a384, _b287, SingleStoreInt, init_int2, _a385, _b288, SingleStoreJsonBuilder, _a386, _b289, SingleStoreJson, init_json3, _a387, _b290, SingleStoreMediumIntBuilder, _a388, _b291, SingleStoreMediumInt, init_mediumint2, _a389, _b292, SingleStoreRealBuilder, _a390, _b293, SingleStoreReal, init_real4, _a391, _b294, SingleStoreSerialBuilder, _a392, _b295, SingleStoreSerial, init_serial3, _a393, _b296, SingleStoreSmallIntBuilder, _a394, _b297, SingleStoreSmallInt, init_smallint3, _a395, _b298, SingleStoreTextBuilder, _a396, _b299, SingleStoreText, init_text4, _a397, _b300, SingleStoreTimeBuilder, _a398, _b301, SingleStoreTime, init_time3, _a399, _b302, SingleStoreDateColumnBaseBuilder, _a400, _b303, SingleStoreDateBaseColumn, init_date_common3, _a401, _b304, SingleStoreTimestampBuilder, _a402, _b305, SingleStoreTimestamp, _a403, _b306, SingleStoreTimestampStringBuilder, _a404, _b307, SingleStoreTimestampString, init_timestamp3, _a405, _b308, SingleStoreTinyIntBuilder, _a406, _b309, SingleStoreTinyInt, init_tinyint2, _a407, _b310, SingleStoreVarBinaryBuilder, _a408, _b311, SingleStoreVarBinary, init_varbinary2, _a409, _b312, SingleStoreVarCharBuilder, _a410, _b313, SingleStoreVarChar, init_varchar3, _a411, _b314, SingleStoreVectorBuilder, _a412, _b315, SingleStoreVector, init_vector4, _a413, _b316, SingleStoreYearBuilder, _a414, _b317, SingleStoreYear, init_year2, init_columns4, _a415, _b318, _c12, _SingleStoreCountBuilder, SingleStoreCountBuilder, init_count4, _a416, IndexBuilderOn4, _a417, IndexBuilder4, _a418, Index6, init_indexes4, init_all4, _a419, _b319, _c13, _d5, SingleStoreTable, init_table52, _a420, PrimaryKeyBuilder4, _a421, PrimaryKey4, init_primary_keys4, init_utils10, _a422, _b320, SingleStoreDeleteBase, init_delete4, _a423, SingleStoreInsertBuilder, _a424, _b321, SingleStoreInsertBase, init_insert4, _a425, SingleStoreDialect, init_dialect4, _a426, SingleStoreSelectBuilder, _a427, _b322, SingleStoreSelectQueryBuilderBase, _a428, _b323, SingleStoreSelectBase, getSingleStoreSetOperators, union5, unionAll4, intersect4, except4, minus, init_select5, _a429, QueryBuilder4, init_query_builder5, init_select_types4, _a430, SingleStoreUpdateBuilder, _a431, _b324, SingleStoreUpdateBase, init_update4, init_query_builders4, _a432, SingleStoreDatabase, init_db4, _a433, SingleStoreSchema5, init_schema32, _a434, SingleStorePreparedQuery, _a435, SingleStoreSession, _a436, _b325, SingleStoreTransaction, init_session4, init_subquery5, init_singlestore_core, dialect5, generateSingleStoreSnapshot, fromDatabase4, init_singlestoreSerializer, sqliteImports_exports, prepareFromExports2, prepareFromSqliteImports, init_sqliteImports, mysqlImports_exports, prepareFromExports3, prepareFromMySqlImports, init_mysqlImports, mysqlPushUtils_exports, import_hanji8, filterStatements, logSuggestionsAndReturn2, init_mysqlPushUtils, mysqlIntrospect_exports, import_hanji9, mysqlPushIntrospect, init_mysqlIntrospect, singlestoreImports_exports, prepareFromExports4, prepareFromSingleStoreImports, init_singlestoreImports, singlestorePushUtils_exports, import_hanji10, filterStatements2, logSuggestionsAndReturn3, init_singlestorePushUtils, singlestoreIntrospect_exports, import_hanji11, singlestorePushIntrospect, init_singlestoreIntrospect, import_hanji3, pgPushIntrospect = async (db2, filters, schemaFilters, entities, tsSchema) => {
114037
114243
  const matchers = filters.map((it3) => {
114038
114244
  return new Minimatch(it3);
114039
114245
  });
@@ -118210,7 +118416,7 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118210
118416
  const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
118211
118417
  return handleResult2(ctx, result);
118212
118418
  }
118213
- refine(check3, message) {
118419
+ refine(check4, message) {
118214
118420
  const getIssueProperties = (val) => {
118215
118421
  if (typeof message === "string" || typeof message === "undefined") {
118216
118422
  return { message };
@@ -118221,7 +118427,7 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118221
118427
  }
118222
118428
  };
118223
118429
  return this._refinement((val, ctx) => {
118224
- const result = check3(val);
118430
+ const result = check4(val);
118225
118431
  const setError = () => ctx.addIssue({
118226
118432
  code: ZodIssueCode4.custom,
118227
118433
  ...getIssueProperties(val)
@@ -118244,9 +118450,9 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118244
118450
  }
118245
118451
  });
118246
118452
  }
118247
- refinement(check3, refinementData) {
118453
+ refinement(check4, refinementData) {
118248
118454
  return this._refinement((val, ctx) => {
118249
- if (!check3(val)) {
118455
+ if (!check4(val)) {
118250
118456
  ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
118251
118457
  return false;
118252
118458
  } else {
@@ -118405,70 +118611,70 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118405
118611
  }
118406
118612
  const status = new ParseStatus2;
118407
118613
  let ctx = undefined;
118408
- for (const check3 of this._def.checks) {
118409
- if (check3.kind === "min") {
118410
- if (input.data.length < check3.value) {
118614
+ for (const check4 of this._def.checks) {
118615
+ if (check4.kind === "min") {
118616
+ if (input.data.length < check4.value) {
118411
118617
  ctx = this._getOrReturnCtx(input, ctx);
118412
118618
  addIssueToContext2(ctx, {
118413
118619
  code: ZodIssueCode4.too_small,
118414
- minimum: check3.value,
118620
+ minimum: check4.value,
118415
118621
  type: "string",
118416
118622
  inclusive: true,
118417
118623
  exact: false,
118418
- message: check3.message
118624
+ message: check4.message
118419
118625
  });
118420
118626
  status.dirty();
118421
118627
  }
118422
- } else if (check3.kind === "max") {
118423
- if (input.data.length > check3.value) {
118628
+ } else if (check4.kind === "max") {
118629
+ if (input.data.length > check4.value) {
118424
118630
  ctx = this._getOrReturnCtx(input, ctx);
118425
118631
  addIssueToContext2(ctx, {
118426
118632
  code: ZodIssueCode4.too_big,
118427
- maximum: check3.value,
118633
+ maximum: check4.value,
118428
118634
  type: "string",
118429
118635
  inclusive: true,
118430
118636
  exact: false,
118431
- message: check3.message
118637
+ message: check4.message
118432
118638
  });
118433
118639
  status.dirty();
118434
118640
  }
118435
- } else if (check3.kind === "length") {
118436
- const tooBig = input.data.length > check3.value;
118437
- const tooSmall = input.data.length < check3.value;
118641
+ } else if (check4.kind === "length") {
118642
+ const tooBig = input.data.length > check4.value;
118643
+ const tooSmall = input.data.length < check4.value;
118438
118644
  if (tooBig || tooSmall) {
118439
118645
  ctx = this._getOrReturnCtx(input, ctx);
118440
118646
  if (tooBig) {
118441
118647
  addIssueToContext2(ctx, {
118442
118648
  code: ZodIssueCode4.too_big,
118443
- maximum: check3.value,
118649
+ maximum: check4.value,
118444
118650
  type: "string",
118445
118651
  inclusive: true,
118446
118652
  exact: true,
118447
- message: check3.message
118653
+ message: check4.message
118448
118654
  });
118449
118655
  } else if (tooSmall) {
118450
118656
  addIssueToContext2(ctx, {
118451
118657
  code: ZodIssueCode4.too_small,
118452
- minimum: check3.value,
118658
+ minimum: check4.value,
118453
118659
  type: "string",
118454
118660
  inclusive: true,
118455
118661
  exact: true,
118456
- message: check3.message
118662
+ message: check4.message
118457
118663
  });
118458
118664
  }
118459
118665
  status.dirty();
118460
118666
  }
118461
- } else if (check3.kind === "email") {
118667
+ } else if (check4.kind === "email") {
118462
118668
  if (!emailRegex2.test(input.data)) {
118463
118669
  ctx = this._getOrReturnCtx(input, ctx);
118464
118670
  addIssueToContext2(ctx, {
118465
118671
  validation: "email",
118466
118672
  code: ZodIssueCode4.invalid_string,
118467
- message: check3.message
118673
+ message: check4.message
118468
118674
  });
118469
118675
  status.dirty();
118470
118676
  }
118471
- } else if (check3.kind === "emoji") {
118677
+ } else if (check4.kind === "emoji") {
118472
118678
  if (!emojiRegex2) {
118473
118679
  emojiRegex2 = new RegExp(_emojiRegex2, "u");
118474
118680
  }
@@ -118477,61 +118683,61 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118477
118683
  addIssueToContext2(ctx, {
118478
118684
  validation: "emoji",
118479
118685
  code: ZodIssueCode4.invalid_string,
118480
- message: check3.message
118686
+ message: check4.message
118481
118687
  });
118482
118688
  status.dirty();
118483
118689
  }
118484
- } else if (check3.kind === "uuid") {
118690
+ } else if (check4.kind === "uuid") {
118485
118691
  if (!uuidRegex2.test(input.data)) {
118486
118692
  ctx = this._getOrReturnCtx(input, ctx);
118487
118693
  addIssueToContext2(ctx, {
118488
118694
  validation: "uuid",
118489
118695
  code: ZodIssueCode4.invalid_string,
118490
- message: check3.message
118696
+ message: check4.message
118491
118697
  });
118492
118698
  status.dirty();
118493
118699
  }
118494
- } else if (check3.kind === "nanoid") {
118700
+ } else if (check4.kind === "nanoid") {
118495
118701
  if (!nanoidRegex2.test(input.data)) {
118496
118702
  ctx = this._getOrReturnCtx(input, ctx);
118497
118703
  addIssueToContext2(ctx, {
118498
118704
  validation: "nanoid",
118499
118705
  code: ZodIssueCode4.invalid_string,
118500
- message: check3.message
118706
+ message: check4.message
118501
118707
  });
118502
118708
  status.dirty();
118503
118709
  }
118504
- } else if (check3.kind === "cuid") {
118710
+ } else if (check4.kind === "cuid") {
118505
118711
  if (!cuidRegex2.test(input.data)) {
118506
118712
  ctx = this._getOrReturnCtx(input, ctx);
118507
118713
  addIssueToContext2(ctx, {
118508
118714
  validation: "cuid",
118509
118715
  code: ZodIssueCode4.invalid_string,
118510
- message: check3.message
118716
+ message: check4.message
118511
118717
  });
118512
118718
  status.dirty();
118513
118719
  }
118514
- } else if (check3.kind === "cuid2") {
118720
+ } else if (check4.kind === "cuid2") {
118515
118721
  if (!cuid2Regex2.test(input.data)) {
118516
118722
  ctx = this._getOrReturnCtx(input, ctx);
118517
118723
  addIssueToContext2(ctx, {
118518
118724
  validation: "cuid2",
118519
118725
  code: ZodIssueCode4.invalid_string,
118520
- message: check3.message
118726
+ message: check4.message
118521
118727
  });
118522
118728
  status.dirty();
118523
118729
  }
118524
- } else if (check3.kind === "ulid") {
118730
+ } else if (check4.kind === "ulid") {
118525
118731
  if (!ulidRegex2.test(input.data)) {
118526
118732
  ctx = this._getOrReturnCtx(input, ctx);
118527
118733
  addIssueToContext2(ctx, {
118528
118734
  validation: "ulid",
118529
118735
  code: ZodIssueCode4.invalid_string,
118530
- message: check3.message
118736
+ message: check4.message
118531
118737
  });
118532
118738
  status.dirty();
118533
118739
  }
118534
- } else if (check3.kind === "url") {
118740
+ } else if (check4.kind === "url") {
118535
118741
  try {
118536
118742
  new URL(input.data);
118537
118743
  } catch {
@@ -118539,153 +118745,153 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118539
118745
  addIssueToContext2(ctx, {
118540
118746
  validation: "url",
118541
118747
  code: ZodIssueCode4.invalid_string,
118542
- message: check3.message
118748
+ message: check4.message
118543
118749
  });
118544
118750
  status.dirty();
118545
118751
  }
118546
- } else if (check3.kind === "regex") {
118547
- check3.regex.lastIndex = 0;
118548
- const testResult = check3.regex.test(input.data);
118752
+ } else if (check4.kind === "regex") {
118753
+ check4.regex.lastIndex = 0;
118754
+ const testResult = check4.regex.test(input.data);
118549
118755
  if (!testResult) {
118550
118756
  ctx = this._getOrReturnCtx(input, ctx);
118551
118757
  addIssueToContext2(ctx, {
118552
118758
  validation: "regex",
118553
118759
  code: ZodIssueCode4.invalid_string,
118554
- message: check3.message
118760
+ message: check4.message
118555
118761
  });
118556
118762
  status.dirty();
118557
118763
  }
118558
- } else if (check3.kind === "trim") {
118764
+ } else if (check4.kind === "trim") {
118559
118765
  input.data = input.data.trim();
118560
- } else if (check3.kind === "includes") {
118561
- if (!input.data.includes(check3.value, check3.position)) {
118766
+ } else if (check4.kind === "includes") {
118767
+ if (!input.data.includes(check4.value, check4.position)) {
118562
118768
  ctx = this._getOrReturnCtx(input, ctx);
118563
118769
  addIssueToContext2(ctx, {
118564
118770
  code: ZodIssueCode4.invalid_string,
118565
- validation: { includes: check3.value, position: check3.position },
118566
- message: check3.message
118771
+ validation: { includes: check4.value, position: check4.position },
118772
+ message: check4.message
118567
118773
  });
118568
118774
  status.dirty();
118569
118775
  }
118570
- } else if (check3.kind === "toLowerCase") {
118776
+ } else if (check4.kind === "toLowerCase") {
118571
118777
  input.data = input.data.toLowerCase();
118572
- } else if (check3.kind === "toUpperCase") {
118778
+ } else if (check4.kind === "toUpperCase") {
118573
118779
  input.data = input.data.toUpperCase();
118574
- } else if (check3.kind === "startsWith") {
118575
- if (!input.data.startsWith(check3.value)) {
118780
+ } else if (check4.kind === "startsWith") {
118781
+ if (!input.data.startsWith(check4.value)) {
118576
118782
  ctx = this._getOrReturnCtx(input, ctx);
118577
118783
  addIssueToContext2(ctx, {
118578
118784
  code: ZodIssueCode4.invalid_string,
118579
- validation: { startsWith: check3.value },
118580
- message: check3.message
118785
+ validation: { startsWith: check4.value },
118786
+ message: check4.message
118581
118787
  });
118582
118788
  status.dirty();
118583
118789
  }
118584
- } else if (check3.kind === "endsWith") {
118585
- if (!input.data.endsWith(check3.value)) {
118790
+ } else if (check4.kind === "endsWith") {
118791
+ if (!input.data.endsWith(check4.value)) {
118586
118792
  ctx = this._getOrReturnCtx(input, ctx);
118587
118793
  addIssueToContext2(ctx, {
118588
118794
  code: ZodIssueCode4.invalid_string,
118589
- validation: { endsWith: check3.value },
118590
- message: check3.message
118795
+ validation: { endsWith: check4.value },
118796
+ message: check4.message
118591
118797
  });
118592
118798
  status.dirty();
118593
118799
  }
118594
- } else if (check3.kind === "datetime") {
118595
- const regex = datetimeRegex2(check3);
118800
+ } else if (check4.kind === "datetime") {
118801
+ const regex = datetimeRegex2(check4);
118596
118802
  if (!regex.test(input.data)) {
118597
118803
  ctx = this._getOrReturnCtx(input, ctx);
118598
118804
  addIssueToContext2(ctx, {
118599
118805
  code: ZodIssueCode4.invalid_string,
118600
118806
  validation: "datetime",
118601
- message: check3.message
118807
+ message: check4.message
118602
118808
  });
118603
118809
  status.dirty();
118604
118810
  }
118605
- } else if (check3.kind === "date") {
118811
+ } else if (check4.kind === "date") {
118606
118812
  const regex = dateRegex2;
118607
118813
  if (!regex.test(input.data)) {
118608
118814
  ctx = this._getOrReturnCtx(input, ctx);
118609
118815
  addIssueToContext2(ctx, {
118610
118816
  code: ZodIssueCode4.invalid_string,
118611
118817
  validation: "date",
118612
- message: check3.message
118818
+ message: check4.message
118613
118819
  });
118614
118820
  status.dirty();
118615
118821
  }
118616
- } else if (check3.kind === "time") {
118617
- const regex = timeRegex2(check3);
118822
+ } else if (check4.kind === "time") {
118823
+ const regex = timeRegex2(check4);
118618
118824
  if (!regex.test(input.data)) {
118619
118825
  ctx = this._getOrReturnCtx(input, ctx);
118620
118826
  addIssueToContext2(ctx, {
118621
118827
  code: ZodIssueCode4.invalid_string,
118622
118828
  validation: "time",
118623
- message: check3.message
118829
+ message: check4.message
118624
118830
  });
118625
118831
  status.dirty();
118626
118832
  }
118627
- } else if (check3.kind === "duration") {
118833
+ } else if (check4.kind === "duration") {
118628
118834
  if (!durationRegex2.test(input.data)) {
118629
118835
  ctx = this._getOrReturnCtx(input, ctx);
118630
118836
  addIssueToContext2(ctx, {
118631
118837
  validation: "duration",
118632
118838
  code: ZodIssueCode4.invalid_string,
118633
- message: check3.message
118839
+ message: check4.message
118634
118840
  });
118635
118841
  status.dirty();
118636
118842
  }
118637
- } else if (check3.kind === "ip") {
118638
- if (!isValidIP2(input.data, check3.version)) {
118843
+ } else if (check4.kind === "ip") {
118844
+ if (!isValidIP2(input.data, check4.version)) {
118639
118845
  ctx = this._getOrReturnCtx(input, ctx);
118640
118846
  addIssueToContext2(ctx, {
118641
118847
  validation: "ip",
118642
118848
  code: ZodIssueCode4.invalid_string,
118643
- message: check3.message
118849
+ message: check4.message
118644
118850
  });
118645
118851
  status.dirty();
118646
118852
  }
118647
- } else if (check3.kind === "jwt") {
118648
- if (!isValidJWT4(input.data, check3.alg)) {
118853
+ } else if (check4.kind === "jwt") {
118854
+ if (!isValidJWT4(input.data, check4.alg)) {
118649
118855
  ctx = this._getOrReturnCtx(input, ctx);
118650
118856
  addIssueToContext2(ctx, {
118651
118857
  validation: "jwt",
118652
118858
  code: ZodIssueCode4.invalid_string,
118653
- message: check3.message
118859
+ message: check4.message
118654
118860
  });
118655
118861
  status.dirty();
118656
118862
  }
118657
- } else if (check3.kind === "cidr") {
118658
- if (!isValidCidr2(input.data, check3.version)) {
118863
+ } else if (check4.kind === "cidr") {
118864
+ if (!isValidCidr2(input.data, check4.version)) {
118659
118865
  ctx = this._getOrReturnCtx(input, ctx);
118660
118866
  addIssueToContext2(ctx, {
118661
118867
  validation: "cidr",
118662
118868
  code: ZodIssueCode4.invalid_string,
118663
- message: check3.message
118869
+ message: check4.message
118664
118870
  });
118665
118871
  status.dirty();
118666
118872
  }
118667
- } else if (check3.kind === "base64") {
118873
+ } else if (check4.kind === "base64") {
118668
118874
  if (!base64Regex2.test(input.data)) {
118669
118875
  ctx = this._getOrReturnCtx(input, ctx);
118670
118876
  addIssueToContext2(ctx, {
118671
118877
  validation: "base64",
118672
118878
  code: ZodIssueCode4.invalid_string,
118673
- message: check3.message
118879
+ message: check4.message
118674
118880
  });
118675
118881
  status.dirty();
118676
118882
  }
118677
- } else if (check3.kind === "base64url") {
118883
+ } else if (check4.kind === "base64url") {
118678
118884
  if (!base64urlRegex2.test(input.data)) {
118679
118885
  ctx = this._getOrReturnCtx(input, ctx);
118680
118886
  addIssueToContext2(ctx, {
118681
118887
  validation: "base64url",
118682
118888
  code: ZodIssueCode4.invalid_string,
118683
- message: check3.message
118889
+ message: check4.message
118684
118890
  });
118685
118891
  status.dirty();
118686
118892
  }
118687
118893
  } else {
118688
- util3.assertNever(check3);
118894
+ util3.assertNever(check4);
118689
118895
  }
118690
118896
  }
118691
118897
  return { status: status.value, value: input.data };
@@ -118697,10 +118903,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118697
118903
  ...errorUtil2.errToObj(message)
118698
118904
  });
118699
118905
  }
118700
- _addCheck(check3) {
118906
+ _addCheck(check4) {
118701
118907
  return new _ZodString3({
118702
118908
  ...this._def,
118703
- checks: [...this._def.checks, check3]
118909
+ checks: [...this._def.checks, check4]
118704
118910
  });
118705
118911
  }
118706
118912
  email(message) {
@@ -118954,67 +119160,67 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118954
119160
  }
118955
119161
  let ctx = undefined;
118956
119162
  const status = new ParseStatus2;
118957
- for (const check3 of this._def.checks) {
118958
- if (check3.kind === "int") {
119163
+ for (const check4 of this._def.checks) {
119164
+ if (check4.kind === "int") {
118959
119165
  if (!util3.isInteger(input.data)) {
118960
119166
  ctx = this._getOrReturnCtx(input, ctx);
118961
119167
  addIssueToContext2(ctx, {
118962
119168
  code: ZodIssueCode4.invalid_type,
118963
119169
  expected: "integer",
118964
119170
  received: "float",
118965
- message: check3.message
119171
+ message: check4.message
118966
119172
  });
118967
119173
  status.dirty();
118968
119174
  }
118969
- } else if (check3.kind === "min") {
118970
- const tooSmall = check3.inclusive ? input.data < check3.value : input.data <= check3.value;
119175
+ } else if (check4.kind === "min") {
119176
+ const tooSmall = check4.inclusive ? input.data < check4.value : input.data <= check4.value;
118971
119177
  if (tooSmall) {
118972
119178
  ctx = this._getOrReturnCtx(input, ctx);
118973
119179
  addIssueToContext2(ctx, {
118974
119180
  code: ZodIssueCode4.too_small,
118975
- minimum: check3.value,
119181
+ minimum: check4.value,
118976
119182
  type: "number",
118977
- inclusive: check3.inclusive,
119183
+ inclusive: check4.inclusive,
118978
119184
  exact: false,
118979
- message: check3.message
119185
+ message: check4.message
118980
119186
  });
118981
119187
  status.dirty();
118982
119188
  }
118983
- } else if (check3.kind === "max") {
118984
- const tooBig = check3.inclusive ? input.data > check3.value : input.data >= check3.value;
119189
+ } else if (check4.kind === "max") {
119190
+ const tooBig = check4.inclusive ? input.data > check4.value : input.data >= check4.value;
118985
119191
  if (tooBig) {
118986
119192
  ctx = this._getOrReturnCtx(input, ctx);
118987
119193
  addIssueToContext2(ctx, {
118988
119194
  code: ZodIssueCode4.too_big,
118989
- maximum: check3.value,
119195
+ maximum: check4.value,
118990
119196
  type: "number",
118991
- inclusive: check3.inclusive,
119197
+ inclusive: check4.inclusive,
118992
119198
  exact: false,
118993
- message: check3.message
119199
+ message: check4.message
118994
119200
  });
118995
119201
  status.dirty();
118996
119202
  }
118997
- } else if (check3.kind === "multipleOf") {
118998
- if (floatSafeRemainder4(input.data, check3.value) !== 0) {
119203
+ } else if (check4.kind === "multipleOf") {
119204
+ if (floatSafeRemainder4(input.data, check4.value) !== 0) {
118999
119205
  ctx = this._getOrReturnCtx(input, ctx);
119000
119206
  addIssueToContext2(ctx, {
119001
119207
  code: ZodIssueCode4.not_multiple_of,
119002
- multipleOf: check3.value,
119003
- message: check3.message
119208
+ multipleOf: check4.value,
119209
+ message: check4.message
119004
119210
  });
119005
119211
  status.dirty();
119006
119212
  }
119007
- } else if (check3.kind === "finite") {
119213
+ } else if (check4.kind === "finite") {
119008
119214
  if (!Number.isFinite(input.data)) {
119009
119215
  ctx = this._getOrReturnCtx(input, ctx);
119010
119216
  addIssueToContext2(ctx, {
119011
119217
  code: ZodIssueCode4.not_finite,
119012
- message: check3.message
119218
+ message: check4.message
119013
119219
  });
119014
119220
  status.dirty();
119015
119221
  }
119016
119222
  } else {
119017
- util3.assertNever(check3);
119223
+ util3.assertNever(check4);
119018
119224
  }
119019
119225
  }
119020
119226
  return { status: status.value, value: input.data };
@@ -119045,10 +119251,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119045
119251
  ]
119046
119252
  });
119047
119253
  }
119048
- _addCheck(check3) {
119254
+ _addCheck(check4) {
119049
119255
  return new _ZodNumber({
119050
119256
  ...this._def,
119051
- checks: [...this._def.checks, check3]
119257
+ checks: [...this._def.checks, check4]
119052
119258
  });
119053
119259
  }
119054
119260
  int(message) {
@@ -119183,45 +119389,45 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119183
119389
  }
119184
119390
  let ctx = undefined;
119185
119391
  const status = new ParseStatus2;
119186
- for (const check3 of this._def.checks) {
119187
- if (check3.kind === "min") {
119188
- const tooSmall = check3.inclusive ? input.data < check3.value : input.data <= check3.value;
119392
+ for (const check4 of this._def.checks) {
119393
+ if (check4.kind === "min") {
119394
+ const tooSmall = check4.inclusive ? input.data < check4.value : input.data <= check4.value;
119189
119395
  if (tooSmall) {
119190
119396
  ctx = this._getOrReturnCtx(input, ctx);
119191
119397
  addIssueToContext2(ctx, {
119192
119398
  code: ZodIssueCode4.too_small,
119193
119399
  type: "bigint",
119194
- minimum: check3.value,
119195
- inclusive: check3.inclusive,
119196
- message: check3.message
119400
+ minimum: check4.value,
119401
+ inclusive: check4.inclusive,
119402
+ message: check4.message
119197
119403
  });
119198
119404
  status.dirty();
119199
119405
  }
119200
- } else if (check3.kind === "max") {
119201
- const tooBig = check3.inclusive ? input.data > check3.value : input.data >= check3.value;
119406
+ } else if (check4.kind === "max") {
119407
+ const tooBig = check4.inclusive ? input.data > check4.value : input.data >= check4.value;
119202
119408
  if (tooBig) {
119203
119409
  ctx = this._getOrReturnCtx(input, ctx);
119204
119410
  addIssueToContext2(ctx, {
119205
119411
  code: ZodIssueCode4.too_big,
119206
119412
  type: "bigint",
119207
- maximum: check3.value,
119208
- inclusive: check3.inclusive,
119209
- message: check3.message
119413
+ maximum: check4.value,
119414
+ inclusive: check4.inclusive,
119415
+ message: check4.message
119210
119416
  });
119211
119417
  status.dirty();
119212
119418
  }
119213
- } else if (check3.kind === "multipleOf") {
119214
- if (input.data % check3.value !== BigInt(0)) {
119419
+ } else if (check4.kind === "multipleOf") {
119420
+ if (input.data % check4.value !== BigInt(0)) {
119215
119421
  ctx = this._getOrReturnCtx(input, ctx);
119216
119422
  addIssueToContext2(ctx, {
119217
119423
  code: ZodIssueCode4.not_multiple_of,
119218
- multipleOf: check3.value,
119219
- message: check3.message
119424
+ multipleOf: check4.value,
119425
+ message: check4.message
119220
119426
  });
119221
119427
  status.dirty();
119222
119428
  }
119223
119429
  } else {
119224
- util3.assertNever(check3);
119430
+ util3.assertNever(check4);
119225
119431
  }
119226
119432
  }
119227
119433
  return { status: status.value, value: input.data };
@@ -119261,10 +119467,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119261
119467
  ]
119262
119468
  });
119263
119469
  }
119264
- _addCheck(check3) {
119470
+ _addCheck(check4) {
119265
119471
  return new _ZodBigInt({
119266
119472
  ...this._def,
119267
- checks: [...this._def.checks, check3]
119473
+ checks: [...this._def.checks, check4]
119268
119474
  });
119269
119475
  }
119270
119476
  positive(message) {
@@ -119384,35 +119590,35 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119384
119590
  }
119385
119591
  const status = new ParseStatus2;
119386
119592
  let ctx = undefined;
119387
- for (const check3 of this._def.checks) {
119388
- if (check3.kind === "min") {
119389
- if (input.data.getTime() < check3.value) {
119593
+ for (const check4 of this._def.checks) {
119594
+ if (check4.kind === "min") {
119595
+ if (input.data.getTime() < check4.value) {
119390
119596
  ctx = this._getOrReturnCtx(input, ctx);
119391
119597
  addIssueToContext2(ctx, {
119392
119598
  code: ZodIssueCode4.too_small,
119393
- message: check3.message,
119599
+ message: check4.message,
119394
119600
  inclusive: true,
119395
119601
  exact: false,
119396
- minimum: check3.value,
119602
+ minimum: check4.value,
119397
119603
  type: "date"
119398
119604
  });
119399
119605
  status.dirty();
119400
119606
  }
119401
- } else if (check3.kind === "max") {
119402
- if (input.data.getTime() > check3.value) {
119607
+ } else if (check4.kind === "max") {
119608
+ if (input.data.getTime() > check4.value) {
119403
119609
  ctx = this._getOrReturnCtx(input, ctx);
119404
119610
  addIssueToContext2(ctx, {
119405
119611
  code: ZodIssueCode4.too_big,
119406
- message: check3.message,
119612
+ message: check4.message,
119407
119613
  inclusive: true,
119408
119614
  exact: false,
119409
- maximum: check3.value,
119615
+ maximum: check4.value,
119410
119616
  type: "date"
119411
119617
  });
119412
119618
  status.dirty();
119413
119619
  }
119414
119620
  } else {
119415
- util3.assertNever(check3);
119621
+ util3.assertNever(check4);
119416
119622
  }
119417
119623
  }
119418
119624
  return {
@@ -119420,10 +119626,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119420
119626
  value: new Date(input.data.getTime())
119421
119627
  };
119422
119628
  }
119423
- _addCheck(check3) {
119629
+ _addCheck(check4) {
119424
119630
  return new _ZodDate({
119425
119631
  ...this._def,
119426
- checks: [...this._def.checks, check3]
119632
+ checks: [...this._def.checks, check4]
119427
119633
  });
119428
119634
  }
119429
119635
  min(minDate, message) {
@@ -121731,8 +121937,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
121731
121937
  const squashedUniqueConstraints = mapValues(it3[1].uniqueConstraints, (unq) => {
121732
121938
  return MySqlSquasher.squashUnique(unq);
121733
121939
  });
121734
- const squashedCheckConstraints = mapValues(it3[1].checkConstraint, (check3) => {
121735
- return MySqlSquasher.squashCheck(check3);
121940
+ const squashedCheckConstraints = mapValues(it3[1].checkConstraint, (check4) => {
121941
+ return MySqlSquasher.squashCheck(check4);
121736
121942
  });
121737
121943
  return [
121738
121944
  it3[0],
@@ -122399,8 +122605,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122399
122605
  cycle: splitted[7] === "true"
122400
122606
  };
122401
122607
  },
122402
- squashCheck: (check3) => {
122403
- return `${check3.name};${check3.value}`;
122608
+ squashCheck: (check4) => {
122609
+ return `${check4.name};${check4.value}`;
122404
122610
  },
122405
122611
  unsquashCheck: (input) => {
122406
122612
  const [
@@ -122437,8 +122643,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122437
122643
  const squashedPolicies = mapValues(it3[1].policies, (policy5) => {
122438
122644
  return action === "push" ? PgSquasher.squashPolicyPush(policy5) : PgSquasher.squashPolicy(policy5);
122439
122645
  });
122440
- const squashedChecksContraints = mapValues(it3[1].checkConstraints, (check3) => {
122441
- return PgSquasher.squashCheck(check3);
122646
+ const squashedChecksContraints = mapValues(it3[1].checkConstraints, (check4) => {
122647
+ return PgSquasher.squashCheck(check4);
122442
122648
  });
122443
122649
  return [
122444
122650
  it3[0],
@@ -122870,8 +123076,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122870
123076
  unsquashPK: (pk) => {
122871
123077
  return pk.split(",");
122872
123078
  },
122873
- squashCheck: (check3) => {
122874
- return `${check3.name};${check3.value}`;
123079
+ squashCheck: (check4) => {
123080
+ return `${check4.name};${check4.value}`;
122875
123081
  },
122876
123082
  unsquashCheck: (input) => {
122877
123083
  const [
@@ -122898,8 +123104,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122898
123104
  const squashedUniqueConstraints = mapValues(it3[1].uniqueConstraints, (unq) => {
122899
123105
  return SQLiteSquasher.squashUnique(unq);
122900
123106
  });
122901
- const squashedCheckConstraints = mapValues(it3[1].checkConstraints, (check3) => {
122902
- return SQLiteSquasher.squashCheck(check3);
123107
+ const squashedCheckConstraints = mapValues(it3[1].checkConstraints, (check4) => {
123108
+ return SQLiteSquasher.squashCheck(check4);
122903
123109
  });
122904
123110
  return [
122905
123111
  it3[0],
@@ -126128,10 +126334,10 @@ Is ${source_default.bold.blue(this.base.name)} schema created or renamed from an
126128
126334
  }
126129
126335
  }
126130
126336
  if (typeof checkConstraints !== "undefined" && checkConstraints.length > 0) {
126131
- for (const check3 of checkConstraints) {
126337
+ for (const check4 of checkConstraints) {
126132
126338
  statement += `,
126133
126339
  `;
126134
- const { value, name: name22 } = SQLiteSquasher.unsquashCheck(check3);
126340
+ const { value, name: name22 } = SQLiteSquasher.unsquashCheck(check4);
126135
126341
  statement += ` CONSTRAINT "${name22}" CHECK(${value})`;
126136
126342
  }
126137
126343
  }
@@ -129807,8 +130013,8 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.newC
129807
130013
  };
129808
130014
  });
129809
130015
  };
129810
- prepareAddCheckConstraint = (tableName, schema5, check3) => {
129811
- return Object.values(check3).map((it3) => {
130016
+ prepareAddCheckConstraint = (tableName, schema5, check4) => {
130017
+ return Object.values(check4).map((it3) => {
129812
130018
  return {
129813
130019
  type: "create_check_constraint",
129814
130020
  tableName,
@@ -129817,8 +130023,8 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.newC
129817
130023
  };
129818
130024
  });
129819
130025
  };
129820
- prepareDeleteCheckConstraint = (tableName, schema5, check3) => {
129821
- return Object.values(check3).map((it3) => {
130026
+ prepareDeleteCheckConstraint = (tableName, schema5, check4) => {
130027
+ return Object.values(check4).map((it3) => {
129822
130028
  return {
129823
130029
  type: "delete_check_constraint",
129824
130030
  tableName,
@@ -136561,19 +136767,19 @@ params: ${params}`);
136561
136767
  "../drizzle-orm/dist/pg-core/checks.js"() {
136562
136768
  init_entity2();
136563
136769
  _a128 = entityKind2;
136564
- CheckBuilder = class {
136770
+ CheckBuilder2 = class {
136565
136771
  constructor(name22, value) {
136566
136772
  __publicField(this, "brand");
136567
136773
  this.name = name22;
136568
136774
  this.value = value;
136569
136775
  }
136570
136776
  build(table62) {
136571
- return new Check(table62, this);
136777
+ return new Check2(table62, this);
136572
136778
  }
136573
136779
  };
136574
- __publicField(CheckBuilder, _a128, "PgCheckBuilder");
136780
+ __publicField(CheckBuilder2, _a128, "PgCheckBuilder");
136575
136781
  _a129 = entityKind2;
136576
- Check = class {
136782
+ Check2 = class {
136577
136783
  constructor(table62, builder) {
136578
136784
  __publicField(this, "name");
136579
136785
  __publicField(this, "value");
@@ -136582,7 +136788,7 @@ params: ${params}`);
136582
136788
  this.value = builder.value;
136583
136789
  }
136584
136790
  };
136585
- __publicField(Check, _a129, "PgCheck");
136791
+ __publicField(Check2, _a129, "PgCheck");
136586
136792
  }
136587
136793
  });
136588
136794
  init_columns2 = __esm2({
@@ -139423,21 +139629,21 @@ ${withStyle.errorWarning(`We've found duplicated policy name across ${source_def
139423
139629
  withCheck: is2(policy5.withCheck, SQL2) ? dialect6.sqlToQuery(policy5.withCheck).sql : undefined
139424
139630
  };
139425
139631
  });
139426
- checks6.forEach((check3) => {
139427
- const checkName = check3.name;
139632
+ checks6.forEach((check4) => {
139633
+ const checkName = check4.name;
139428
139634
  if (typeof checksInTable[`"${schema5 ?? "public"}"."${tableName}"`] !== "undefined") {
139429
- if (checksInTable[`"${schema5 ?? "public"}"."${tableName}"`].includes(check3.name)) {
139635
+ if (checksInTable[`"${schema5 ?? "public"}"."${tableName}"`].includes(check4.name)) {
139430
139636
  console.log(`
139431
139637
  ${withStyle.errorWarning(`We've found duplicated check constraint name across ${source_default.underline.blue(schema5 ?? "public")} schema in ${source_default.underline.blue(tableName)}. Please rename your check constraint in either the ${source_default.underline.blue(tableName)} table or the table with the duplicated check contraint name`)}`);
139432
139638
  process.exit(1);
139433
139639
  }
139434
139640
  checksInTable[`"${schema5 ?? "public"}"."${tableName}"`].push(checkName);
139435
139641
  } else {
139436
- checksInTable[`"${schema5 ?? "public"}"."${tableName}"`] = [check3.name];
139642
+ checksInTable[`"${schema5 ?? "public"}"."${tableName}"`] = [check4.name];
139437
139643
  }
139438
139644
  checksObject[checkName] = {
139439
139645
  name: checkName,
139440
- value: dialect6.sqlToQuery(check3.value).sql
139646
+ value: dialect6.sqlToQuery(check4.value).sql
139441
139647
  };
139442
139648
  });
139443
139649
  const tableKey2 = `${schema5 ?? "public"}.${tableName}`;
@@ -140590,19 +140796,19 @@ ORDER BY
140590
140796
  "../drizzle-orm/dist/sqlite-core/checks.js"() {
140591
140797
  init_entity2();
140592
140798
  _a170 = entityKind2;
140593
- CheckBuilder2 = class {
140799
+ CheckBuilder22 = class {
140594
140800
  constructor(name22, value) {
140595
140801
  __publicField(this, "brand");
140596
140802
  this.name = name22;
140597
140803
  this.value = value;
140598
140804
  }
140599
140805
  build(table62) {
140600
- return new Check2(table62, this);
140806
+ return new Check22(table62, this);
140601
140807
  }
140602
140808
  };
140603
- __publicField(CheckBuilder2, _a170, "SQLiteCheckBuilder");
140809
+ __publicField(CheckBuilder22, _a170, "SQLiteCheckBuilder");
140604
140810
  _a171 = entityKind2;
140605
- Check2 = class {
140811
+ Check22 = class {
140606
140812
  constructor(table62, builder) {
140607
140813
  __publicField(this, "name");
140608
140814
  __publicField(this, "value");
@@ -140611,7 +140817,7 @@ ORDER BY
140611
140817
  this.value = builder.value;
140612
140818
  }
140613
140819
  };
140614
- __publicField(Check2, _a171, "SQLiteCheck");
140820
+ __publicField(Check22, _a171, "SQLiteCheck");
140615
140821
  }
140616
140822
  });
140617
140823
  init_foreign_keys22 = __esm2({
@@ -143322,21 +143528,21 @@ The unique constraint ${source_default.underline.blue(name22)} on the ${source_d
143322
143528
  columnsObject[getColumnCasing(it3.columns[0], casing2)].primaryKey = true;
143323
143529
  }
143324
143530
  });
143325
- checks6.forEach((check3) => {
143326
- const checkName = check3.name;
143531
+ checks6.forEach((check4) => {
143532
+ const checkName = check4.name;
143327
143533
  if (typeof checksInTable[tableName] !== "undefined") {
143328
- if (checksInTable[tableName].includes(check3.name)) {
143534
+ if (checksInTable[tableName].includes(check4.name)) {
143329
143535
  console.log(`
143330
143536
  ${withStyle.errorWarning(`We've found duplicated check constraint name in ${source_default.underline.blue(tableName)}. Please rename your check constraint in the ${source_default.underline.blue(tableName)} table`)}`);
143331
143537
  process.exit(1);
143332
143538
  }
143333
143539
  checksInTable[tableName].push(checkName);
143334
143540
  } else {
143335
- checksInTable[tableName] = [check3.name];
143541
+ checksInTable[tableName] = [check4.name];
143336
143542
  }
143337
143543
  checkConstraintObject[checkName] = {
143338
143544
  name: checkName,
143339
- value: dialect6.sqlToQuery(check3.value).sql
143545
+ value: dialect6.sqlToQuery(check4.value).sql
143340
143546
  };
143341
143547
  });
143342
143548
  result[tableName] = {
@@ -143650,10 +143856,10 @@ ${withStyle.errorWarning(`We've found duplicated view name across ${source_defau
143650
143856
  FROM sqlite_master
143651
143857
  WHERE type = 'table'
143652
143858
  AND ${filterIgnoredTablesByField("tbl_name")};`);
143653
- for (const check3 of checks6) {
143654
- if (!tablesFilter(check3.tableName))
143859
+ for (const check4 of checks6) {
143860
+ if (!tablesFilter(check4.tableName))
143655
143861
  continue;
143656
- const { tableName, sql: sql22 } = check3;
143862
+ const { tableName, sql: sql22 } = check4;
143657
143863
  let namedChecks = [...sql22.matchAll(namedCheckPattern)];
143658
143864
  if (namedChecks.length > 0) {
143659
143865
  namedChecks.forEach(([_22, checkName, checkValue]) => {
@@ -147240,21 +147446,21 @@ We have encountered a collision between the index name on columns ${source_defau
147240
147446
  lock: value.config.lock
147241
147447
  };
147242
147448
  });
147243
- checks6.forEach((check3) => {
147244
- const checkName = check3.name;
147449
+ checks6.forEach((check4) => {
147450
+ const checkName = check4.name;
147245
147451
  if (typeof checksInTable[tableName] !== "undefined") {
147246
- if (checksInTable[tableName].includes(check3.name)) {
147452
+ if (checksInTable[tableName].includes(check4.name)) {
147247
147453
  console.log(`
147248
147454
  ${withStyle.errorWarning(`We've found duplicated check constraint name in ${source_default.underline.blue(tableName)}. Please rename your check constraint in the ${source_default.underline.blue(tableName)} table`)}`);
147249
147455
  process.exit(1);
147250
147456
  }
147251
147457
  checksInTable[tableName].push(checkName);
147252
147458
  } else {
147253
- checksInTable[tableName] = [check3.name];
147459
+ checksInTable[tableName] = [check4.name];
147254
147460
  }
147255
147461
  checkConstraintObject[checkName] = {
147256
147462
  name: checkName,
147257
- value: dialect6.sqlToQuery(check3.value).sql
147463
+ value: dialect6.sqlToQuery(check4.value).sql
147258
147464
  };
147259
147465
  });
147260
147466
  if (!schema5) {
@@ -154137,15 +154343,20 @@ var init_timeback_controller = __esm(() => {
154137
154343
  });
154138
154344
  });
154139
154345
  getLatestRuntimeAssessment = requireDeveloper(async (ctx) => {
154346
+ const purpose = ctx.url.searchParams.get("purpose");
154140
154347
  const query = LatestRuntimeAssessmentQuerySchema.safeParse({
154141
154348
  gameId: ctx.url.searchParams.get("gameId"),
154142
154349
  studentId: ctx.url.searchParams.get("studentId"),
154143
- purpose: ctx.url.searchParams.get("purpose"),
154350
+ purpose,
154144
154351
  subject: ctx.url.searchParams.get("subject") ?? undefined,
154145
- grade: ctx.url.searchParams.get("grade") ?? undefined
154352
+ grade: ctx.url.searchParams.get("grade") ?? undefined,
154353
+ standard: purpose === "mastery" ? {
154354
+ framework: ctx.url.searchParams.get("standardFramework"),
154355
+ identifier: ctx.url.searchParams.get("standardIdentifier")
154356
+ } : undefined
154146
154357
  });
154147
154358
  if (!query.success) {
154148
- throw ApiError.badRequest("Missing or invalid gameId, studentId, purpose, subject, or grade");
154359
+ throw ApiError.badRequest("Missing or invalid gameId, studentId, purpose, subject, grade, or mastery standard");
154149
154360
  }
154150
154361
  return ctx.services.timebackAssessmentRuntime.latest({
154151
154362
  ...query.data,
@@ -154493,6 +154704,7 @@ var init_timeback_controller = __esm(() => {
154493
154704
  return ctx.services.timebackAssessments.createAssessment(integrationId, {
154494
154705
  title: body2.title,
154495
154706
  purpose: body2.purpose,
154707
+ standard: body2.standard,
154496
154708
  qtiTestIdentifier
154497
154709
  });
154498
154710
  });
@@ -154567,7 +154779,7 @@ var init_timeback_controller = __esm(() => {
154567
154779
  const body2 = await parseRequestBody(ctx.request, CopyAssessmentRequestSchema);
154568
154780
  const integrationId = await ctx.services.timebackAssessments.resolveIntegrationId(gameId, courseId, ctx.user);
154569
154781
  const targetTestIdentifier = newPlaycademyTestIdentifier();
154570
- return ctx.services.timebackAssessments.copyAssessment(integrationId, body2.testIdentifier, targetTestIdentifier, body2.purpose);
154782
+ return ctx.services.timebackAssessments.copyAssessment(integrationId, body2.testIdentifier, targetTestIdentifier, body2.purpose, body2.standard);
154571
154783
  });
154572
154784
  createQuestion = requireDeveloper(async (ctx) => {
154573
154785
  const { gameId, courseId, testIdentifier } = ctx.params;