@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/cli.js CHANGED
@@ -294,7 +294,7 @@ var init_timeback2 = __esm(() => {
294
294
  "Math",
295
295
  "None"
296
296
  ];
297
- ASSESSMENT_PURPOSES = ["end_of_course", "diagnostic", "review"];
297
+ ASSESSMENT_PURPOSES = ["end_of_course", "diagnostic", "review", "mastery"];
298
298
  TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS = {
299
299
  standards: 20,
300
300
  itemsPerStandard: 5,
@@ -1123,7 +1123,7 @@ var package_default;
1123
1123
  var init_package = __esm(() => {
1124
1124
  package_default = {
1125
1125
  name: "@playcademy/sandbox",
1126
- version: "0.7.1-beta.8",
1126
+ version: "0.7.1-beta.9",
1127
1127
  description: "Local development server for Playcademy game development",
1128
1128
  type: "module",
1129
1129
  exports: {
@@ -10136,6 +10136,26 @@ function assessmentItemEarnedScore(interactionPoints, maxScore) {
10136
10136
  const earned = interactionPoints.reduce((sum, points) => sum + Math.max(0, points), 0);
10137
10137
  return Math.min(earned, maxScore);
10138
10138
  }
10139
+ function normalizeMasteryStandard(input) {
10140
+ const standard = canonicalReviewStandardRef(input);
10141
+ if (!standard) {
10142
+ throw new Error("Mastery quizzes require a canonical framework and identifier");
10143
+ }
10144
+ return standard;
10145
+ }
10146
+ function masteryRequestFingerprint(input) {
10147
+ return JSON.stringify({
10148
+ kind: "standard-quiz",
10149
+ standardKey: assessmentStandardRefKey(normalizeMasteryStandard(input.standard))
10150
+ });
10151
+ }
10152
+ function masteryStandardMatcher(requested) {
10153
+ const requestedKey = assessmentStandardRefKey(normalizeMasteryStandard(requested));
10154
+ return (authored) => {
10155
+ const canonicalAuthored = authored ? canonicalReviewStandardRef(authored) : null;
10156
+ return canonicalAuthored !== null && assessmentStandardRefKey(canonicalAuthored) === requestedKey;
10157
+ };
10158
+ }
10139
10159
  function isAssessmentScore(value) {
10140
10160
  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;
10141
10161
  }
@@ -10155,14 +10175,18 @@ function isReviewItemOutcome(value) {
10155
10175
  function isReviewAttemptMetadata(value) {
10156
10176
  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);
10157
10177
  }
10178
+ function isMasteryAttemptMetadata(value) {
10179
+ return isRecord(value) && typeof value.requestFingerprint === "string" && isAssessmentStandardRef(value.standard);
10180
+ }
10158
10181
  function isPlaycademyAssessmentResultMetadataV1(value) {
10159
10182
  if (!isRecord(value)) {
10160
10183
  return false;
10161
10184
  }
10162
10185
  const metadata2 = value;
10163
10186
  const selectedTest = metadata2.selectedTest;
10187
+ const mastery = metadata2.mastery;
10164
10188
  const review = metadata2.review;
10165
- 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)));
10189
+ 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)));
10166
10190
  }
