content: // dart format width=80
  import 'package:drift/internal/versioned_schema.dart' as i0;
  import 'package:drift/drift.dart' as i1;
  import 'package:drift/drift.dart'; // ignore_for_file: type=lint,unused_import
  
  // GENERATED BY drift_dev, DO NOT MODIFY.
  final class Schema2 extends i0.VersionedSchema {
    Schema2({required super.database}) : super(version: 2);
    @override
    late final List<i1.DatabaseSchemaEntity> entities = [conv, msg];
    late final Shape0 conv = Shape0(
      source: i0.VersionedTable(
        entityName: 'conv',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: ['PRIMARY KEY(created_at_u_s)'],
        columns: [_column_0, _column_1, _column_2, _column_3, _column_4],
        attachedDatabase: database,
      ),
      alias: null,
    );
    late final Shape1 msg = Shape1(
      source: i0.VersionedTable(
        entityName: 'msg',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: ['PRIMARY KEY(id)'],
        columns: [
          _column_5,
          _column_6,
          _column_7,
          _column_8,
          _column_9,
          _column_10,
          _column_11,
          _column_12,
          _column_13,
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
          _column_20,
          _column_21,
          _column_22,
          _column_23,
          _column_24,
          _column_25,
          _column_26,
        ],
        attachedDatabase: database,
      ),
      alias: null,
    );
  }
  
  class Shape0 extends i0.VersionedTable {
    Shape0({required super.source, required super.alias}) : super.aliased();
    i1.GeneratedColumn<int> get createdAtUS =>
        columnsByName['created_at_u_s']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<int> get updatedAtUS =>
        columnsByName['updated_at_u_s']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<String> get title =>
        columnsByName['title']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get data =>
        columnsByName['data']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get appBuildNumber =>
        columnsByName['app_build_number']! as i1.GeneratedColumn<String>;
  }
  
  i1.GeneratedColumn<int> _column_0(String aliasedName) =>
      i1.GeneratedColumn<int>(
        'created_at_u_s',
        aliasedName,
        false,
        type: i1.DriftSqlType.int,
      );
  i1.GeneratedColumn<int> _column_1(String aliasedName) =>
      i1.GeneratedColumn<int>(
        'updated_at_u_s',
        aliasedName,
        true,
        type: i1.DriftSqlType.int,
      );
  i1.GeneratedColumn<String> _column_2(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'title',
        aliasedName,
        false,
        type: i1.DriftSqlType.string,
        defaultValue: const CustomExpression('\'New Conversation\''),
      );
  i1.GeneratedColumn<String> _column_3(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'data',
        aliasedName,
        false,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_4(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'app_build_number',
        aliasedName,
        false,
        type: i1.DriftSqlType.string,
      );
  
  class Shape1 extends i0.VersionedTable {
    Shape1({required super.source, required super.alias}) : super.aliased();
    i1.GeneratedColumn<int> get id =>
        columnsByName['id']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<String> get content =>
        columnsByName['content']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get reference =>
        columnsByName['reference']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<bool> get isMine =>
        columnsByName['is_mine']! as i1.GeneratedColumn<bool>;
    i1.GeneratedColumn<String> get type =>
        columnsByName['type']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<bool> get isReasoning =>
        columnsByName['is_reasoning']! as i1.GeneratedColumn<bool>;
    i1.GeneratedColumn<bool> get paused =>
        columnsByName['paused']! as i1.GeneratedColumn<bool>;
    i1.GeneratedColumn<String> get imageUrl =>
        columnsByName['image_url']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get audioUrl =>
        columnsByName['audio_url']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<int> get audioLength =>
        columnsByName['audio_length']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<bool> get isSensitive =>
        columnsByName['is_sensitive']! as i1.GeneratedColumn<bool>;
    i1.GeneratedColumn<int> get ttsCFMSteps =>
        columnsByName['tts_c_f_m_steps']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<String> get ttsTarget =>
        columnsByName['tts_target']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get ttsSpeakerName =>
        columnsByName['tts_speaker_name']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get ttsSourceAudioPath =>
        columnsByName['tts_source_audio_path']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get ttsInstruction =>
        columnsByName['tts_instruction']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<double> get ttsOverallProgress =>
        columnsByName['tts_overall_progress']! as i1.GeneratedColumn<double>;
    i1.GeneratedColumn<String> get ttsPerWavProgress =>
        columnsByName['tts_per_wav_progress']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get ttsFilePaths =>
        columnsByName['tts_file_paths']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get modelName =>
        columnsByName['model_name']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get runningMode =>
        columnsByName['running_mode']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get build =>
        columnsByName['build']! as i1.GeneratedColumn<String>;
  }
  
  i1.GeneratedColumn<int> _column_5(String aliasedName) =>
      i1.GeneratedColumn<int>(
        'id',
        aliasedName,
        false,
        type: i1.DriftSqlType.int,
      );
  i1.GeneratedColumn<String> _column_6(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'content',
        aliasedName,
        false,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_7(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'reference',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<bool> _column_8(String aliasedName) =>
      i1.GeneratedColumn<bool>(
        'is_mine',
        aliasedName,
        false,
        type: i1.DriftSqlType.bool,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
          'CHECK ("is_mine" IN (0, 1))',
        ),
      );
  i1.GeneratedColumn<String> _column_9(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'type',
        aliasedName,
        false,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<bool> _column_10(String aliasedName) =>
      i1.GeneratedColumn<bool>(
        'is_reasoning',
        aliasedName,
        false,
        type: i1.DriftSqlType.bool,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
          'CHECK ("is_reasoning" IN (0, 1))',
        ),
      );
  i1.GeneratedColumn<bool> _column_11(String aliasedName) =>
      i1.GeneratedColumn<bool>(
        'paused',
        aliasedName,
        false,
        type: i1.DriftSqlType.bool,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
          'CHECK ("paused" IN (0, 1))',
        ),
      );
  i1.GeneratedColumn<String> _column_12(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'image_url',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_13(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'audio_url',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<int> _column_14(String aliasedName) =>
      i1.GeneratedColumn<int>(
        'audio_length',
        aliasedName,
        true,
        type: i1.DriftSqlType.int,
      );
  i1.GeneratedColumn<bool> _column_15(String aliasedName) =>
      i1.GeneratedColumn<bool>(
        'is_sensitive',
        aliasedName,
        false,
        type: i1.DriftSqlType.bool,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
          'CHECK ("is_sensitive" IN (0, 1))',
        ),
        defaultValue: const CustomExpression('0'),
      );
  i1.GeneratedColumn<int> _column_16(String aliasedName) =>
      i1.GeneratedColumn<int>(
        'tts_c_f_m_steps',
        aliasedName,
        true,
        type: i1.DriftSqlType.int,
      );
  i1.GeneratedColumn<String> _column_17(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'tts_target',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_18(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'tts_speaker_name',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_19(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'tts_source_audio_path',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_20(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'tts_instruction',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<double> _column_21(String aliasedName) =>
      i1.GeneratedColumn<double>(
        'tts_overall_progress',
        aliasedName,
        true,
        type: i1.DriftSqlType.double,
      );
  i1.GeneratedColumn<String> _column_22(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'tts_per_wav_progress',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_23(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'tts_file_paths',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_24(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'model_name',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_25(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'running_mode',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i1.GeneratedColumn<String> _column_26(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'build',
        aliasedName,
        false,
        type: i1.DriftSqlType.string,
      );
  
  final class Schema3 extends i0.VersionedSchema {
    Schema3({required super.database}) : super(version: 3);
    @override
    late final List<i1.DatabaseSchemaEntity> entities = [conv, msg];
    late final Shape2 conv = Shape2(
      source: i0.VersionedTable(
        entityName: 'conv',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: ['PRIMARY KEY(created_at_u_s)'],
        columns: [
          _column_0,
          _column_1,
          _column_2,
          _column_27,
          _column_3,
          _column_4,
        ],
        attachedDatabase: database,
      ),
      alias: null,
    );
    late final Shape1 msg = Shape1(
      source: i0.VersionedTable(
        entityName: 'msg',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: ['PRIMARY KEY(id)'],
        columns: [
          _column_5,
          _column_6,
          _column_7,
          _column_8,
          _column_9,
          _column_10,
          _column_11,
          _column_12,
          _column_13,
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
          _column_20,
          _column_21,
          _column_22,
          _column_23,
          _column_24,
          _column_25,
          _column_26,
        ],
        attachedDatabase: database,
      ),
      alias: null,
    );
  }
  
  class Shape2 extends i0.VersionedTable {
    Shape2({required super.source, required super.alias}) : super.aliased();
    i1.GeneratedColumn<int> get createdAtUS =>
        columnsByName['created_at_u_s']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<int> get updatedAtUS =>
        columnsByName['updated_at_u_s']! as i1.GeneratedColumn<int>;
    i1.GeneratedColumn<String> get title =>
        columnsByName['title']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get subtitle =>
        columnsByName['subtitle']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get data =>
        columnsByName['data']! as i1.GeneratedColumn<String>;
    i1.GeneratedColumn<String> get appBuildNumber =>
        columnsByName['app_build_number']! as i1.GeneratedColumn<String>;
  }
  
  i1.GeneratedColumn<String> _column_27(String aliasedName) =>
      i1.GeneratedColumn<String>(
        'subtitle',
        aliasedName,
        true,
        type: i1.DriftSqlType.string,
      );
  i0.MigrationStepWithVersion migrationSteps({
    required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
    required Future<void> Function(i1.Migrator m, Schema3 schema) from2To3,
  }) {
    return (currentVersion, database) async {
      switch (currentVersion) {
        case 1:
          final schema = Schema2(database: database);
          final migrator = i1.Migrator(database, schema);
          await from1To2(migrator, schema);
          return 2;
        case 2:
          final schema = Schema3(database: database);
          final migrator = i1.Migrator(database, schema);
          await from2To3(migrator, schema);
          return 3;
        default:
          throw ArgumentError.value('Unknown migration from $currentVersion');
      }
    };
  }
  
  i1.OnUpgrade stepByStep({
    required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
    required Future<void> Function(i1.Migrator m, Schema3 schema) from2To3,
  }) => i0.VersionedSchema.stepByStepHelper(
    step: migrationSteps(from1To2: from1To2, from2To3: from2To3),
  );
  