10167
10191
  function isPlaycademyAssessmentItemResultMetadataV1(value) {
10168
10192
  if (!isRecord(value) || !isRecord(value.responses)) {
@@ -10205,7 +10229,7 @@ function playcademyAssessmentItemResultMetadata(value) {
10205
10229
  const normalized = metadata2.responses === undefined ? { ...metadata2, responses: {} } : metadata2;
10206
10230
  return isPlaycademyAssessmentItemResultMetadataV1(normalized) ? normalized : null;
10207
10231
  }
10208
- 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;
10232
+ 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;
10209
10233
  var init_assessment_runtime = __esm(() => {
10210
10234
  init_timeback3();
10211
10235
  init_timeback3();
@@ -10417,12 +10441,6 @@ var init_assessment_runtime = __esm(() => {
10417
10441
  gameId: exports_external.string().uuid(),
10418
10442
  studentId: exports_external.string().trim().min(1)
10419
10443
  });
10420
- LatestAssessmentFiltersSchema = exports_external.object({
10421
- purpose: exports_external.enum(ASSESSMENT_PURPOSES),
10422
- subject: RuntimeSubjectSchema.optional(),
10423
- grade: OptionalQueryGradeSchema
10424
- });
10425
- LatestRuntimeAssessmentQuerySchema = AssessmentRuntimeIdentitySchema.extend(LatestAssessmentFiltersSchema.shape);
10426
10444
  ResponseKeySchema = exports_external.string().refine((key) => key.length > 0 && key.trim() === key, {
10427
10445
  message: "Response keys must be non-empty without surrounding whitespace"
10428
10446
  });
@@ -10437,7 +10455,21 @@ var init_assessment_runtime = __esm(() => {
10437
10455
  }).refine((standard) => {
10438
10456
  const canonical = canonicalAssessmentStandardRef(standard);
10439
10457
  return canonical.framework.length > 0 && canonical.identifier.length > 0;
10440
- }, { message: "Review standards require a canonical framework and identifier" });
10458
+ }, { message: "Assessment standards require a canonical framework and identifier" });
10459
+ LatestAssessmentFilterBaseSchema = exports_external.object({
10460
+ subject: RuntimeSubjectSchema.optional(),
10461
+ grade: OptionalQueryGradeSchema
10462
+ });
10463
+ LatestAssessmentFiltersSchema = exports_external.discriminatedUnion("purpose", [
10464
+ LatestAssessmentFilterBaseSchema.extend({
10465
+ purpose: exports_external.enum(["end_of_course", "diagnostic", "review"])
10466
+ }),
10467
+ LatestAssessmentFilterBaseSchema.extend({
10468
+ purpose: exports_external.literal("mastery"),
10469
+ standard: AssessmentStandardRefSchema
10470
+ })
10471
+ ]);
10472
+ LatestRuntimeAssessmentQuerySchema = exports_external.intersection(AssessmentRuntimeIdentitySchema, LatestAssessmentFiltersSchema);
10441
10473
  StartAssessmentBodySchema = exports_external.discriminatedUnion("purpose", [
10442
10474
  StartAssessmentBaseSchema.extend({
10443
10475
  purpose: exports_external.enum(["end_of_course", "diagnostic"])
@@ -10446,6 +10478,10 @@ var init_assessment_runtime = __esm(() => {
10446
10478
  purpose: exports_external.literal("review"),
10447
10479
  standards: exports_external.array(AssessmentStandardRefSchema).min(1).max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.standards),
10448
10480
  itemsPerStandard: exports_external.number().int().positive().max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.itemsPerStandard).optional()
10481
+ }),
10482
+ StartAssessmentBaseSchema.extend({
10483
+ purpose: exports_external.literal("mastery"),
10484
+ standard: AssessmentStandardRefSchema
10449
10485
  })
10450
10486
  ]);
10451
10487
  SaveAssessmentBodySchema = exports_external.object({
@@ -14283,7 +14319,34 @@ var init_drizzle_orm = __esm(() => {
14283
14319
  var init_alias2 = () => {};
14284
14320
 
14285
14321
  // ../../node_modules/.bun/drizzle-orm@0.42.0+6017126bf8b58398/node_modules/drizzle-orm/pg-core/checks.js
14286
- var init_checks = () => {};
14322
+ function check(name2, value) {
14323
+ return new CheckBuilder(name2, value);
14324
+ }
14325
+ var CheckBuilder, Check;
14326
+ var init_checks = __esm(() => {
14327
+ init_entity();
14328
+ CheckBuilder = class CheckBuilder {
14329
+ constructor(name2, value) {
14330
+ this.name = name2;
14331
+ this.value = value;
14332
+ }
14333
+ static [entityKind] = "PgCheckBuilder";
14334
+ brand;
14335
+ build(table2) {
14336
+ return new Check(table2, this);
14337
+ }
14338
+ };
14339
+ Check = class Check {
14340
+ constructor(table2, builder) {
14341
+ this.table = table2;
14342
+ this.name = builder.name;
14343
+ this.value = builder.value;
14344
+ }
14345
+ static [entityKind] = "PgCheck";
14346
+ name;
14347
+ value;
14348
+ };
14349
+ });
14287
14350
 
14288
14351
  // ../../node_modules/.bun/drizzle-orm@0.42.0+6017126bf8b58398/node_modules/drizzle-orm/pg-core/columns/index.js
14289
14352
  var init_columns = __esm(() => {
@@ -16745,11 +16808,22 @@ var init_table7 = __esm(() => {
16745
16808
  purpose: gameTimebackAssessmentPurposeEnum("purpose").notNull().default("end_of_course"),
16746
16809
  status: gameTimebackAssessmentStatusEnum("status").notNull().default("draft"),
16747
16810
  sortOrder: integer("sort_order"),
16811
+ standardFramework: text("standard_framework"),
16812
+ standardIdentifier: text("standard_identifier"),
16748
16813
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
16749
16814
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
16750
16815
  }, (table3) => [
16751
16816
  uniqueIndex("game_timeback_assessment_tests_integration_qti_idx").on(table3.integrationId, table3.qtiTestIdentifier),
16752
- uniqueIndex("game_timeback_assessment_tests_one_live_review_idx").on(table3.integrationId).where(sql`${table3.purpose} = 'review' AND ${table3.status} = 'live'`)
16817
+ uniqueIndex("game_timeback_assessment_tests_one_live_review_idx").on(table3.integrationId).where(sql`${table3.purpose} = 'review' AND ${table3.status} = 'live'`),
16818
+ check("game_timeback_assessment_tests_mastery_standard_check", sql`(
16819
+ (${table3.purpose}::text = 'mastery'
16820
+ AND NULLIF(BTRIM(${table3.standardFramework}), '') IS NOT NULL
16821
+ AND NULLIF(BTRIM(${table3.standardIdentifier}), '') IS NOT NULL)
16822
+ OR
16823
+ (${table3.purpose}::text <> 'mastery'
16824
+ AND ${table3.standardFramework} IS NULL
16825
+ AND ${table3.standardIdentifier} IS NULL)
16826
+ )`)
16753
16827
  ]);
16754
16828
  gameTimebackMetricDiscrepancyVerifications = pgTable("game_timeback_metric_discrepancy_verifications", {
16755
16829
  id: uuid("id").primaryKey().defaultRandom(),
@@ -39351,7 +39425,16 @@ function isValidAdminAttributionDate(value) {
39351
39425
  const date3 = new Date(Date.UTC(year, month - 1, day, 12, 0, 0));
39352
39426
  return date3.getUTCFullYear() === year && date3.getUTCMonth() + 1 === month && date3.getUTCDate() === day;
39353
39427
  }
39354
- 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;
39428
+ function requireMasteryStandard(input, context2) {
39429
+ if (input.purpose === "mastery" && input.standard === undefined) {
39430
+ context2.addIssue({
39431
+ code: "custom",
39432
+ path: ["standard"],
39433
+ message: "Mastery assessments require a standard"
39434
+ });
39435
+ }
39436
+ }
39437
+ 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;
39355
39438
  var init_schemas4 = __esm(() => {
39356
39439
  init_esm();
39357
39440
  init_src();
@@ -39596,21 +39679,28 @@ var init_schemas4 = __esm(() => {
39596
39679
  });
39597
39680
  AssessmentPurposeSchema = exports_external.enum(gameTimebackAssessmentPurposeEnum.enumValues);
39598
39681
  AssessmentStatusSchema = exports_external.enum(gameTimebackAssessmentStatusEnum.enumValues);
39682
+ AssessmentStandardRefSchema2 = exports_external.object({
39683
+ framework: exports_external.string().trim().min(1).max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.standardFieldLength),
39684
+ identifier: exports_external.string().trim().min(1).max(TIMEBACK_ASSESSMENT_REVIEW_REQUEST_LIMITS.standardFieldLength)
39685
+ });
39599
39686
  CreateAssessmentRequestSchema = exports_external.object({
39600
39687
  title: exports_external.string().min(1, "Assessment title is required"),
39601
- purpose: AssessmentPurposeSchema
39602
- });
39688
+ purpose: AssessmentPurposeSchema,
39689
+ standard: AssessmentStandardRefSchema2.optional()
39690
+ }).superRefine(requireMasteryStandard);
39603
39691
  UpdateAssessmentRequestSchema = exports_external.object({
39604
39692
  title: exports_external.string().trim().min(1, "Assessment title is required").optional(),
39605
39693
  purpose: AssessmentPurposeSchema.optional(),
39694
+ standard: AssessmentStandardRefSchema2.optional(),
39606
39695
  status: AssessmentStatusSchema.optional()
39607
- }).refine((input) => input.title !== undefined || input.purpose !== undefined || input.status !== undefined, {
39608
- message: "Title, purpose, or status is required"
39696
+ }).refine((input) => input.title !== undefined || input.purpose !== undefined || input.standard !== undefined || input.status !== undefined, {
39697
+ message: "Title, purpose, standard, or status is required"
39609
39698
  });
39610
39699
  CopyAssessmentRequestSchema = exports_external.object({
39611
39700
  testIdentifier: exports_external.string().trim().min(1, "Assessment identifier is required"),
39612
- purpose: AssessmentPurposeSchema
39613
- });
39701
+ purpose: AssessmentPurposeSchema,
39702
+ standard: AssessmentStandardRefSchema2.optional()
39703
+ }).superRefine(requireMasteryStandard);
39614
39704
  ReorderAssessmentsRequestSchema = exports_external.object({
39615
39705
  purpose: AssessmentPurposeSchema,
39616
39706
  testIdentifiers: exports_external.array(exports_external.string().trim().min(1, "Assessment identifier is required")).min(1, "At least one assessment is required")
@@ -51807,7 +51897,7 @@ function promise(innerType) {
51807
51897
  innerType
51808
51898
  });
51809
51899
  }
51810
- function check(fn, params) {
51900
+ function check2(fn, params) {
51811
51901
  const ch = new $ZodCheck({
51812
51902
  check: "custom",
51813
51903
  ...exports_util.normalizeParams(params)
@@ -51822,7 +51912,7 @@ function refine(fn, _params = {}) {
51822
51912
  return _refine(ZodCustom, fn, _params);
51823
51913
  }
51824
51914
  function superRefine(fn, params) {
51825
- const ch = check((payload) => {
51915
+ const ch = check2((payload) => {
51826
51916
  payload.addIssue = (issue3) => {
51827
51917
  if (typeof issue3 === "string") {
51828
51918
  payload.issues.push(exports_util.issue(issue3, payload.value, ch._zod.def));
@@ -51898,7 +51988,7 @@ var init_schemas6 = __esm(() => {
51898
51988
  inst.parseAsync = async (data, params) => parseAsync2(inst, data, params, { callee: inst.parseAsync });
51899
51989
  inst.safeParseAsync = async (data, params) => safeParseAsync2(inst, data, params);
51900
51990
  inst.spa = inst.safeParseAsync;
51901
- inst.refine = (check, params) => inst.check(refine(check, params));
51991
+ inst.refine = (check2, params) => inst.check(refine(check2, params));
51902
51992
  inst.superRefine = (refinement) => inst.check(superRefine(refinement));
51903
51993
  inst.overwrite = (fn) => inst.check(_overwrite(fn));
51904
51994
  inst.optional = () => optional(inst);
@@ -52578,7 +52668,7 @@ __export(exports_external2, {
52578
52668
  clone: () => clone,
52579
52669
  cidrv6: () => cidrv62,
52580
52670
  cidrv4: () => cidrv42,
52581
- check: () => check,
52671
+ check: () => check2,
52582
52672
  catch: () => _catch2,
52583
52673
  boolean: () => boolean4,
52584
52674
  bigint: () => bigint4,
@@ -73542,7 +73632,7 @@ __export(exports_schemas4, {
73542
73632
  codec: () => codec,
73543
73633
  cidrv6: () => cidrv64,
73544
73634
  cidrv4: () => cidrv44,
73545
- check: () => check2,
73635
+ check: () => check3,
73546
73636
  catch: () => _catch4,
73547
73637
  boolean: () => boolean7,
73548
73638
  bigint: () => bigint7,
@@ -74082,7 +74172,7 @@ function _function2(params) {
74082
74172
  output: params?.output ?? unknown2()
74083
74173
  });
74084
74174
  }
74085
- function check2(fn) {
74175
+ function check3(fn) {
74086
74176
  const ch = new $ZodCheck2({
74087
74177
  check: "custom"
74088
74178
  });
@@ -74195,8 +74285,8 @@ var init_schemas8 = __esm(() => {
74195
74285
  reg.add(this, meta2);
74196
74286
  return this;
74197
74287
  },
74198
- refine(check2, params) {
74199
- return this.check(refine2(check2, params));
74288
+ refine(check3, params) {
74289
+ return this.check(refine2(check3, params));
74200
74290
  },
74201
74291
  superRefine(refinement, params) {
74202
74292
  return this.check(superRefine2(refinement, params));
@@ -75599,7 +75689,7 @@ __export(exports_external3, {
75599
75689
  clone: () => clone2,
75600
75690
  cidrv6: () => cidrv64,
75601
75691
  cidrv4: () => cidrv44,
75602
- check: () => check2,
75692
+ check: () => check3,
75603
75693
  catch: () => _catch4,
75604
75694
  boolean: () => boolean7,
75605
75695
  bigint: () => bigint7,
@@ -83012,6 +83102,9 @@ function assessmentPurposeClassificationFields(purpose, input) {
83012
83102
  case "review": {
83013
83103
  return {};
83014
83104
  }
83105
+ case "mastery": {
83106
+ return {};
83107
+ }
83015
83108
  }
83016
83109
  }
83017
83110
  function buildAssessmentCompletionMetadata(input) {
@@ -85149,6 +85242,9 @@ function assessmentPurposeClassificationFields2(purpose, input) {
85149
85242
  case "review": {
85150
85243
  return {};
85151
85244
  }
85245
+ case "mastery": {
85246
+ return {};
85247
+ }
85152
85248
  }
85153
85249
  }
85154
85250
  function deriveSourcedIds2(courseId) {
@@ -90446,6 +90542,105 @@ var init_timeback_admin_service = __esm(async () => {
90446
90542
  init_timeback_mastery_completion_util()
90447
90543
  ]);
90448
90544
  });
90545
+
90546
+ // ../api-core/src/utils/timeback-assessment-rules.util.ts
90547
+ function validateAssessmentStatusTransition(current, next) {
90548
+ if (current === next) {
90549
+ return;
90550
+ }
90551
+ const allowed = current === "draft" && next === "live" || current === "live" && next === "archived" || current === "archived" && next === "live";
90552
+ if (!allowed) {
90553
+ throw new ValidationError(`Assessment status cannot change from ${current} to ${next}`);
90554
+ }
90555
+ }
90556
+ function isAssessmentPublicationTransition(current, next) {
90557
+ return current !== "live" && next === "live";
90558
+ }
90559
+ function assertDraftAssessment(row) {
90560
+ if (row.status !== "draft") {
90561
+ throw new ValidationError("Only draft assessments can change QTI content or question membership");
90562
+ }
90563
+ }
90564
+ function assertMasteryPurposeChangeDraft(row, nextPurpose) {
90565
+ if (row.purpose !== nextPurpose && (row.purpose === "mastery" || nextPurpose === "mastery") && row.status !== "draft") {
90566
+ throw new ValidationError("Only draft assessments can change to or from mastery");
90567
+ }
90568
+ }
90569
+ function assertAllAssessmentAssociationsDraft(rows) {
90570
+ if (rows.some((row) => row.status !== "draft")) {
90571
+ throw new ValidationError("QTI content cannot change while any associated assessment is live or archived");
90572
+ }
90573
+ }
90574
+ function assertAssessmentHasQuestions(questions) {
90575
+ if (questions.length === 0) {
90576
+ throw new ValidationError("An assessment must contain at least one question to publish");
90577
+ }
90578
+ }
90579
+ function assertReviewAssessmentHasStandards(standardCounts) {
90580
+ if (standardCounts.some((count) => count <= 0)) {
90581
+ throw new ValidationError("Every question in a review assessment must have a standards alignment");
90582
+ }
90583
+ }
90584
+ function planAssessmentRemoval(status) {
90585
+ if (status === "draft") {
90586
+ return { kind: "delete", action: "discarded", operation: "discard_draft" };
90587
+ }
90588
+ if (status === "live") {
90589
+ return { kind: "archive", action: "archived", operation: "archive" };
90590
+ }
90591
+ return { kind: "none", action: "archived" };
90592
+ }
90593
+ function buildAssessmentAssociationUpdates(row, input) {
90594
+ const updates = {};
90595
+ if (input.purpose !== undefined) {
90596
+ updates.purpose = input.purpose;
90597
+ if (input.purpose !== "mastery" && (row.purpose === "mastery" || row.standardFramework || row.standardIdentifier)) {
90598
+ updates.standardFramework = null;
90599
+ updates.standardIdentifier = null;
90600
+ }
90601
+ if (row.status === "live" && input.purpose !== row.purpose) {
90602
+ updates.sortOrder = null;
90603
+ }
90604
+ }
90605
+ if (input.standard !== undefined) {
90606
+ updates.standardFramework = input.standard.framework;
90607
+ updates.standardIdentifier = input.standard.identifier;
90608
+ }
90609
+ if (input.status !== undefined) {
90610
+ updates.status = input.status;
90611
+ if (input.status === "archived") {
90612
+ updates.sortOrder = null;
90613
+ }
90614
+ }
90615
+ return updates;
90616
+ }
90617
+ function assessmentStandardForRow(row) {
90618
+ return row.standardFramework && row.standardIdentifier ? { framework: row.standardFramework, identifier: row.standardIdentifier } : null;
90619
+ }
90620
+ function validateUniqueAssessmentIdentifiers(testIdentifiers) {
90621
+ if (new Set(testIdentifiers).size !== testIdentifiers.length) {
90622
+ throw new ValidationError("Assessment order must contain unique identifiers");
90623
+ }
90624
+ }
90625
+ function assertAssessmentOrderUpdateSucceeded(updatedRow) {
90626
+ if (!updatedRow) {
90627
+ throw new ValidationError("Assessment order changed while it was being saved. Refresh and try again.");
90628
+ }
90629
+ return updatedRow;
90630
+ }
90631
+ function lockOrderAssessmentRows(rows) {
90632
+ return rows.toSorted((left, right) => left.id.localeCompare(right.id));
90633
+ }
90634
+ function orderLiveAssessmentRows(liveRows, purpose, testIdentifiers) {
90635
+ const rowsByIdentifier = new Map(liveRows.map((row) => [row.qtiTestIdentifier, row]));
90636
+ if (liveRows.length !== testIdentifiers.length || testIdentifiers.some((identifier) => !rowsByIdentifier.has(identifier))) {
90637
+ throw new ValidationError(`Assessment order must include every live ${purpose} assessment exactly once`);
90638
+ }
90639
+ return testIdentifiers.map((identifier) => rowsByIdentifier.get(identifier));
90640
+ }
90641
+ var init_timeback_assessment_rules_util = __esm(() => {
90642
+ init_errors2();
90643
+ });
90449
90644
  // ../types/src/timeback/assessment-runtime.ts
90450
90645
  var PLAYABLE_ASSESSMENT_SHAPES;
90451
90646
  var init_assessment_runtime2 = __esm(() => {
@@ -90996,6 +91191,8 @@ class TimebackAssessmentRuntimeService {
90996
91191
  if (input.purpose === "review") {
90997
91192
  return this.startReview({ gameId, studentId, input, user });
90998
91193
  }
91194
+ const masteryStandard = input.purpose === "mastery" ? normalizeMasteryStandard(input.standard) : undefined;
91195
+ const requestFingerprint = this.startRequestFingerprint(input);
90999
91196
  const candidates = await this.candidateIntegrations(gameId, studentId, input);
91000
91197
  const lockKeys = candidates.rows.map((row) => assessmentRuntimeStartLockKey({
91001
91198
  studentId,
@@ -91014,18 +91211,20 @@ class TimebackAssessmentRuntimeService {
91014
91211
  enrollmentId: context2.enrollment.id
91015
91212
  };
91016
91213
  const [tests, listing] = await Promise.all([
91017
- this.liveTests(context2.integration.id, input.purpose, db2),
91214
+ this.liveTests(context2.integration.id, input.purpose, db2, masteryStandard),
91018
91215
  this.listAttempts(attemptScope)
91019
91216
  ]);
91020
91217
  const attempts = listing.attempts;
91021
- let decision = this.requireDecision(selectRuntimeAssessment(tests, [...attempts.values()].map((entry) => entry.selection)), input.purpose);
91218
+ const compatibleAttempts = this.attemptsMatchingRequest(attempts, requestFingerprint);
91219
+ let decision = this.requireDecision(selectRuntimeAssessment(tests, [...compatibleAttempts.values()].map((entry) => entry.selection)), input.purpose);
91022
91220
  if (decision.kind === "resume") {
91023
91221
  return this.resumeSnapshot(decision, attempts);
91024
91222
  }
91025
91223
  let assessment = await this.loadAssessment(decision.test.qtiTestIdentifier);
91026
91224
  const refreshedListing = await this.listAttempts(attemptScope);
91027
91225
  const refreshed = refreshedListing.attempts;
91028
- const refreshedDecision = this.requireDecision(selectRuntimeAssessment(tests, [...refreshed.values()].map((entry) => entry.selection)), input.purpose);
91226
+ const refreshedCompatible = this.attemptsMatchingRequest(refreshed, requestFingerprint);
91227
+ const refreshedDecision = this.requireDecision(selectRuntimeAssessment(tests, [...refreshedCompatible.values()].map((entry) => entry.selection)), input.purpose);
91029
91228
  if (refreshedDecision.kind === "resume") {
91030
91229
  return this.resumeSnapshot(refreshedDecision, refreshed);
91031
91230
  }
@@ -91048,10 +91247,9 @@ class TimebackAssessmentRuntimeService {
91048
91247
  purpose: input.purpose
91049
91248
  }, Math.max(0, ...[...refreshed.values()].map((entry) => entry.metadata.attemptNumber)) + 1);
91050
91249
  const timestamp6 = new Date().toISOString();
91051
- const metadata2 = {
91250
+ const metadataBase = {
91052
91251
  version: PLAYCADEMY_ASSESSMENT_RESULT_METADATA_VERSION,
91053
91252
  activityId: input.activityId,
91054
- purpose: input.purpose,
91055
91253
  courseId: context2.integration.courseId,
91056
91254
  integrationId: context2.integration.id,
91057
91255
  enrollmentId: context2.enrollment.id,
@@ -91065,6 +91263,14 @@ class TimebackAssessmentRuntimeService {
91065
91263
  startedAt: timestamp6,
91066
91264
  updatedAt: timestamp6
91067
91265
  };
91266
+ const metadata2 = input.purpose === "mastery" ? {
91267
+ ...metadataBase,
91268
+ purpose: input.purpose,
91269
+ mastery: {
91270
+ requestFingerprint,
91271
+ standard: masteryStandard
91272
+ }
91273
+ } : { ...metadataBase, purpose: input.purpose };
91068
91274
  const result = await this.requireClient().api.oneroster.assessmentResults.upsert(attemptId, {
91069
91275
  status: ONEROSTER_STATUS2.active,
91070
91276
  assessmentLineItem: { sourcedId: lineItemId },
@@ -91111,7 +91317,7 @@ class TimebackAssessmentRuntimeService {
91111
91317
  this.listAttempts(attemptScope)
91112
91318
  ]);
91113
91319
  const attempts = listing.attempts;
91114
- const compatible = this.compatibleReviewAttempts(attempts, requestFingerprint);
91320
+ const compatible = this.attemptsMatchingRequest(attempts, requestFingerprint);
91115
91321
  let decision = selectRuntimeAssessment(tests, [...compatible.values()].map((entry) => entry.selection));
91116
91322
  if (decision?.kind === "resume") {
91117
91323
  return this.resumeReviewSnapshot(decision, compatible, listing.reviewChildren, context2);
@@ -91125,7 +91331,7 @@ class TimebackAssessmentRuntimeService {
91125
91331
  let source = await this.loadReviewBank(decision.test.qtiTestIdentifier);
91126
91332
  const refreshedListing = await this.listAttempts(attemptScope);
91127
91333
  const refreshed = refreshedListing.attempts;
91128
- const refreshedCompatible = this.compatibleReviewAttempts(refreshed, requestFingerprint);
91334
+ const refreshedCompatible = this.attemptsMatchingRequest(refreshed, requestFingerprint);
91129
91335
  const refreshedDecision = selectRuntimeAssessment(tests, [...refreshedCompatible.values()].map((entry) => entry.selection));
91130
91336
  if (refreshedDecision?.kind === "resume") {
91131
91337
  return this.resumeReviewSnapshot(refreshedDecision, refreshedCompatible, refreshedListing.reviewChildren, context2);
@@ -91226,7 +91432,8 @@ class TimebackAssessmentRuntimeService {
91226
91432
  user,
91227
91433
  purpose,
91228
91434
  subject,
91229
- grade
91435
+ grade,
91436
+ standard
91230
91437
  }) {
91231
91438
  await this.deps.validateDeveloperAccess(user, gameId);
91232
91439
  const integrations = await this.deps.db.query.gameTimebackIntegrations.findMany({
@@ -91254,10 +91461,11 @@ class TimebackAssessmentRuntimeService {
91254
91461
  sort: "scoreDate",
91255
91462
  orderBy: "desc"
91256
91463
  });
91464
+ const matchesMasteryStandard = purpose === "mastery" && standard !== undefined ? masteryStandardMatcher(standard) : undefined;
91257
91465
  const latest = await findLatestAssessmentResult(results, (result) => {
91258
91466
  const metadata2 = playcademyAssessmentResultMetadata(result.metadata);
91259
91467
  const integration2 = metadata2 ? matchingIntegrations.get(metadata2.integrationId) : undefined;
91260
- return metadata2 && metadata2.purpose === purpose && integration2 && metadata2.courseId === integration2.courseId && result.student.sourcedId === studentId && this.isCompleted(result) ? metadata2 : null;
91468
+ 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;
91261
91469
  });
91262
91470
  if (!latest) {
91263
91471
  return null;
@@ -91271,6 +91479,7 @@ class TimebackAssessmentRuntimeService {
91271
91479
  subject: integration.subject,
91272
91480
  grade: integration.grade,
91273
91481
  testIdentifier: latest.match.selectedTest.identifier,
91482
+ standard: latest.match.purpose === "mastery" ? latest.match.mastery.standard : null,
91274
91483
  completedAt: latest.result.scoreDate,
91275
91484
  score: { normalized: score.normalized }
91276
91485
  };
@@ -91539,7 +91748,7 @@ class TimebackAssessmentRuntimeService {
91539
91748
  });
91540
91749
  const catalogs = loadedCatalogs.filter((catalog) => catalog !== null);
91541
91750
  return {
91542
- version: 4,
91751
+ version: 5,
91543
91752
  gameId,
91544
91753
  exportedAt: new Date().toISOString(),
91545
91754
  catalogs
@@ -91574,9 +91783,14 @@ class TimebackAssessmentRuntimeService {
91574
91783
  const candidateRows = integrations.filter((integration) => enrollmentByCourse.has(integration.courseId));
91575
91784
  const liveTestRows = candidateRows.length === 0 ? [] : await db2.query.gameTimebackAssessmentTests.findMany({
91576
91785
  where: and(inArray(gameTimebackAssessmentTests.integrationId, candidateRows.map((row) => row.id)), eq(gameTimebackAssessmentTests.purpose, input.purpose), eq(gameTimebackAssessmentTests.status, "live")),
91577
- columns: { integrationId: true }
91786
+ columns: {
91787
+ integrationId: true,
91788
+ standardFramework: true,
91789
+ standardIdentifier: true
91790
+ }
91578
91791
  });
91579
- const integrationIdsWithLiveTests = new Set(liveTestRows.map((row) => row.integrationId));
91792
+ const matchesMasteryStandard = input.purpose === "mastery" ? masteryStandardMatcher(input.standard) : undefined;
91793
+ const integrationIdsWithLiveTests = new Set(liveTestRows.filter((row) => !matchesMasteryStandard || matchesMasteryStandard(assessmentStandardForRow(row))).map((row) => row.integrationId));
91580
91794
  return {
91581
91795
  rows: candidateRows,
91582
91796
  enrollmentByCourse,
@@ -91598,7 +91812,7 @@ class TimebackAssessmentRuntimeService {
91598
91812
  row.courseId,
91599
91813
  enrollmentByCourse.get(row.courseId).id
91600
91814
  ])),
91601
- requestFingerprint: input.purpose === "review" ? reviewRequestFingerprint(input, DEFAULT_REVIEW_SELECTION_POLICY) : undefined
91815
+ requestFingerprint: this.startRequestFingerprint(input)
91602
91816
  }) : new Set;
91603
91817
  const annotated = candidateRows.map((row) => ({
91604
91818
  ...row,
@@ -91624,7 +91838,8 @@ class TimebackAssessmentRuntimeService {
91624
91838
  const acquire = (index2, db2) => index2 === keys.length ? operation(db2) : this.deps.assessmentRuntimeLock(db2, keys[index2], (nested) => acquire(index2 + 1, nested));
91625
91839
  return acquire(0, this.deps.db);
91626
91840
  }
91627
- async liveTests(integrationId, purpose, db2 = this.deps.db) {
91841
+ async liveTests(integrationId, purpose, db2 = this.deps.db, requestedStandard) {
91842
+ const matchesMasteryStandard = requestedStandard ? masteryStandardMatcher(requestedStandard) : undefined;
91628
91843
  const rows = await db2.query.gameTimebackAssessmentTests.findMany({
91629
91844
  where: and(eq(gameTimebackAssessmentTests.integrationId, integrationId), eq(gameTimebackAssessmentTests.purpose, purpose), eq(gameTimebackAssessmentTests.status, "live"))
91630
91845
  });
@@ -91632,8 +91847,9 @@ class TimebackAssessmentRuntimeService {
91632
91847
  id: row.id,
91633
91848
  qtiTestIdentifier: row.qtiTestIdentifier,
91634
91849
  sortOrder: row.sortOrder,
91635
- updatedAt: row.updatedAt.toISOString()
91636
- }));
91850
+ updatedAt: row.updatedAt.toISOString(),
91851
+ standard: assessmentStandardForRow(row)
91852
+ })).filter((test) => !matchesMasteryStandard || matchesMasteryStandard(test.standard));
91637
91853
  }
91638
91854
  async openAttemptCourseIds(scope) {
91639
91855
  const results = this.requireClient().api.oneroster.assessmentResults.stream({
@@ -91645,7 +91861,7 @@ class TimebackAssessmentRuntimeService {
91645
91861
  const courseIds = new Set;
91646
91862
  for await (const result of results) {
91647
91863
  const metadata2 = playcademyAssessmentResultMetadata(result.metadata);
91648
- 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({
91864
+ 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({
91649
91865
  inProgress: result.inProgress ?? "",
91650
91866
  scoreStatus: result.scoreStatus
91651
91867
  })) {
@@ -91687,8 +91903,26 @@ class TimebackAssessmentRuntimeService {
91687
91903
  }
91688
91904
  return { attempts, reviewChildren };
91689
91905
  }
91690
- compatibleReviewAttempts(attempts, requestFingerprint) {
91691
- return new Map([...attempts].filter(([, attempt]) => attempt.metadata.purpose === "review" && attempt.metadata.review.requestFingerprint === requestFingerprint));
91906
+ attemptsMatchingRequest(attempts, requestFingerprint) {
91907
+ if (requestFingerprint === undefined) {
91908
+ return attempts;
91909
+ }
91910
+ return new Map([...attempts].filter(([, attempt]) => this.attemptMatchesRequestFingerprint(attempt.metadata, requestFingerprint)));
91911
+ }
91912
+ startRequestFingerprint(input) {
91913
+ if (input.purpose === "review") {
91914
+ return reviewRequestFingerprint(input, DEFAULT_REVIEW_SELECTION_POLICY);
91915
+ }
91916
+ return input.purpose === "mastery" ? masteryRequestFingerprint(input) : undefined;
91917
+ }
91918
+ attemptMatchesRequestFingerprint(metadata2, requestFingerprint) {
91919
+ if (metadata2.purpose === "review") {
91920
+ return metadata2.review.requestFingerprint === requestFingerprint;
91921
+ }
91922
+ if (metadata2.purpose === "mastery") {
91923
+ return metadata2.mastery.requestFingerprint === requestFingerprint;
91924
+ }
91925
+ return true;
91692
91926
  }
91693
91927
  reviewExposures(results, scope) {
91694
91928
  const exposures = [];
@@ -92125,6 +92359,7 @@ class TimebackAssessmentRuntimeService {
92125
92359
  }
92126
92360
  snapshot(result, metadata2, assessment) {
92127
92361
  const completed = this.isCompleted(result);
92362
+ const selection = this.selectionContext(metadata2);
92128
92363
  return {
92129
92364
  attemptId: result.sourcedId,
92130
92365
  responseVersion: metadata2.responseVersion,
@@ -92132,18 +92367,28 @@ class TimebackAssessmentRuntimeService {
92132
92367
  assessment: assessmentPresentationForAttempt(assessment, result.sourcedId),
92133
92368
  responses: metadata2.responses,
92134
92369
  score: completed ? this.scoreFromResult(result, assessmentPossibleScore(assessment), metadata2) : null,
92135
- selection: metadata2.purpose === "review" ? {
92370
+ selection
92371
+ };
92372
+ }
92373
+ selectionContext(metadata2) {
92374
+ if (metadata2.purpose === "review") {
92375
+ return {
92136
92376
  kind: "standards-review",
92137
92377
  purpose: metadata2.purpose,
92138
92378
  standards: [...metadata2.review.standards],
92139
92379
  itemsPerStandard: metadata2.review.itemsPerStandard,
92140
92380
  selections: [...metadata2.review.selections],
92141
92381
  fulfillment: metadata2.review.fulfillment
92142
- } : {
92143
- kind: "fixed-test",
92144
- purpose: metadata2.purpose
92145
- }
92146
- };
92382
+ };
92383
+ }
92384
+ if (metadata2.purpose === "mastery") {
92385
+ return {
92386
+ kind: "standard-quiz",
92387
+ purpose: metadata2.purpose,
92388
+ standard: metadata2.mastery.standard
92389
+ };
92390
+ }
92391
+ return { kind: "fixed-test", purpose: metadata2.purpose };
92147
92392
  }
92148
92393
  completedResult(result, metadata2) {
92149
92394
  const response = buildCompletedAssessmentSubmitResult({
@@ -92294,6 +92539,7 @@ var init_timeback_assessment_runtime_service = __esm(async () => {
92294
92539
  init_uuid();
92295
92540
  init_errors2();
92296
92541
  init_assessment_runtime_lock_util();
92542
+ init_timeback_assessment_rules_util();
92297
92543
  init_timeback_assessment_runtime_util();
92298
92544
  init_timeback_qti_hydration_util();
92299
92545
  await __promiseAll([
@@ -92302,89 +92548,6 @@ var init_timeback_assessment_runtime_service = __esm(async () => {
92302
92548
  ]);
92303
92549
  });
92304
92550
 
92305
- // ../api-core/src/utils/timeback-assessment-rules.util.ts
92306
- function validateAssessmentStatusTransition(current, next) {
92307
- if (current === next) {
92308
- return;
92309
- }
92310
- const allowed = current === "draft" && next === "live" || current === "live" && next === "archived" || current === "archived" && next === "live";
92311
- if (!allowed) {
92312
- throw new ValidationError(`Assessment status cannot change from ${current} to ${next}`);
92313
- }
92314
- }
92315
- function isAssessmentPublicationTransition(current, next) {
92316
- return current !== "live" && next === "live";
92317
- }
92318
- function assertDraftAssessment(row) {
92319
- if (row.status !== "draft") {
92320
- throw new ValidationError("Only draft assessments can change QTI content or question membership");
92321
- }
92322
- }
92323
- function assertAllAssessmentAssociationsDraft(rows) {
92324
- if (rows.some((row) => row.status !== "draft")) {
92325
- throw new ValidationError("QTI content cannot change while any associated assessment is live or archived");
92326
- }
92327
- }
92328
- function assertAssessmentHasQuestions(questions) {
92329
- if (questions.length === 0) {
92330
- throw new ValidationError("An assessment must contain at least one question to publish");
92331
- }
92332
- }
92333
- function assertReviewAssessmentHasStandards(standardCounts) {
92334
- if (standardCounts.some((count) => count <= 0)) {
92335
- throw new ValidationError("Every question in a review assessment must have a standards alignment");
92336
- }
92337
- }
92338
- function planAssessmentRemoval(status) {
92339
- if (status === "draft") {
92340
- return { kind: "delete", action: "discarded", operation: "discard_draft" };
92341
- }
92342
- if (status === "live") {
92343
- return { kind: "archive", action: "archived", operation: "archive" };
92344
- }
92345
- return { kind: "none", action: "archived" };
92346
- }
92347
- function buildAssessmentAssociationUpdates(row, input) {
92348
- const updates = {};
92349
- if (input.purpose !== undefined) {
92350
- updates.purpose = input.purpose;
92351
- if (row.status === "live" && input.purpose !== row.purpose) {
92352
- updates.sortOrder = null;
92353
- }
92354
- }
92355
- if (input.status !== undefined) {
92356
- updates.status = input.status;
92357
- if (input.status === "archived") {
92358
- updates.sortOrder = null;
92359
- }
92360
- }
92361
- return updates;
92362
- }
92363
- function validateUniqueAssessmentIdentifiers(testIdentifiers) {
92364
- if (new Set(testIdentifiers).size !== testIdentifiers.length) {
92365
- throw new ValidationError("Assessment order must contain unique identifiers");
92366
- }
92367
- }
92368
- function assertAssessmentOrderUpdateSucceeded(updatedRow) {
92369
- if (!updatedRow) {
92370
- throw new ValidationError("Assessment order changed while it was being saved. Refresh and try again.");
92371
- }
92372
- return updatedRow;
92373
- }
92374
- function lockOrderAssessmentRows(rows) {
92375
- return rows.toSorted((left, right) => left.id.localeCompare(right.id));
92376
- }
92377
- function orderLiveAssessmentRows(liveRows, purpose, testIdentifiers) {
92378
- const rowsByIdentifier = new Map(liveRows.map((row) => [row.qtiTestIdentifier, row]));
92379
- if (liveRows.length !== testIdentifiers.length || testIdentifiers.some((identifier) => !rowsByIdentifier.has(identifier))) {
92380
- throw new ValidationError(`Assessment order must include every live ${purpose} assessment exactly once`);
92381
- }
92382
- return testIdentifiers.map((identifier) => rowsByIdentifier.get(identifier));
92383
- }
92384
- var init_timeback_assessment_rules_util = __esm(() => {
92385
- init_errors2();
92386
- });
92387
-
92388
92551
  // ../api-core/src/utils/timeback-qti-authoring.util.ts
92389
92552
  function recordValue(value) {
92390
92553
  return value && typeof value === "object" && !Array.isArray(value) ? value : undefined;
@@ -93314,6 +93477,7 @@ class TimebackAssessmentsService {
93314
93477
  const client2 = this.requireClient();
93315
93478
  const ownership = await this.requireQtiTestOwnershipContext(integrationId);
93316
93479
  const { integration } = ownership;
93480
+ const standard = this.requirePurposeStandard(input.purpose, input.standard);
93317
93481
  await client2.course.createAssessmentTest({
93318
93482
  identifier: input.qtiTestIdentifier,
93319
93483
  title: input.title,
@@ -93330,10 +93494,15 @@ class TimebackAssessmentsService {
93330
93494
  integrationId,
93331
93495
  qtiTestIdentifier: input.qtiTestIdentifier,
93332
93496
  purpose: input.purpose,
93333
- status: "draft"
93497
+ status: "draft",
93498
+ standardFramework: standard?.framework,
93499
+ standardIdentifier: standard?.identifier
93334
93500
  }).returning();
93501
+ if (!row) {
93502
+ throw new Error("Assessment association create returned no row");
93503
+ }
93335
93504
  setAttribute("app.assessment.operation", "create");
93336
- return row;
93505
+ return this.associationSummary(row);
93337
93506
  } catch (error88) {
93338
93507
  let committedRow;
93339
93508
  try {
@@ -93350,7 +93519,7 @@ class TimebackAssessmentsService {
93350
93519
  }
93351
93520
  if (committedRow) {
93352
93521
  setAttribute("app.assessment.operation", "create");
93353
- return committedRow;
93522
+ return this.associationSummary(committedRow);
93354
93523
  }
93355
93524
  try {
93356
93525
  await client2.qtiApi.assessmentTests.delete(input.qtiTestIdentifier);
@@ -93369,8 +93538,18 @@ class TimebackAssessmentsService {
93369
93538
  async updateAssessment(integrationId, qtiTestIdentifier, input) {
93370
93539
  try {
93371
93540
  return await this.withLockedAssessmentAssociations(integrationId, qtiTestIdentifier, async (row, tx, associations) => {
93372
- const updates = buildAssessmentAssociationUpdates(row, input);
93373
93541
  const nextPurpose = input.purpose ?? row.purpose;
93542
+ assertMasteryPurposeChangeDraft(row, nextPurpose);
93543
+ const requestedStandard = input.standard ? this.canonicalAssessmentStandard(input.standard) : undefined;
93544
+ const nextStandard = requestedStandard ?? (nextPurpose === "mastery" ? assessmentStandardForRow(row) : null);
93545
+ this.assertPurposeStandard(nextPurpose, nextStandard);
93546
+ if (input.standard !== undefined) {
93547
+ assertDraftAssessment(row);
93548
+ }
93549
+ const updates = buildAssessmentAssociationUpdates(row, {
93550
+ ...input,
93551
+ ...requestedStandard ? { standard: requestedStandard } : {}
93552
+ });
93374
93553
  const nextStatus = input.status ?? row.status;
93375
93554
  const publishing = input.status !== undefined && isAssessmentPublicationTransition(row.status, input.status);
93376
93555
  const activatingReview = nextPurpose === "review" && nextStatus === "live" && (row.purpose !== "review" || row.status !== "live");
@@ -93395,7 +93574,7 @@ class TimebackAssessmentsService {
93395
93574
  updated = updatedRow ?? row;
93396
93575
  }
93397
93576
  setAttribute("app.assessment.operation", input.title !== undefined ? "update_test" : "update_association");
93398
- return updated;
93577
+ return this.associationSummary(updated);
93399
93578
  });
93400
93579
  } catch (error88) {
93401
93580
  if (isUniqueViolation(error88)) {
@@ -93486,10 +93665,11 @@ class TimebackAssessmentsService {
93486
93665
  await this.requireIntegration(integrationId);
93487
93666
  return this.listQtiLibrary(params, async (listParams) => await client2.qtiApi.assessmentTests.list(listParams));
93488
93667
  }
93489
- async copyAssessment(integrationId, sourceTestIdentifier, targetTestIdentifier, purpose) {
93668
+ async copyAssessment(integrationId, sourceTestIdentifier, targetTestIdentifier, purpose, standardInput) {
93490
93669
  const client2 = this.requireClient();
93491
93670
  const ownership = await this.requireQtiTestOwnershipContext(integrationId);
93492
93671
  const { integration } = ownership;
93672
+ const standard = this.requirePurposeStandard(purpose, standardInput);
93493
93673
  const source = await client2.qtiApi.assessmentTests.get(sourceTestIdentifier);
93494
93674
  const itemPlan = buildQtiAssessmentItemCopyPlan(source, targetTestIdentifier, (identifier) => this.qtiItemHref(client2, identifier));
93495
93675
  const itemCopies = await runWithConcurrency(itemPlan, QTI_HYDRATION_CONCURRENCY, async (plan) => {
@@ -93532,10 +93712,15 @@ class TimebackAssessmentsService {
93532
93712
  integrationId,
93533
93713
  qtiTestIdentifier: targetTestIdentifier,
93534
93714
  purpose,
93535
- status: "draft"
93715
+ status: "draft",
93716
+ standardFramework: standard?.framework,
93717
+ standardIdentifier: standard?.identifier
93536
93718
  }).returning();
93719
+ if (!row) {
93720
+ throw new Error("Assessment association copy returned no row");
93721
+ }
93537
93722
  setAttribute("app.assessment.operation", "copy_test");
93538
- return row;
93723
+ return this.associationSummary(row);
93539
93724
  } catch (error88) {
93540
93725
  if (associationCreationAttempted) {
93541
93726
  let committedRow;
@@ -93553,7 +93738,7 @@ class TimebackAssessmentsService {
93553
93738
  }
93554
93739
  if (committedRow) {
93555
93740
  setAttribute("app.assessment.operation", "copy_test");
93556
- return committedRow;
93741
+ return this.associationSummary(committedRow);
93557
93742
  }
93558
93743
  }
93559
93744
  await this.cleanupQtiAssessmentCopy(client2, testCreationAttempted ? targetTestIdentifier : undefined, attemptedItemIdentifiers);
@@ -93858,10 +94043,31 @@ class TimebackAssessmentsService {
93858
94043
  purpose: row.purpose,
93859
94044
  status: row.status,
93860
94045
  sortOrder: row.sortOrder,
94046
+ standard: assessmentStandardForRow(row),
93861
94047
  createdAt: row.createdAt,
93862
94048
  updatedAt: row.updatedAt
93863
94049
  };
93864
94050
  }
94051
+ canonicalAssessmentStandard(input) {
94052
+ const standard = canonicalReviewStandardRef(input);
94053
+ if (!standard) {
94054
+ throw new ValidationError("Assessment standards require a canonical framework and identifier");
94055
+ }
94056
+ return standard;
94057
+ }
94058
+ assertPurposeStandard(purpose, standard) {
94059
+ if (purpose === "mastery" && !standard) {
94060
+ throw new ValidationError("Mastery assessments require a standard");
94061
+ }
94062
+ if (purpose !== "mastery" && standard) {
94063
+ throw new ValidationError("Only mastery assessments may have a quiz-level standard");
94064
+ }
94065
+ }
94066
+ requirePurposeStandard(purpose, input) {
94067
+ const standard = input ? this.canonicalAssessmentStandard(input) : null;
94068
+ this.assertPurposeStandard(purpose, standard);
94069
+ return standard;
94070
+ }
93865
94071
  async listQtiLibrary(params, list) {
93866
94072
  const plan = buildQtiLibraryListPlan(params);
93867
94073
  return list(plan.params);
@@ -109219,8 +109425,8 @@ If you have no idea what this means or what Pirates is, let me explain: Pirates
109219
109425
  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);
109220
109426
  }
109221
109427
  exports2.getStrippedPath = getStrippedPath;
109222
- function exhaustiveTypeException(check3) {
109223
- throw new Error("Unknown type ".concat(check3));
109428
+ function exhaustiveTypeException(check4) {
109429
+ throw new Error("Unknown type ".concat(check4));
109224
109430
  }
109225
109431
  exports2.exhaustiveTypeException = exhaustiveTypeException;
109226
109432
  function matchStar(pattern, search) {
@@ -113073,7 +113279,7 @@ function getTableConfig(table62) {
113073
113279
  for (const builder of extraValues) {
113074
113280
  if (is2(builder, IndexBuilder2)) {
113075
113281
  indexes2.push(builder.build(table62));
113076
- } else if (is2(builder, CheckBuilder)) {
113282
+ } else if (is2(builder, CheckBuilder2)) {
113077
113283
  checks6.push(builder.build(table62));
113078
113284
  } else if (is2(builder, UniqueConstraintBuilder)) {
113079
113285
  uniqueConstraints.push(builder.build(table62));
@@ -113300,7 +113506,7 @@ function getTableConfig2(table62) {
113300
113506
  for (const builder of Object.values(extraValues)) {
113301
113507
  if (is2(builder, IndexBuilder22)) {
113302
113508
  indexes2.push(builder.build(table62));
113303
- } else if (is2(builder, CheckBuilder2)) {
113509
+ } else if (is2(builder, CheckBuilder22)) {
113304
113510
  checks6.push(builder.build(table62));
113305
113511
  } else if (is2(builder, UniqueConstraintBuilder2)) {
113306
113512
  uniqueConstraints.push(builder.build(table62));
@@ -114034,7 +114240,7 @@ var __create2, __defProp2, __getOwnPropDesc, __getOwnPropNames2, __getProtoOf2,
114034
114240
  __defProp2(to, key, { get: () => from[key], enumerable: !(desc2 = __getOwnPropDesc(from, key)) || desc2.enumerable });
114035
114241
  }
114036
114242
  return to;
114037
- }, __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) => {
114243
+ }, __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) => {
114038
114244
  const matchers = filters.map((it3) => {
114039
114245
  return new Minimatch(it3);
114040
114246
  });
@@ -118211,7 +118417,7 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118211
118417
  const result = await (isAsync2(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
118212
118418
  return handleResult2(ctx, result);
118213
118419
  }
118214
- refine(check3, message) {
118420
+ refine(check4, message) {
118215
118421
  const getIssueProperties = (val) => {
118216
118422
  if (typeof message === "string" || typeof message === "undefined") {
118217
118423
  return { message };
@@ -118222,7 +118428,7 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118222
118428
  }
118223
118429
  };
118224
118430
  return this._refinement((val, ctx) => {
118225
- const result = check3(val);
118431
+ const result = check4(val);
118226
118432
  const setError = () => ctx.addIssue({
118227
118433
  code: ZodIssueCode4.custom,
118228
118434
  ...getIssueProperties(val)
@@ -118245,9 +118451,9 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118245
118451
  }
118246
118452
  });
118247
118453
  }
118248
- refinement(check3, refinementData) {
118454
+ refinement(check4, refinementData) {
118249
118455
  return this._refinement((val, ctx) => {
118250
- if (!check3(val)) {
118456
+ if (!check4(val)) {
118251
118457
  ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
118252
118458
  return false;
118253
118459
  } else {
@@ -118406,70 +118612,70 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118406
118612
  }
118407
118613
  const status = new ParseStatus2;
118408
118614
  let ctx = undefined;
118409
- for (const check3 of this._def.checks) {
118410
- if (check3.kind === "min") {
118411
- if (input.data.length < check3.value) {
118615
+ for (const check4 of this._def.checks) {
118616
+ if (check4.kind === "min") {
118617
+ if (input.data.length < check4.value) {
118412
118618
  ctx = this._getOrReturnCtx(input, ctx);
118413
118619
  addIssueToContext2(ctx, {
118414
118620
  code: ZodIssueCode4.too_small,
118415
- minimum: check3.value,
118621
+ minimum: check4.value,
118416
118622
  type: "string",
118417
118623
  inclusive: true,
118418
118624
  exact: false,
118419
- message: check3.message
118625
+ message: check4.message
118420
118626
  });
118421
118627
  status.dirty();
118422
118628
  }
118423
- } else if (check3.kind === "max") {
118424
- if (input.data.length > check3.value) {
118629
+ } else if (check4.kind === "max") {
118630
+ if (input.data.length > check4.value) {
118425
118631
  ctx = this._getOrReturnCtx(input, ctx);
118426
118632
  addIssueToContext2(ctx, {
118427
118633
  code: ZodIssueCode4.too_big,
118428
- maximum: check3.value,
118634
+ maximum: check4.value,
118429
118635
  type: "string",
118430
118636
  inclusive: true,
118431
118637
  exact: false,
118432
- message: check3.message
118638
+ message: check4.message
118433
118639
  });
118434
118640
  status.dirty();
118435
118641
  }
118436
- } else if (check3.kind === "length") {
118437
- const tooBig = input.data.length > check3.value;
118438
- const tooSmall = input.data.length < check3.value;
118642
+ } else if (check4.kind === "length") {
118643
+ const tooBig = input.data.length > check4.value;
118644
+ const tooSmall = input.data.length < check4.value;
118439
118645
  if (tooBig || tooSmall) {
118440
118646
  ctx = this._getOrReturnCtx(input, ctx);
118441
118647
  if (tooBig) {
118442
118648
  addIssueToContext2(ctx, {
118443
118649
  code: ZodIssueCode4.too_big,
118444
- maximum: check3.value,
118650
+ maximum: check4.value,
118445
118651
  type: "string",
118446
118652
  inclusive: true,
118447
118653
  exact: true,
118448
- message: check3.message
118654
+ message: check4.message
118449
118655
  });
118450
118656
  } else if (tooSmall) {
118451
118657
  addIssueToContext2(ctx, {
118452
118658
  code: ZodIssueCode4.too_small,
118453
- minimum: check3.value,
118659
+ minimum: check4.value,
118454
118660
  type: "string",
118455
118661
  inclusive: true,
118456
118662
  exact: true,
118457
- message: check3.message
118663
+ message: check4.message
118458
118664
  });
118459
118665
  }
118460
118666
  status.dirty();
118461
118667
  }
118462
- } else if (check3.kind === "email") {
118668
+ } else if (check4.kind === "email") {
118463
118669
  if (!emailRegex2.test(input.data)) {
118464
118670
  ctx = this._getOrReturnCtx(input, ctx);
118465
118671
  addIssueToContext2(ctx, {
118466
118672
  validation: "email",
118467
118673
  code: ZodIssueCode4.invalid_string,
118468
- message: check3.message
118674
+ message: check4.message
118469
118675
  });
118470
118676
  status.dirty();
118471
118677
  }
118472
- } else if (check3.kind === "emoji") {
118678
+ } else if (check4.kind === "emoji") {
118473
118679
  if (!emojiRegex2) {
118474
118680
  emojiRegex2 = new RegExp(_emojiRegex2, "u");
118475
118681
  }
@@ -118478,61 +118684,61 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118478
118684
  addIssueToContext2(ctx, {
118479
118685
  validation: "emoji",
118480
118686
  code: ZodIssueCode4.invalid_string,
118481
- message: check3.message
118687
+ message: check4.message
118482
118688
  });
118483
118689
  status.dirty();
118484
118690
  }
118485
- } else if (check3.kind === "uuid") {
118691
+ } else if (check4.kind === "uuid") {
118486
118692
  if (!uuidRegex2.test(input.data)) {
118487
118693
  ctx = this._getOrReturnCtx(input, ctx);
118488
118694
  addIssueToContext2(ctx, {
118489
118695
  validation: "uuid",
118490
118696
  code: ZodIssueCode4.invalid_string,
118491
- message: check3.message
118697
+ message: check4.message
118492
118698
  });
118493
118699
  status.dirty();
118494
118700
  }
118495
- } else if (check3.kind === "nanoid") {
118701
+ } else if (check4.kind === "nanoid") {
118496
118702
  if (!nanoidRegex2.test(input.data)) {
118497
118703
  ctx = this._getOrReturnCtx(input, ctx);
118498
118704
  addIssueToContext2(ctx, {
118499
118705
  validation: "nanoid",
118500
118706
  code: ZodIssueCode4.invalid_string,
118501
- message: check3.message
118707
+ message: check4.message
118502
118708
  });
118503
118709
  status.dirty();
118504
118710
  }
118505
- } else if (check3.kind === "cuid") {
118711
+ } else if (check4.kind === "cuid") {
118506
118712
  if (!cuidRegex2.test(input.data)) {
118507
118713
  ctx = this._getOrReturnCtx(input, ctx);
118508
118714
  addIssueToContext2(ctx, {
118509
118715
  validation: "cuid",
118510
118716
  code: ZodIssueCode4.invalid_string,
118511
- message: check3.message
118717
+ message: check4.message
118512
118718
  });
118513
118719
  status.dirty();
118514
118720
  }
118515
- } else if (check3.kind === "cuid2") {
118721
+ } else if (check4.kind === "cuid2") {
118516
118722
  if (!cuid2Regex2.test(input.data)) {
118517
118723
  ctx = this._getOrReturnCtx(input, ctx);
118518
118724
  addIssueToContext2(ctx, {
118519
118725
  validation: "cuid2",
118520
118726
  code: ZodIssueCode4.invalid_string,
118521
- message: check3.message
118727
+ message: check4.message
118522
118728
  });
118523
118729
  status.dirty();
118524
118730
  }
118525
- } else if (check3.kind === "ulid") {
118731
+ } else if (check4.kind === "ulid") {
118526
118732
  if (!ulidRegex2.test(input.data)) {
118527
118733
  ctx = this._getOrReturnCtx(input, ctx);
118528
118734
  addIssueToContext2(ctx, {
118529
118735
  validation: "ulid",
118530
118736
  code: ZodIssueCode4.invalid_string,
118531
- message: check3.message
118737
+ message: check4.message
118532
118738
  });
118533
118739
  status.dirty();
118534
118740
  }
118535
- } else if (check3.kind === "url") {
118741
+ } else if (check4.kind === "url") {
118536
118742
  try {
118537
118743
  new URL(input.data);
118538
118744
  } catch {
@@ -118540,153 +118746,153 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118540
118746
  addIssueToContext2(ctx, {
118541
118747
  validation: "url",
118542
118748
  code: ZodIssueCode4.invalid_string,
118543
- message: check3.message
118749
+ message: check4.message
118544
118750
  });
118545
118751
  status.dirty();
118546
118752
  }
118547
- } else if (check3.kind === "regex") {
118548
- check3.regex.lastIndex = 0;
118549
- const testResult = check3.regex.test(input.data);
118753
+ } else if (check4.kind === "regex") {
118754
+ check4.regex.lastIndex = 0;
118755
+ const testResult = check4.regex.test(input.data);
118550
118756
  if (!testResult) {
118551
118757
  ctx = this._getOrReturnCtx(input, ctx);
118552
118758
  addIssueToContext2(ctx, {
118553
118759
  validation: "regex",
118554
118760
  code: ZodIssueCode4.invalid_string,
118555
- message: check3.message
118761
+ message: check4.message
118556
118762
  });
118557
118763
  status.dirty();
118558
118764
  }
118559
- } else if (check3.kind === "trim") {
118765
+ } else if (check4.kind === "trim") {
118560
118766
  input.data = input.data.trim();
118561
- } else if (check3.kind === "includes") {
118562
- if (!input.data.includes(check3.value, check3.position)) {
118767
+ } else if (check4.kind === "includes") {
118768
+ if (!input.data.includes(check4.value, check4.position)) {
118563
118769
  ctx = this._getOrReturnCtx(input, ctx);
118564
118770
  addIssueToContext2(ctx, {
118565
118771
  code: ZodIssueCode4.invalid_string,
118566
- validation: { includes: check3.value, position: check3.position },
118567
- message: check3.message
118772
+ validation: { includes: check4.value, position: check4.position },
118773
+ message: check4.message
118568
118774
  });
118569
118775
  status.dirty();
118570
118776
  }
118571
- } else if (check3.kind === "toLowerCase") {
118777
+ } else if (check4.kind === "toLowerCase") {
118572
118778
  input.data = input.data.toLowerCase();
118573
- } else if (check3.kind === "toUpperCase") {
118779
+ } else if (check4.kind === "toUpperCase") {
118574
118780
  input.data = input.data.toUpperCase();
118575
- } else if (check3.kind === "startsWith") {
118576
- if (!input.data.startsWith(check3.value)) {
118781
+ } else if (check4.kind === "startsWith") {
118782
+ if (!input.data.startsWith(check4.value)) {
118577
118783
  ctx = this._getOrReturnCtx(input, ctx);
118578
118784
  addIssueToContext2(ctx, {
118579
118785
  code: ZodIssueCode4.invalid_string,
118580
- validation: { startsWith: check3.value },
118581
- message: check3.message
118786
+ validation: { startsWith: check4.value },
118787
+ message: check4.message
118582
118788
  });
118583
118789
  status.dirty();
118584
118790
  }
118585
- } else if (check3.kind === "endsWith") {
118586
- if (!input.data.endsWith(check3.value)) {
118791
+ } else if (check4.kind === "endsWith") {
118792
+ if (!input.data.endsWith(check4.value)) {
118587
118793
  ctx = this._getOrReturnCtx(input, ctx);
118588
118794
  addIssueToContext2(ctx, {
118589
118795
  code: ZodIssueCode4.invalid_string,
118590
- validation: { endsWith: check3.value },
118591
- message: check3.message
118796
+ validation: { endsWith: check4.value },
118797
+ message: check4.message
118592
118798
  });
118593
118799
  status.dirty();
118594
118800
  }
118595
- } else if (check3.kind === "datetime") {
118596
- const regex = datetimeRegex2(check3);
118801
+ } else if (check4.kind === "datetime") {
118802
+ const regex = datetimeRegex2(check4);
118597
118803
  if (!regex.test(input.data)) {
118598
118804
  ctx = this._getOrReturnCtx(input, ctx);
118599
118805
  addIssueToContext2(ctx, {
118600
118806
  code: ZodIssueCode4.invalid_string,
118601
118807
  validation: "datetime",
118602
- message: check3.message
118808
+ message: check4.message
118603
118809
  });
118604
118810
  status.dirty();
118605
118811
  }
118606
- } else if (check3.kind === "date") {
118812
+ } else if (check4.kind === "date") {
118607
118813
  const regex = dateRegex2;
118608
118814
  if (!regex.test(input.data)) {
118609
118815
  ctx = this._getOrReturnCtx(input, ctx);
118610
118816
  addIssueToContext2(ctx, {
118611
118817
  code: ZodIssueCode4.invalid_string,
118612
118818
  validation: "date",
118613
- message: check3.message
118819
+ message: check4.message
118614
118820
  });
118615
118821
  status.dirty();
118616
118822
  }
118617
- } else if (check3.kind === "time") {
118618
- const regex = timeRegex2(check3);
118823
+ } else if (check4.kind === "time") {
118824
+ const regex = timeRegex2(check4);
118619
118825
  if (!regex.test(input.data)) {
118620
118826
  ctx = this._getOrReturnCtx(input, ctx);
118621
118827
  addIssueToContext2(ctx, {
118622
118828
  code: ZodIssueCode4.invalid_string,
118623
118829
  validation: "time",
118624
- message: check3.message
118830
+ message: check4.message
118625
118831
  });
118626
118832
  status.dirty();
118627
118833
  }
118628
- } else if (check3.kind === "duration") {
118834
+ } else if (check4.kind === "duration") {
118629
118835
  if (!durationRegex2.test(input.data)) {
118630
118836
  ctx = this._getOrReturnCtx(input, ctx);
118631
118837
  addIssueToContext2(ctx, {
118632
118838
  validation: "duration",
118633
118839
  code: ZodIssueCode4.invalid_string,
118634
- message: check3.message
118840
+ message: check4.message
118635
118841
  });
118636
118842
  status.dirty();
118637
118843
  }
118638
- } else if (check3.kind === "ip") {
118639
- if (!isValidIP2(input.data, check3.version)) {
118844
+ } else if (check4.kind === "ip") {
118845
+ if (!isValidIP2(input.data, check4.version)) {
118640
118846
  ctx = this._getOrReturnCtx(input, ctx);
118641
118847
  addIssueToContext2(ctx, {
118642
118848
  validation: "ip",
118643
118849
  code: ZodIssueCode4.invalid_string,
118644
- message: check3.message
118850
+ message: check4.message
118645
118851
  });
118646
118852
  status.dirty();
118647
118853
  }
118648
- } else if (check3.kind === "jwt") {
118649
- if (!isValidJWT4(input.data, check3.alg)) {
118854
+ } else if (check4.kind === "jwt") {
118855
+ if (!isValidJWT4(input.data, check4.alg)) {
118650
118856
  ctx = this._getOrReturnCtx(input, ctx);
118651
118857
  addIssueToContext2(ctx, {
118652
118858
  validation: "jwt",
118653
118859
  code: ZodIssueCode4.invalid_string,
118654
- message: check3.message
118860
+ message: check4.message
118655
118861
  });
118656
118862
  status.dirty();
118657
118863
  }
118658
- } else if (check3.kind === "cidr") {
118659
- if (!isValidCidr2(input.data, check3.version)) {
118864
+ } else if (check4.kind === "cidr") {
118865
+ if (!isValidCidr2(input.data, check4.version)) {
118660
118866
  ctx = this._getOrReturnCtx(input, ctx);
118661
118867
  addIssueToContext2(ctx, {
118662
118868
  validation: "cidr",
118663
118869
  code: ZodIssueCode4.invalid_string,
118664
- message: check3.message
118870
+ message: check4.message
118665
118871
  });
118666
118872
  status.dirty();
118667
118873
  }
118668
- } else if (check3.kind === "base64") {
118874
+ } else if (check4.kind === "base64") {
118669
118875
  if (!base64Regex2.test(input.data)) {
118670
118876
  ctx = this._getOrReturnCtx(input, ctx);
118671
118877
  addIssueToContext2(ctx, {
118672
118878
  validation: "base64",
118673
118879
  code: ZodIssueCode4.invalid_string,
118674
- message: check3.message
118880
+ message: check4.message
118675
118881
  });
118676
118882
  status.dirty();
118677
118883
  }
118678
- } else if (check3.kind === "base64url") {
118884
+ } else if (check4.kind === "base64url") {
118679
118885
  if (!base64urlRegex2.test(input.data)) {
118680
118886
  ctx = this._getOrReturnCtx(input, ctx);
118681
118887
  addIssueToContext2(ctx, {
118682
118888
  validation: "base64url",
118683
118889
  code: ZodIssueCode4.invalid_string,
118684
- message: check3.message
118890
+ message: check4.message
118685
118891
  });
118686
118892
  status.dirty();
118687
118893
  }
118688
118894
  } else {
118689
- util3.assertNever(check3);
118895
+ util3.assertNever(check4);
118690
118896
  }
118691
118897
  }
118692
118898
  return { status: status.value, value: input.data };
@@ -118698,10 +118904,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118698
118904
  ...errorUtil2.errToObj(message)
118699
118905
  });
118700
118906
  }
118701
- _addCheck(check3) {
118907
+ _addCheck(check4) {
118702
118908
  return new _ZodString3({
118703
118909
  ...this._def,
118704
- checks: [...this._def.checks, check3]
118910
+ checks: [...this._def.checks, check4]
118705
118911
  });
118706
118912
  }
118707
118913
  email(message) {
@@ -118955,67 +119161,67 @@ See: https://github.com/isaacs/node-glob/issues/167`);
118955
119161
  }
118956
119162
  let ctx = undefined;
118957
119163
  const status = new ParseStatus2;
118958
- for (const check3 of this._def.checks) {
118959
- if (check3.kind === "int") {
119164
+ for (const check4 of this._def.checks) {
119165
+ if (check4.kind === "int") {
118960
119166
  if (!util3.isInteger(input.data)) {
118961
119167
  ctx = this._getOrReturnCtx(input, ctx);
118962
119168
  addIssueToContext2(ctx, {
118963
119169
  code: ZodIssueCode4.invalid_type,
118964
119170
  expected: "integer",
118965
119171
  received: "float",
118966
- message: check3.message
119172
+ message: check4.message
118967
119173
  });
118968
119174
  status.dirty();
118969
119175
  }
118970
- } else if (check3.kind === "min") {
118971
- const tooSmall = check3.inclusive ? input.data < check3.value : input.data <= check3.value;
119176
+ } else if (check4.kind === "min") {
119177
+ const tooSmall = check4.inclusive ? input.data < check4.value : input.data <= check4.value;
118972
119178
  if (tooSmall) {
118973
119179
  ctx = this._getOrReturnCtx(input, ctx);
118974
119180
  addIssueToContext2(ctx, {
118975
119181
  code: ZodIssueCode4.too_small,
118976
- minimum: check3.value,
119182
+ minimum: check4.value,
118977
119183
  type: "number",
118978
- inclusive: check3.inclusive,
119184
+ inclusive: check4.inclusive,
118979
119185
  exact: false,
118980
- message: check3.message
119186
+ message: check4.message
118981
119187
  });
118982
119188
  status.dirty();
118983
119189
  }
118984
- } else if (check3.kind === "max") {
118985
- const tooBig = check3.inclusive ? input.data > check3.value : input.data >= check3.value;
119190
+ } else if (check4.kind === "max") {
119191
+ const tooBig = check4.inclusive ? input.data > check4.value : input.data >= check4.value;
118986
119192
  if (tooBig) {
118987
119193
  ctx = this._getOrReturnCtx(input, ctx);
118988
119194
  addIssueToContext2(ctx, {
118989
119195
  code: ZodIssueCode4.too_big,
118990
- maximum: check3.value,
119196
+ maximum: check4.value,
118991
119197
  type: "number",
118992
- inclusive: check3.inclusive,
119198
+ inclusive: check4.inclusive,
118993
119199
  exact: false,
118994
- message: check3.message
119200
+ message: check4.message
118995
119201
  });
118996
119202
  status.dirty();
118997
119203
  }
118998
- } else if (check3.kind === "multipleOf") {
118999
- if (floatSafeRemainder4(input.data, check3.value) !== 0) {
119204
+ } else if (check4.kind === "multipleOf") {
119205
+ if (floatSafeRemainder4(input.data, check4.value) !== 0) {
119000
119206
  ctx = this._getOrReturnCtx(input, ctx);
119001
119207
  addIssueToContext2(ctx, {
119002
119208
  code: ZodIssueCode4.not_multiple_of,
119003
- multipleOf: check3.value,
119004
- message: check3.message
119209
+ multipleOf: check4.value,
119210
+ message: check4.message
119005
119211
  });
119006
119212
  status.dirty();
119007
119213
  }
119008
- } else if (check3.kind === "finite") {
119214
+ } else if (check4.kind === "finite") {
119009
119215
  if (!Number.isFinite(input.data)) {
119010
119216
  ctx = this._getOrReturnCtx(input, ctx);
119011
119217
  addIssueToContext2(ctx, {
119012
119218
  code: ZodIssueCode4.not_finite,
119013
- message: check3.message
119219
+ message: check4.message
119014
119220
  });
119015
119221
  status.dirty();
119016
119222
  }
119017
119223
  } else {
119018
- util3.assertNever(check3);
119224
+ util3.assertNever(check4);
119019
119225
  }
119020
119226
  }
119021
119227
  return { status: status.value, value: input.data };
@@ -119046,10 +119252,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119046
119252
  ]
119047
119253
  });
119048
119254
  }
119049
- _addCheck(check3) {
119255
+ _addCheck(check4) {
119050
119256
  return new _ZodNumber({
119051
119257
  ...this._def,
119052
- checks: [...this._def.checks, check3]
119258
+ checks: [...this._def.checks, check4]
119053
119259
  });
119054
119260
  }
119055
119261
  int(message) {
@@ -119184,45 +119390,45 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119184
119390
  }
119185
119391
  let ctx = undefined;
119186
119392
  const status = new ParseStatus2;
119187
- for (const check3 of this._def.checks) {
119188
- if (check3.kind === "min") {
119189
- const tooSmall = check3.inclusive ? input.data < check3.value : input.data <= check3.value;
119393
+ for (const check4 of this._def.checks) {
119394
+ if (check4.kind === "min") {
119395
+ const tooSmall = check4.inclusive ? input.data < check4.value : input.data <= check4.value;
119190
119396
  if (tooSmall) {
119191
119397
  ctx = this._getOrReturnCtx(input, ctx);
119192
119398
  addIssueToContext2(ctx, {
119193
119399
  code: ZodIssueCode4.too_small,
119194
119400
  type: "bigint",
119195
- minimum: check3.value,
119196
- inclusive: check3.inclusive,
119197
- message: check3.message
119401
+ minimum: check4.value,
119402
+ inclusive: check4.inclusive,
119403
+ message: check4.message
119198
119404
  });
119199
119405
  status.dirty();
119200
119406
  }
119201
- } else if (check3.kind === "max") {
119202
- const tooBig = check3.inclusive ? input.data > check3.value : input.data >= check3.value;
119407
+ } else if (check4.kind === "max") {
119408
+ const tooBig = check4.inclusive ? input.data > check4.value : input.data >= check4.value;
119203
119409
  if (tooBig) {
119204
119410
  ctx = this._getOrReturnCtx(input, ctx);
119205
119411
  addIssueToContext2(ctx, {
119206
119412
  code: ZodIssueCode4.too_big,
119207
119413
  type: "bigint",
119208
- maximum: check3.value,
119209
- inclusive: check3.inclusive,
119210
- message: check3.message
119414
+ maximum: check4.value,
119415
+ inclusive: check4.inclusive,
119416
+ message: check4.message
119211
119417
  });
119212
119418
  status.dirty();
119213
119419
  }
119214
- } else if (check3.kind === "multipleOf") {
119215
- if (input.data % check3.value !== BigInt(0)) {
119420
+ } else if (check4.kind === "multipleOf") {
119421
+ if (input.data % check4.value !== BigInt(0)) {
119216
119422
  ctx = this._getOrReturnCtx(input, ctx);
119217
119423
  addIssueToContext2(ctx, {
119218
119424
  code: ZodIssueCode4.not_multiple_of,
119219
- multipleOf: check3.value,
119220
- message: check3.message
119425
+ multipleOf: check4.value,
119426
+ message: check4.message
119221
119427
  });
119222
119428
  status.dirty();
119223
119429
  }
119224
119430
  } else {
119225
- util3.assertNever(check3);
119431
+ util3.assertNever(check4);
119226
119432
  }
119227
119433
  }
119228
119434
  return { status: status.value, value: input.data };
@@ -119262,10 +119468,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119262
119468
  ]
119263
119469
  });
119264
119470
  }
119265
- _addCheck(check3) {
119471
+ _addCheck(check4) {
119266
119472
  return new _ZodBigInt({
119267
119473
  ...this._def,
119268
- checks: [...this._def.checks, check3]
119474
+ checks: [...this._def.checks, check4]
119269
119475
  });
119270
119476
  }
119271
119477
  positive(message) {
@@ -119385,35 +119591,35 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119385
119591
  }
119386
119592
  const status = new ParseStatus2;
119387
119593
  let ctx = undefined;
119388
- for (const check3 of this._def.checks) {
119389
- if (check3.kind === "min") {
119390
- if (input.data.getTime() < check3.value) {
119594
+ for (const check4 of this._def.checks) {
119595
+ if (check4.kind === "min") {
119596
+ if (input.data.getTime() < check4.value) {
119391
119597
  ctx = this._getOrReturnCtx(input, ctx);
119392
119598
  addIssueToContext2(ctx, {
119393
119599
  code: ZodIssueCode4.too_small,
119394
- message: check3.message,
119600
+ message: check4.message,
119395
119601
  inclusive: true,
119396
119602
  exact: false,
119397
- minimum: check3.value,
119603
+ minimum: check4.value,
119398
119604
  type: "date"
119399
119605
  });
119400
119606
  status.dirty();
119401
119607
  }
119402
- } else if (check3.kind === "max") {
119403
- if (input.data.getTime() > check3.value) {
119608
+ } else if (check4.kind === "max") {
119609
+ if (input.data.getTime() > check4.value) {
119404
119610
  ctx = this._getOrReturnCtx(input, ctx);
119405
119611
  addIssueToContext2(ctx, {
119406
119612
  code: ZodIssueCode4.too_big,
119407
- message: check3.message,
119613
+ message: check4.message,
119408
119614
  inclusive: true,
119409
119615
  exact: false,
119410
- maximum: check3.value,
119616
+ maximum: check4.value,
119411
119617
  type: "date"
119412
119618
  });
119413
119619
  status.dirty();
119414
119620
  }
119415
119621
  } else {
119416
- util3.assertNever(check3);
119622
+ util3.assertNever(check4);
119417
119623
  }
119418
119624
  }
119419
119625
  return {
@@ -119421,10 +119627,10 @@ See: https://github.com/isaacs/node-glob/issues/167`);
119421
119627
  value: new Date(input.data.getTime())
119422
119628
  };
119423
119629
  }
119424
- _addCheck(check3) {
119630
+ _addCheck(check4) {
119425
119631
  return new _ZodDate({
119426
119632
  ...this._def,
119427
- checks: [...this._def.checks, check3]
119633
+ checks: [...this._def.checks, check4]
119428
119634
  });
119429
119635
  }
119430
119636
  min(minDate, message) {
@@ -121732,8 +121938,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
121732
121938
  const squashedUniqueConstraints = mapValues(it3[1].uniqueConstraints, (unq) => {
121733
121939
  return MySqlSquasher.squashUnique(unq);
121734
121940
  });
121735
- const squashedCheckConstraints = mapValues(it3[1].checkConstraint, (check3) => {
121736
- return MySqlSquasher.squashCheck(check3);
121941
+ const squashedCheckConstraints = mapValues(it3[1].checkConstraint, (check4) => {
121942
+ return MySqlSquasher.squashCheck(check4);
121737
121943
  });
121738
121944
  return [
121739
121945
  it3[0],
@@ -122400,8 +122606,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122400
122606
  cycle: splitted[7] === "true"
122401
122607
  };
122402
122608
  },
122403
- squashCheck: (check3) => {
122404
- return `${check3.name};${check3.value}`;
122609
+ squashCheck: (check4) => {
122610
+ return `${check4.name};${check4.value}`;
122405
122611
  },
122406
122612
  unsquashCheck: (input) => {
122407
122613
  const [
@@ -122438,8 +122644,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122438
122644
  const squashedPolicies = mapValues(it3[1].policies, (policy5) => {
122439
122645
  return action === "push" ? PgSquasher.squashPolicyPush(policy5) : PgSquasher.squashPolicy(policy5);
122440
122646
  });
122441
- const squashedChecksContraints = mapValues(it3[1].checkConstraints, (check3) => {
122442
- return PgSquasher.squashCheck(check3);
122647
+ const squashedChecksContraints = mapValues(it3[1].checkConstraints, (check4) => {
122648
+ return PgSquasher.squashCheck(check4);
122443
122649
  });
122444
122650
  return [
122445
122651
  it3[0],
@@ -122871,8 +123077,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122871
123077
  unsquashPK: (pk) => {
122872
123078
  return pk.split(",");
122873
123079
  },
122874
- squashCheck: (check3) => {
122875
- return `${check3.name};${check3.value}`;
123080
+ squashCheck: (check4) => {
123081
+ return `${check4.name};${check4.value}`;
122876
123082
  },
122877
123083
  unsquashCheck: (input) => {
122878
123084
  const [
@@ -122899,8 +123105,8 @@ See: https://github.com/isaacs/node-glob/issues/167`);
122899
123105
  const squashedUniqueConstraints = mapValues(it3[1].uniqueConstraints, (unq) => {
122900
123106
  return SQLiteSquasher.squashUnique(unq);
122901
123107
  });
122902
- const squashedCheckConstraints = mapValues(it3[1].checkConstraints, (check3) => {
122903
- return SQLiteSquasher.squashCheck(check3);
123108
+ const squashedCheckConstraints = mapValues(it3[1].checkConstraints, (check4) => {
123109
+ return SQLiteSquasher.squashCheck(check4);
122904
123110
  });
122905
123111
  return [
122906
123112
  it3[0],
@@ -126129,10 +126335,10 @@ Is ${source_default.bold.blue(this.base.name)} schema created or renamed from an
126129
126335
  }
126130
126336
  }
126131
126337
  if (typeof checkConstraints !== "undefined" && checkConstraints.length > 0) {
126132
- for (const check3 of checkConstraints) {
126338
+ for (const check4 of checkConstraints) {
126133
126339
  statement += `,
126134
126340
  `;
126135
- const { value, name: name22 } = SQLiteSquasher.unsquashCheck(check3);
126341
+ const { value, name: name22 } = SQLiteSquasher.unsquashCheck(check4);
126136
126342
  statement += ` CONSTRAINT "${name22}" CHECK(${value})`;
126137
126343
  }
126138
126344
  }
@@ -129808,8 +130014,8 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.newC
129808
130014
  };
129809
130015
  });
129810
130016
  };
129811
- prepareAddCheckConstraint = (tableName, schema5, check3) => {
129812
- return Object.values(check3).map((it3) => {
130017
+ prepareAddCheckConstraint = (tableName, schema5, check4) => {
130018
+ return Object.values(check4).map((it3) => {
129813
130019
  return {
129814
130020
  type: "create_check_constraint",
129815
130021
  tableName,
@@ -129818,8 +130024,8 @@ ${BREAKPOINT}ALTER TABLE ${tableNameWithSchema} ADD CONSTRAINT "${statement.newC
129818
130024
  };
129819
130025
  });
129820
130026
  };
129821
- prepareDeleteCheckConstraint = (tableName, schema5, check3) => {
129822
- return Object.values(check3).map((it3) => {
130027
+ prepareDeleteCheckConstraint = (tableName, schema5, check4) => {
130028
+ return Object.values(check4).map((it3) => {
129823
130029
  return {
129824
130030
  type: "delete_check_constraint",
129825
130031
  tableName,
@@ -136562,19 +136768,19 @@ params: ${params}`);
136562
136768
  "../drizzle-orm/dist/pg-core/checks.js"() {
136563
136769
  init_entity2();
136564
136770
  _a128 = entityKind2;
136565
- CheckBuilder = class {
136771
+ CheckBuilder2 = class {
136566
136772
  constructor(name22, value) {
136567
136773
  __publicField(this, "brand");
136568
136774
  this.name = name22;
136569
136775
  this.value = value;
136570
136776
  }
136571
136777
  build(table62) {
136572
- return new Check(table62, this);
136778
+ return new Check2(table62, this);
136573
136779
  }
136574
136780
  };
136575
- __publicField(CheckBuilder, _a128, "PgCheckBuilder");
136781
+ __publicField(CheckBuilder2, _a128, "PgCheckBuilder");
136576
136782
  _a129 = entityKind2;
136577
- Check = class {
136783
+ Check2 = class {
136578
136784
  constructor(table62, builder) {
136579
136785
  __publicField(this, "name");
136580
136786
  __publicField(this, "value");
@@ -136583,7 +136789,7 @@ params: ${params}`);
136583
136789
  this.value = builder.value;
136584
136790
  }
136585
136791
  };
136586
- __publicField(Check, _a129, "PgCheck");
136792
+ __publicField(Check2, _a129, "PgCheck");
136587
136793
  }
136588
136794
  });
136589
136795
  init_columns2 = __esm2({
@@ -139424,21 +139630,21 @@ ${withStyle.errorWarning(`We've found duplicated policy name across ${source_def
139424
139630
  withCheck: is2(policy5.withCheck, SQL2) ? dialect6.sqlToQuery(policy5.withCheck).sql : undefined
139425
139631
  };
139426
139632
  });
139427
- checks6.forEach((check3) => {
139428
- const checkName = check3.name;
139633
+ checks6.forEach((check4) => {
139634
+ const checkName = check4.name;
139429
139635
  if (typeof checksInTable[`"${schema5 ?? "public"}"."${tableName}"`] !== "undefined") {
139430
- if (checksInTable[`"${schema5 ?? "public"}"."${tableName}"`].includes(check3.name)) {
139636
+ if (checksInTable[`"${schema5 ?? "public"}"."${tableName}"`].includes(check4.name)) {
139431
139637
  console.log(`
139432
139638
  ${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`)}`);
139433
139639
  process.exit(1);
139434
139640
  }
139435
139641
  checksInTable[`"${schema5 ?? "public"}"."${tableName}"`].push(checkName);
139436
139642
  } else {
139437
- checksInTable[`"${schema5 ?? "public"}"."${tableName}"`] = [check3.name];
139643
+ checksInTable[`"${schema5 ?? "public"}"."${tableName}"`] = [check4.name];
139438
139644
  }
139439
139645
  checksObject[checkName] = {
139440
139646
  name: checkName,
139441
- value: dialect6.sqlToQuery(check3.value).sql
139647
+ value: dialect6.sqlToQuery(check4.value).sql
139442
139648
  };
139443
139649
  });
139444
139650
  const tableKey2 = `${schema5 ?? "public"}.${tableName}`;
@@ -140591,19 +140797,19 @@ ORDER BY
140591
140797
  "../drizzle-orm/dist/sqlite-core/checks.js"() {
140592
140798
  init_entity2();
140593
140799
  _a170 = entityKind2;
140594
- CheckBuilder2 = class {
140800
+ CheckBuilder22 = class {
140595
140801
  constructor(name22, value) {
140596
140802
  __publicField(this, "brand");
140597
140803
  this.name = name22;
140598
140804
  this.value = value;
140599
140805
  }
140600
140806
  build(table62) {
140601
- return new Check2(table62, this);
140807
+ return new Check22(table62, this);
140602
140808
  }
140603
140809
  };
140604
- __publicField(CheckBuilder2, _a170, "SQLiteCheckBuilder");
140810
+ __publicField(CheckBuilder22, _a170, "SQLiteCheckBuilder");
140605
140811
  _a171 = entityKind2;
140606
- Check2 = class {
140812
+ Check22 = class {
140607
140813
  constructor(table62, builder) {
140608
140814
  __publicField(this, "name");
140609
140815
  __publicField(this, "value");
@@ -140612,7 +140818,7 @@ ORDER BY
140612
140818
  this.value = builder.value;
140613
140819
  }
140614
140820
  };
140615
- __publicField(Check2, _a171, "SQLiteCheck");
140821
+ __publicField(Check22, _a171, "SQLiteCheck");
140616
140822
  }
140617
140823
  });
140618
140824
  init_foreign_keys22 = __esm2({
@@ -143323,21 +143529,21 @@ The unique constraint ${source_default.underline.blue(name22)} on the ${source_d
143323
143529
  columnsObject[getColumnCasing(it3.columns[0], casing2)].primaryKey = true;
143324
143530
  }
143325
143531
  });
143326
- checks6.forEach((check3) => {
143327
- const checkName = check3.name;
143532
+ checks6.forEach((check4) => {
143533
+ const checkName = check4.name;
143328
143534
  if (typeof checksInTable[tableName] !== "undefined") {
143329
- if (checksInTable[tableName].includes(check3.name)) {
143535
+ if (checksInTable[tableName].includes(check4.name)) {
143330
143536
  console.log(`
143331
143537
  ${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`)}`);
143332
143538
  process.exit(1);
143333
143539
  }
143334
143540
  checksInTable[tableName].push(checkName);
143335
143541
  } else {
143336
- checksInTable[tableName] = [check3.name];
143542
+ checksInTable[tableName] = [check4.name];
143337
143543
  }
143338
143544
  checkConstraintObject[checkName] = {
143339
143545
  name: checkName,
143340
- value: dialect6.sqlToQuery(check3.value).sql
143546
+ value: dialect6.sqlToQuery(check4.value).sql
143341
143547
  };
143342
143548
  });
143343
143549
  result[tableName] = {
@@ -143651,10 +143857,10 @@ ${withStyle.errorWarning(`We've found duplicated view name across ${source_defau
143651
143857
  FROM sqlite_master
143652
143858
  WHERE type = 'table'
143653
143859
  AND ${filterIgnoredTablesByField("tbl_name")};`);
143654
- for (const check3 of checks6) {
143655
- if (!tablesFilter(check3.tableName))
143860
+ for (const check4 of checks6) {
143861
+ if (!tablesFilter(check4.tableName))
143656
143862
  continue;
143657
- const { tableName, sql: sql22 } = check3;
143863
+ const { tableName, sql: sql22 } = check4;
143658
143864
  let namedChecks = [...sql22.matchAll(namedCheckPattern)];
143659
143865
  if (namedChecks.length > 0) {
143660
143866
  namedChecks.forEach(([_22, checkName, checkValue]) => {
@@ -147241,21 +147447,21 @@ We have encountered a collision between the index name on columns ${source_defau
147241
147447
  lock: value.config.lock
147242
147448
  };
147243
147449
  });
147244
- checks6.forEach((check3) => {
147245
- const checkName = check3.name;
147450
+ checks6.forEach((check4) => {
147451
+ const checkName = check4.name;
147246
147452
  if (typeof checksInTable[tableName] !== "undefined") {
147247
- if (checksInTable[tableName].includes(check3.name)) {
147453
+ if (checksInTable[tableName].includes(check4.name)) {
147248
147454
  console.log(`
147249
147455
  ${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`)}`);
147250
147456
  process.exit(1);
147251
147457
  }
147252
147458
  checksInTable[tableName].push(checkName);
147253
147459
  } else {
147254
- checksInTable[tableName] = [check3.name];
147460
+ checksInTable[tableName] = [check4.name];
147255
147461
  }
147256
147462
  checkConstraintObject[checkName] = {
147257
147463
  name: checkName,
147258
- value: dialect6.sqlToQuery(check3.value).sql
147464
+ value: dialect6.sqlToQuery(check4.value).sql
147259
147465
  };
147260
147466
  });
147261
147467
  if (!schema5) {
@@ -154138,15 +154344,20 @@ var init_timeback_controller = __esm(() => {
154138
154344
  });
154139
154345
  });
154140
154346
  getLatestRuntimeAssessment = requireDeveloper(async (ctx) => {
154347
+ const purpose = ctx.url.searchParams.get("purpose");
154141
154348
  const query = LatestRuntimeAssessmentQuerySchema.safeParse({
154142
154349
  gameId: ctx.url.searchParams.get("gameId"),
154143
154350
  studentId: ctx.url.searchParams.get("studentId"),
154144
- purpose: ctx.url.searchParams.get("purpose"),
154351
+ purpose,
154145
154352
  subject: ctx.url.searchParams.get("subject") ?? undefined,
154146
- grade: ctx.url.searchParams.get("grade") ?? undefined
154353
+ grade: ctx.url.searchParams.get("grade") ?? undefined,
154354
+ standard: purpose === "mastery" ? {
154355
+ framework: ctx.url.searchParams.get("standardFramework"),
154356
+ identifier: ctx.url.searchParams.get("standardIdentifier")
154357
+ } : undefined
154147
154358
  });
154148
154359
  if (!query.success) {
154149
- throw ApiError.badRequest("Missing or invalid gameId, studentId, purpose, subject, or grade");
154360
+ throw ApiError.badRequest("Missing or invalid gameId, studentId, purpose, subject, grade, or mastery standard");
154150
154361
  }
154151
154362
  return ctx.services.timebackAssessmentRuntime.latest({
154152
154363
  ...query.data,
@@ -154494,6 +154705,7 @@ var init_timeback_controller = __esm(() => {
154494
154705
  return ctx.services.timebackAssessments.createAssessment(integrationId, {
154495
154706
  title: body2.title,
154496
154707
  purpose: body2.purpose,
154708
+ standard: body2.standard,
154497
154709
  qtiTestIdentifier
154498
154710
  });
154499
154711
  });
@@ -154568,7 +154780,7 @@ var init_timeback_controller = __esm(() => {
154568
154780
  const body2 = await parseRequestBody(ctx.request, CopyAssessmentRequestSchema);
154569
154781
  const integrationId = await ctx.services.timebackAssessments.resolveIntegrationId(gameId, courseId, ctx.user);
154570
154782
  const targetTestIdentifier = newPlaycademyTestIdentifier();
154571
- return ctx.services.timebackAssessments.copyAssessment(integrationId, body2.testIdentifier, targetTestIdentifier, body2.purpose);
154783
+ return ctx.services.timebackAssessments.copyAssessment(integrationId, body2.testIdentifier, targetTestIdentifier, body2.purpose, body2.standard);
154572
154784
  });
154573
154785
  createQuestion = requireDeveloper(async (ctx) => {
154574
154786
  const { gameId, courseId, testIdentifier } = ctx.params;