@supertst/api 0.2.0 → 0.4.0

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.
Files changed (3) hide show
  1. package/README.md +12 -0
  2. package/package.json +1 -1
  3. package/src/index.ts +1367 -191
package/src/index.ts CHANGED
@@ -33,6 +33,8 @@ export interface OptionDto {
33
33
  indice_opcion: number;
34
34
  /** @example {"texto":"..."} */
35
35
  contenido_json: object;
36
+ /** Texto plano de la opción (extraído de contenido_json) */
37
+ texto: string;
36
38
  es_correcta: boolean;
37
39
  explicacion?: object | null;
38
40
  }
@@ -861,6 +863,19 @@ export interface ReviewSessionInfoDto {
861
863
  config?: Record<string, any>;
862
864
  }
863
865
 
866
+ export interface RepresentacionVisualDto {
867
+ tipo: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
868
+ version: "v1";
869
+ tabla_markdown?: object | null;
870
+ grafica_json?: object | null;
871
+ /** URL of the image in Supabase bucket (new questions). Injected from pregunta_imagenes table at response-build time. */
872
+ imagen_url?: object | null;
873
+ /** Inline SVG XML content (legacy/old questions). Used as fallback when imagen_url is not available. */
874
+ imagen_svg?: object | null;
875
+ /** Alt text / description for image accessibility. */
876
+ imagen_alt?: object | null;
877
+ }
878
+
864
879
  export interface ReviewImageDto {
865
880
  /** @example "https://storage.example.com/image.png" */
866
881
  url: string;
@@ -877,6 +892,8 @@ export interface ReviewOptionDto {
877
892
  indice_opcion: number;
878
893
  /** Option content (text or structured) */
879
894
  contenido_json: Record<string, any>;
895
+ /** @example "La opcion correcta" */
896
+ texto: string;
880
897
  /** @example true */
881
898
  es_correcta: boolean;
882
899
  /** @example "Esta es la respuesta correcta porque..." */
@@ -895,6 +912,7 @@ export interface ReviewItemDto {
895
912
  id_clasificacion?: string;
896
913
  /** Question metadata */
897
914
  metadata?: Record<string, any>;
915
+ representacion_visual_enunciado?: RepresentacionVisualDto | null;
898
916
  /** @example 1 */
899
917
  orden: number;
900
918
  imagenes: ReviewImageDto[];
@@ -910,12 +928,12 @@ export interface ReviewItemDto {
910
928
 
911
929
  export interface ReviewGroupDto {
912
930
  /**
913
- * Stimulus text
931
+ * Context text
914
932
  * @example "Lea el siguiente texto..."
915
933
  */
916
- id_estimulo?: object;
917
- /** Visual representation of the stimulus (object with tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). Same structure as diagnostico/start. */
918
- representacion_visual_id_estimulo?: Record<string, any>;
934
+ contexto?: object;
935
+ /** Visual representation of the shared context. */
936
+ representacion_visual_id_estimulo?: RepresentacionVisualDto | null;
919
937
  items: ReviewItemDto[];
920
938
  }
921
939
 
@@ -1068,13 +1086,59 @@ export namespace V1 {
1068
1086
  }
1069
1087
 
1070
1088
  /**
1071
- * No description
1072
- * @tags trainer
1073
- * @name GetQuestionsByClasificacion
1074
- * @summary Obtener preguntas AI generadas por clasificación (agrupadas por contexto)
1075
- * @request GET:/v1/trainer/questions
1076
- * @response `200` `void` Questions retrieved successfully, grouped by context
1077
- */
1089
+ * No description
1090
+ * @tags trainer
1091
+ * @name GetQuestionsByClasificacion
1092
+ * @summary Obtener preguntas AI generadas por clasificación (agrupadas por contexto)
1093
+ * @request GET:/v1/trainer/questions
1094
+ * @response `200` `{
1095
+ modelo_llm?: string,
1096
+ grupos?: ({
1097
+ contexto?: string | null,
1098
+ representacion_visual_id_estimulo?: {
1099
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
1100
+ version?: "v1",
1101
+ tabla_markdown?: string | null,
1102
+ grafica_json?: object | null,
1103
+ imagen_url?: string | null,
1104
+ imagen_svg?: string | null,
1105
+ imagen_alt?: string | null,
1106
+
1107
+ },
1108
+ items?: ({
1109
+ /** @format uuid *\/
1110
+ id_item?: string,
1111
+ ai_generated?: boolean,
1112
+ enunciado?: string,
1113
+ opciones?: ({
1114
+ indice_opcion?: number,
1115
+ contenido_json?: object | null,
1116
+ texto?: string,
1117
+ es_correcta?: boolean,
1118
+ explicacion?: string | null,
1119
+
1120
+ })[],
1121
+ indice_respuesta?: number,
1122
+ justificacion?: string | null,
1123
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null,
1124
+ representacion_visual_enunciado?: {
1125
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
1126
+ version?: "v1",
1127
+ tabla_markdown?: string | null,
1128
+ grafica_json?: object | null,
1129
+ imagen_url?: string | null,
1130
+ imagen_svg?: string | null,
1131
+ imagen_alt?: string | null,
1132
+
1133
+ },
1134
+ id_clasificacion?: string,
1135
+
1136
+ })[],
1137
+
1138
+ })[],
1139
+
1140
+ }` Questions retrieved successfully, grouped by context
1141
+ */
1078
1142
  export namespace GetQuestionsByClasificacion {
1079
1143
  export type RequestParams = {};
1080
1144
  export type RequestQuery = {
@@ -1082,7 +1146,47 @@ export namespace V1 {
1082
1146
  };
1083
1147
  export type RequestBody = never;
1084
1148
  export type RequestHeaders = {};
1085
- export type ResponseBody = void;
1149
+ export type ResponseBody = {
1150
+ modelo_llm?: string;
1151
+ grupos?: {
1152
+ contexto?: string | null;
1153
+ representacion_visual_id_estimulo?: {
1154
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
1155
+ version?: "v1";
1156
+ tabla_markdown?: string | null;
1157
+ grafica_json?: object | null;
1158
+ imagen_url?: string | null;
1159
+ imagen_svg?: string | null;
1160
+ imagen_alt?: string | null;
1161
+ };
1162
+ items?: {
1163
+ /** @format uuid */
1164
+ id_item?: string;
1165
+ ai_generated?: boolean;
1166
+ enunciado?: string;
1167
+ opciones?: {
1168
+ indice_opcion?: number;
1169
+ contenido_json?: object | null;
1170
+ texto?: string;
1171
+ es_correcta?: boolean;
1172
+ explicacion?: string | null;
1173
+ }[];
1174
+ indice_respuesta?: number;
1175
+ justificacion?: string | null;
1176
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null;
1177
+ representacion_visual_enunciado?: {
1178
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
1179
+ version?: "v1";
1180
+ tabla_markdown?: string | null;
1181
+ grafica_json?: object | null;
1182
+ imagen_url?: string | null;
1183
+ imagen_svg?: string | null;
1184
+ imagen_alt?: string | null;
1185
+ };
1186
+ id_clasificacion?: string;
1187
+ }[];
1188
+ }[];
1189
+ };
1086
1190
  }
1087
1191
 
1088
1192
  /**
@@ -1092,8 +1196,84 @@ export namespace V1 {
1092
1196
  * @summary Obtener detalle de una pregunta por ID (id_item)
1093
1197
  * @request GET:/v1/trainer/questions/{id}
1094
1198
  * @response `200` `{
1199
+ /** @example true *\/
1095
1200
  ok?: boolean,
1096
- data?: object,
1201
+ data?: {
1202
+ question?: {
1203
+ /** @format uuid *\/
1204
+ id_item?: string,
1205
+ id_clasificacion?: string,
1206
+ nombre_pregunta?: string | null,
1207
+ enunciado?: string,
1208
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null,
1209
+ estado_revision?: string | null,
1210
+ ai_generated?: boolean,
1211
+ created_at?: string,
1212
+ indice_respuesta?: number,
1213
+ justificacion?: string | null,
1214
+ metadata?: object | null,
1215
+ representacion_visual_enunciado?: {
1216
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
1217
+ version?: "v1",
1218
+ tabla_markdown?: string | null,
1219
+ grafica_json?: object | null,
1220
+ imagen_url?: string | null,
1221
+ imagen_svg?: string | null,
1222
+ imagen_alt?: string | null,
1223
+
1224
+ },
1225
+ imagenes?: ({
1226
+ url?: string,
1227
+ alt?: string | null,
1228
+ orden?: number | null,
1229
+
1230
+ })[],
1231
+ opciones?: ({
1232
+ indice_opcion?: number,
1233
+ contenido_json?: object | null,
1234
+ texto?: string,
1235
+ es_correcta?: boolean,
1236
+ explicacion?: string | null,
1237
+ imagenes?: ({
1238
+ url?: string,
1239
+ alt?: string | null,
1240
+ orden?: number | null,
1241
+
1242
+ })[],
1243
+
1244
+ })[],
1245
+
1246
+ },
1247
+ shared_context?: {
1248
+ contexto?: string | null,
1249
+ representacion_visual_id_estimulo?: {
1250
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
1251
+ version?: "v1",
1252
+ tabla_markdown?: string | null,
1253
+ grafica_json?: object | null,
1254
+ imagen_url?: string | null,
1255
+ imagen_svg?: string | null,
1256
+ imagen_alt?: string | null,
1257
+
1258
+ },
1259
+ group_info?: {
1260
+ total_questions?: number,
1261
+ current_question_index?: number,
1262
+ is_first_question?: boolean,
1263
+
1264
+ },
1265
+ related_questions?: ({
1266
+ /** @format uuid *\/
1267
+ id_item?: string,
1268
+ nombre_pregunta?: string,
1269
+ order_in_group?: number,
1270
+ is_current?: boolean,
1271
+
1272
+ })[],
1273
+
1274
+ },
1275
+
1276
+ },
1097
1277
 
1098
1278
  }` Detalle de la pregunta con opciones
1099
1279
  */
@@ -1109,8 +1289,74 @@ export namespace V1 {
1109
1289
  export type RequestBody = never;
1110
1290
  export type RequestHeaders = {};
1111
1291
  export type ResponseBody = {
1292
+ /** @example true */
1112
1293
  ok?: boolean;
1113
- data?: object;
1294
+ data?: {
1295
+ question?: {
1296
+ /** @format uuid */
1297
+ id_item?: string;
1298
+ id_clasificacion?: string;
1299
+ nombre_pregunta?: string | null;
1300
+ enunciado?: string;
1301
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null;
1302
+ estado_revision?: string | null;
1303
+ ai_generated?: boolean;
1304
+ created_at?: string;
1305
+ indice_respuesta?: number;
1306
+ justificacion?: string | null;
1307
+ metadata?: object | null;
1308
+ representacion_visual_enunciado?: {
1309
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
1310
+ version?: "v1";
1311
+ tabla_markdown?: string | null;
1312
+ grafica_json?: object | null;
1313
+ imagen_url?: string | null;
1314
+ imagen_svg?: string | null;
1315
+ imagen_alt?: string | null;
1316
+ };
1317
+ imagenes?: {
1318
+ url?: string;
1319
+ alt?: string | null;
1320
+ orden?: number | null;
1321
+ }[];
1322
+ opciones?: {
1323
+ indice_opcion?: number;
1324
+ contenido_json?: object | null;
1325
+ texto?: string;
1326
+ es_correcta?: boolean;
1327
+ explicacion?: string | null;
1328
+ imagenes?: {
1329
+ url?: string;
1330
+ alt?: string | null;
1331
+ orden?: number | null;
1332
+ }[];
1333
+ }[];
1334
+ };
1335
+ shared_context?: {
1336
+ contexto?: string | null;
1337
+ representacion_visual_id_estimulo?: {
1338
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
1339
+ version?: "v1";
1340
+ tabla_markdown?: string | null;
1341
+ grafica_json?: object | null;
1342
+ imagen_url?: string | null;
1343
+ imagen_svg?: string | null;
1344
+ imagen_alt?: string | null;
1345
+ };
1346
+ group_info?: {
1347
+ total_questions?: number;
1348
+ current_question_index?: number;
1349
+ is_first_question?: boolean;
1350
+ };
1351
+ related_questions?: {
1352
+ /** @format uuid */
1353
+ id_item?: string;
1354
+ nombre_pregunta?: string;
1355
+ order_in_group?: number;
1356
+ is_current?: boolean;
1357
+ }[];
1358
+ };
1359
+ };
1114
1360
  };
1115
1361
  }
1116
1362
 
@@ -1328,8 +1574,43 @@ export namespace V1 {
1328
1574
  * @request GET:/v1/trainer/preguntas
1329
1575
  * @secure
1330
1576
  * @response `200` `{
1577
+ /** @example true *\/
1331
1578
  ok?: boolean,
1332
- data?: (object)[],
1579
+ data?: ({
1580
+ /** @format uuid *\/
1581
+ id_item?: string,
1582
+ enunciado?: string,
1583
+ indice_respuesta?: number,
1584
+ id_clasificacion?: string,
1585
+ id_estimulo?: string | null,
1586
+ metadata?: object | null,
1587
+ ai_generated?: boolean,
1588
+ justificacion?: string | null,
1589
+ created_at?: string,
1590
+ imagenes?: ({
1591
+ id_item?: string,
1592
+ url?: string,
1593
+ alt?: string | null,
1594
+ orden?: number | null,
1595
+
1596
+ })[],
1597
+ opciones?: ({
1598
+ id_item?: string,
1599
+ indice_opcion?: number,
1600
+ contenido_json?: object | null,
1601
+ es_correcta?: boolean,
1602
+ imagenes?: ({
1603
+ id_item?: string,
1604
+ indice_opcion?: number,
1605
+ url?: string,
1606
+ alt?: string | null,
1607
+ orden?: number | null,
1608
+
1609
+ })[],
1610
+
1611
+ })[],
1612
+
1613
+ })[],
1333
1614
 
1334
1615
  }` Lista de preguntas agrupadas por clasificación
1335
1616
  */
@@ -1342,8 +1623,39 @@ export namespace V1 {
1342
1623
  export type RequestBody = never;
1343
1624
  export type RequestHeaders = {};
1344
1625
  export type ResponseBody = {
1626
+ /** @example true */
1345
1627
  ok?: boolean;
1346
- data?: object[];
1628
+ data?: {
1629
+ /** @format uuid */
1630
+ id_item?: string;
1631
+ enunciado?: string;
1632
+ indice_respuesta?: number;
1633
+ id_clasificacion?: string;
1634
+ id_estimulo?: string | null;
1635
+ metadata?: object | null;
1636
+ ai_generated?: boolean;
1637
+ justificacion?: string | null;
1638
+ created_at?: string;
1639
+ imagenes?: {
1640
+ id_item?: string;
1641
+ url?: string;
1642
+ alt?: string | null;
1643
+ orden?: number | null;
1644
+ }[];
1645
+ opciones?: {
1646
+ id_item?: string;
1647
+ indice_opcion?: number;
1648
+ contenido_json?: object | null;
1649
+ es_correcta?: boolean;
1650
+ imagenes?: {
1651
+ id_item?: string;
1652
+ indice_opcion?: number;
1653
+ url?: string;
1654
+ alt?: string | null;
1655
+ orden?: number | null;
1656
+ }[];
1657
+ }[];
1658
+ }[];
1347
1659
  };
1348
1660
  }
1349
1661
 
@@ -2569,7 +2881,7 @@ export namespace V1 {
2569
2881
  * Texto completo del contexto/estímulo asociado al grupo de preguntas. Puede ser un párrafo de lectura, un enunciado de situación, un texto en inglés, etc. Es null cuando las preguntas no tienen contexto compartido.
2570
2882
  * @example "En una bodega, un trabajador observa un carro de carga sobre el piso. Sobre el carro actúan tres fuerzas en dirección horizontal..."
2571
2883
  *\/
2572
- id_estimulo?: string | null,
2884
+ contexto?: string | null,
2573
2885
  /** Representación visual del contexto. Presente cuando el contexto tiene una imagen, gráfica o tabla asociada. null si el contexto es solo texto. *\/
2574
2886
  representacion_visual_id_estimulo?: {
2575
2887
  /**
@@ -2582,6 +2894,11 @@ export namespace V1 {
2582
2894
  * @example "v1"
2583
2895
  *\/
2584
2896
  version?: string,
2897
+ /**
2898
+ * URL pública de la imagen cuando existe asset persistido
2899
+ * @example "https://example.supabase.co/storage/v1/object/public/preguntas/img.png"
2900
+ *\/
2901
+ imagen_url?: string | null,
2585
2902
  /**
2586
2903
  * Texto alternativo descriptivo de la imagen
2587
2904
  * @example "Un carro representado como un rectángulo. Dos flechas hacia la derecha etiquetadas 25 N y 10 N. Una flecha hacia la izquierda etiquetada 50 N."
@@ -2695,6 +3012,17 @@ export namespace V1 {
2695
3012
  /** Representación visual del enunciado de la pregunta (misma estructura que representacion_visual_id_estimulo) *\/
2696
3013
  representacion_visual_enunciado?: object | null,
2697
3014
 
3015
+ },
3016
+ /** Representación visual del enunciado de la pregunta, ya extraída al nivel superior. *\/
3017
+ representacion_visual_enunciado?: {
3018
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
3019
+ version?: "v1",
3020
+ tabla_markdown?: string | null,
3021
+ grafica_json?: object | null,
3022
+ imagen_url?: string | null,
3023
+ imagen_svg?: string | null,
3024
+ imagen_alt?: string | null,
3025
+
2698
3026
  },
2699
3027
  /** Imágenes directas de la pregunta. Array vacío si no tiene imágenes. *\/
2700
3028
  imagenes?: ({
@@ -2722,6 +3050,11 @@ export namespace V1 {
2722
3050
  texto?: string,
2723
3051
 
2724
3052
  },
3053
+ /**
3054
+ * Texto plano extraído desde contenido_json.texto
3055
+ * @example "la fuerza de la cuerda por sí sola es capaz de mover el carro hacia la izquierda, sin considerar las demás fuerzas."
3056
+ *\/
3057
+ texto?: string,
2725
3058
  /** Imágenes de la opción. Array vacío si la opción no tiene imágenes. *\/
2726
3059
  imagenes?: ({
2727
3060
  url?: string,
@@ -2766,7 +3099,7 @@ export namespace V1 {
2766
3099
  * Texto completo del contexto/estímulo asociado al grupo de preguntas. Puede ser un párrafo de lectura, un enunciado de situación, un texto en inglés, etc. Es null cuando las preguntas no tienen contexto compartido.
2767
3100
  * @example "En una bodega, un trabajador observa un carro de carga sobre el piso. Sobre el carro actúan tres fuerzas en dirección horizontal..."
2768
3101
  */
2769
- id_estimulo?: string | null;
3102
+ contexto?: string | null;
2770
3103
  /** Representación visual del contexto. Presente cuando el contexto tiene una imagen, gráfica o tabla asociada. null si el contexto es solo texto. */
2771
3104
  representacion_visual_id_estimulo?: {
2772
3105
  /**
@@ -2779,6 +3112,11 @@ export namespace V1 {
2779
3112
  * @example "v1"
2780
3113
  */
2781
3114
  version?: string;
3115
+ /**
3116
+ * URL pública de la imagen cuando existe asset persistido
3117
+ * @example "https://example.supabase.co/storage/v1/object/public/preguntas/img.png"
3118
+ */
3119
+ imagen_url?: string | null;
2782
3120
  /**
2783
3121
  * Texto alternativo descriptivo de la imagen
2784
3122
  * @example "Un carro representado como un rectángulo. Dos flechas hacia la derecha etiquetadas 25 N y 10 N. Una flecha hacia la izquierda etiquetada 50 N."
@@ -2886,6 +3224,16 @@ export namespace V1 {
2886
3224
  /** Representación visual del enunciado de la pregunta (misma estructura que representacion_visual_id_estimulo) */
2887
3225
  representacion_visual_enunciado?: object | null;
2888
3226
  };
3227
+ /** Representación visual del enunciado de la pregunta, ya extraída al nivel superior. */
3228
+ representacion_visual_enunciado?: {
3229
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
3230
+ version?: "v1";
3231
+ tabla_markdown?: string | null;
3232
+ grafica_json?: object | null;
3233
+ imagen_url?: string | null;
3234
+ imagen_svg?: string | null;
3235
+ imagen_alt?: string | null;
3236
+ };
2889
3237
  /** Imágenes directas de la pregunta. Array vacío si no tiene imágenes. */
2890
3238
  imagenes?: {
2891
3239
  /** URL de la imagen */
@@ -2910,6 +3258,11 @@ export namespace V1 {
2910
3258
  */
2911
3259
  texto?: string;
2912
3260
  };
3261
+ /**
3262
+ * Texto plano extraído desde contenido_json.texto
3263
+ * @example "la fuerza de la cuerda por sí sola es capaz de mover el carro hacia la izquierda, sin considerar las demás fuerzas."
3264
+ */
3265
+ texto?: string;
2913
3266
  /** Imágenes de la opción. Array vacío si la opción no tiene imágenes. */
2914
3267
  imagenes?: {
2915
3268
  url?: string;
@@ -3640,14 +3993,21 @@ export namespace V1 {
3640
3993
  export type RequestQuery = {
3641
3994
  /**
3642
3995
  * Página (default 1)
3996
+ * @min 1
3997
+ * @default 1
3643
3998
  * @example 1
3644
3999
  */
3645
4000
  page?: number;
3646
4001
  /**
3647
4002
  * Resultados por página (default 50)
4003
+ * @min 1
4004
+ * @max 100
4005
+ * @default 50
3648
4006
  * @example 50
3649
4007
  */
3650
4008
  perPage?: number;
4009
+ /** Orden primario del leaderboard (default score) */
4010
+ sortBy?: "score" | "xp";
3651
4011
  };
3652
4012
  export type RequestBody = never;
3653
4013
  export type RequestHeaders = {};
@@ -4050,9 +4410,18 @@ export namespace V1 {
4050
4410
  estado?: string,
4051
4411
  /** Preguntas agrupadas por contexto/estímulo *\/
4052
4412
  grupos?: ({
4053
- id_estimulo?: string | null,
4054
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). *\/
4055
- representacion_visual_id_estimulo?: object | null,
4413
+ contexto?: string | null,
4414
+ /** Representación visual del contexto. Misma estructura actual que diagnóstico/start. *\/
4415
+ representacion_visual_id_estimulo?: {
4416
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
4417
+ version?: "v1",
4418
+ tabla_markdown?: string | null,
4419
+ grafica_json?: object | null,
4420
+ imagen_url?: string | null,
4421
+ imagen_svg?: string | null,
4422
+ imagen_alt?: string | null,
4423
+
4424
+ },
4056
4425
  items?: ({
4057
4426
  /** @format uuid *\/
4058
4427
  id_item?: string,
@@ -4061,6 +4430,16 @@ export namespace V1 {
4061
4430
  id_materia?: string | null,
4062
4431
  materia_nombre?: string | null,
4063
4432
  metadata?: object | null,
4433
+ representacion_visual_enunciado?: {
4434
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
4435
+ version?: "v1",
4436
+ tabla_markdown?: string | null,
4437
+ grafica_json?: object | null,
4438
+ imagen_url?: string | null,
4439
+ imagen_svg?: string | null,
4440
+ imagen_alt?: string | null,
4441
+
4442
+ },
4064
4443
  imagenes?: ({
4065
4444
  url?: string,
4066
4445
  alt?: string,
@@ -4074,6 +4453,7 @@ export namespace V1 {
4074
4453
  texto?: string,
4075
4454
 
4076
4455
  },
4456
+ texto?: string,
4077
4457
  imagenes?: ({
4078
4458
  url?: string,
4079
4459
  alt?: string,
@@ -4114,9 +4494,17 @@ export namespace V1 {
4114
4494
  estado?: string;
4115
4495
  /** Preguntas agrupadas por contexto/estímulo */
4116
4496
  grupos?: {
4117
- id_estimulo?: string | null;
4118
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). */
4119
- representacion_visual_id_estimulo?: object | null;
4497
+ contexto?: string | null;
4498
+ /** Representación visual del contexto. Misma estructura actual que diagnóstico/start. */
4499
+ representacion_visual_id_estimulo?: {
4500
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
4501
+ version?: "v1";
4502
+ tabla_markdown?: string | null;
4503
+ grafica_json?: object | null;
4504
+ imagen_url?: string | null;
4505
+ imagen_svg?: string | null;
4506
+ imagen_alt?: string | null;
4507
+ };
4120
4508
  items?: {
4121
4509
  /** @format uuid */
4122
4510
  id_item?: string;
@@ -4125,6 +4513,20 @@ export namespace V1 {
4125
4513
  id_materia?: string | null;
4126
4514
  materia_nombre?: string | null;
4127
4515
  metadata?: object | null;
4516
+ representacion_visual_enunciado?: {
4517
+ tipo?:
4518
+ | "tabla"
4519
+ | "grafica"
4520
+ | "imagen"
4521
+ | "caricatura"
4522
+ | "infografia";
4523
+ version?: "v1";
4524
+ tabla_markdown?: string | null;
4525
+ grafica_json?: object | null;
4526
+ imagen_url?: string | null;
4527
+ imagen_svg?: string | null;
4528
+ imagen_alt?: string | null;
4529
+ };
4128
4530
  imagenes?: {
4129
4531
  url?: string;
4130
4532
  alt?: string;
@@ -4136,6 +4538,7 @@ export namespace V1 {
4136
4538
  contenido_json?: {
4137
4539
  texto?: string;
4138
4540
  };
4541
+ texto?: string;
4139
4542
  imagenes?: {
4140
4543
  url?: string;
4141
4544
  alt?: string;
@@ -4162,7 +4565,7 @@ export namespace V1 {
4162
4565
  clasificacion?: object,
4163
4566
  /** Preguntas agrupadas por contexto con respuestas reveladas *\/
4164
4567
  grupos?: ({
4165
- id_estimulo?: string | null,
4568
+ contexto?: string | null,
4166
4569
  /** Representación visual del contexto. Misma estructura que en diagnóstico/start. *\/
4167
4570
  representacion_visual_id_estimulo?: object | null,
4168
4571
  items?: ({
@@ -4174,6 +4577,8 @@ export namespace V1 {
4174
4577
  id_materia?: string,
4175
4578
  materia_nombre?: string,
4176
4579
  metadata?: object | null,
4580
+ /** Representación visual del enunciado si aplica. *\/
4581
+ representacion_visual_enunciado?: object | null,
4177
4582
  /** true si es Comunicación Escrita *\/
4178
4583
  isOpenTextQuestion?: boolean,
4179
4584
  imagenes?: ({
@@ -4245,7 +4650,7 @@ export namespace V1 {
4245
4650
  clasificacion?: object;
4246
4651
  /** Preguntas agrupadas por contexto con respuestas reveladas */
4247
4652
  grupos?: {
4248
- id_estimulo?: string | null;
4653
+ contexto?: string | null;
4249
4654
  /** Representación visual del contexto. Misma estructura que en diagnóstico/start. */
4250
4655
  representacion_visual_id_estimulo?: object | null;
4251
4656
  items?: {
@@ -4257,6 +4662,8 @@ export namespace V1 {
4257
4662
  id_materia?: string;
4258
4663
  materia_nombre?: string;
4259
4664
  metadata?: object | null;
4665
+ /** Representación visual del enunciado si aplica. */
4666
+ representacion_visual_enunciado?: object | null;
4260
4667
  /** true si es Comunicación Escrita */
4261
4668
  isOpenTextQuestion?: boolean;
4262
4669
  imagenes?: {
@@ -4580,8 +4987,50 @@ export namespace V1 {
4580
4987
  * @request GET:/v1/exams/practice/{materiaId}
4581
4988
  * @secure
4582
4989
  * @response `200` `{
4990
+ /** @example true *\/
4583
4991
  ok?: boolean,
4584
- data?: object,
4992
+ data?: {
4993
+ materia?: {
4994
+ id_materia?: string,
4995
+ nombre?: string,
4996
+ institution_type?: string | null,
4997
+
4998
+ },
4999
+ preguntas?: ({
5000
+ /** @format uuid *\/
5001
+ id_item?: string,
5002
+ enunciado?: string,
5003
+ indice_respuesta?: number,
5004
+ id_clasificacion?: string,
5005
+ id_estimulo?: string | null,
5006
+ metadata?: object | null,
5007
+ ai_generated?: boolean,
5008
+ imagenes?: ({
5009
+ id_item?: string,
5010
+ url?: string,
5011
+ alt?: string | null,
5012
+ orden?: number | null,
5013
+
5014
+ })[],
5015
+ opciones?: ({
5016
+ id_item?: string,
5017
+ indice_opcion?: number,
5018
+ contenido_json?: object | null,
5019
+ es_correcta?: boolean,
5020
+ imagenes?: ({
5021
+ id_item?: string,
5022
+ indice_opcion?: number,
5023
+ url?: string,
5024
+ alt?: string | null,
5025
+ orden?: number | null,
5026
+
5027
+ })[],
5028
+
5029
+ })[],
5030
+
5031
+ })[],
5032
+
5033
+ },
4585
5034
 
4586
5035
  }` Preguntas de práctica para la materia
4587
5036
  */
@@ -4597,8 +5046,44 @@ export namespace V1 {
4597
5046
  export type RequestBody = never;
4598
5047
  export type RequestHeaders = {};
4599
5048
  export type ResponseBody = {
5049
+ /** @example true */
4600
5050
  ok?: boolean;
4601
- data?: object;
5051
+ data?: {
5052
+ materia?: {
5053
+ id_materia?: string;
5054
+ nombre?: string;
5055
+ institution_type?: string | null;
5056
+ };
5057
+ preguntas?: {
5058
+ /** @format uuid */
5059
+ id_item?: string;
5060
+ enunciado?: string;
5061
+ indice_respuesta?: number;
5062
+ id_clasificacion?: string;
5063
+ id_estimulo?: string | null;
5064
+ metadata?: object | null;
5065
+ ai_generated?: boolean;
5066
+ imagenes?: {
5067
+ id_item?: string;
5068
+ url?: string;
5069
+ alt?: string | null;
5070
+ orden?: number | null;
5071
+ }[];
5072
+ opciones?: {
5073
+ id_item?: string;
5074
+ indice_opcion?: number;
5075
+ contenido_json?: object | null;
5076
+ es_correcta?: boolean;
5077
+ imagenes?: {
5078
+ id_item?: string;
5079
+ indice_opcion?: number;
5080
+ url?: string;
5081
+ alt?: string | null;
5082
+ orden?: number | null;
5083
+ }[];
5084
+ }[];
5085
+ }[];
5086
+ };
4602
5087
  };
4603
5088
  }
4604
5089
 
@@ -4610,8 +5095,44 @@ export namespace V1 {
4610
5095
  * @request GET:/v1/exams/practice/theme/{tematicaId}
4611
5096
  * @secure
4612
5097
  * @response `200` `{
5098
+ /** @example true *\/
4613
5099
  ok?: boolean,
4614
- data?: object,
5100
+ data?: {
5101
+ materia?: {
5102
+ id_materia?: string,
5103
+ nombre?: string,
5104
+ institution_type?: string | null,
5105
+
5106
+ },
5107
+ tematica?: {
5108
+ texto?: string,
5109
+
5110
+ },
5111
+ preguntas?: ({
5112
+ /** @format uuid *\/
5113
+ id_item?: string,
5114
+ enunciado?: string,
5115
+ indice_respuesta?: number,
5116
+ id_clasificacion?: string,
5117
+ id_estimulo?: string | null,
5118
+ metadata?: object | null,
5119
+ ai_generated?: boolean,
5120
+ /** Registro del contexto asociado cuando existe coincidencia en contextos. *\/
5121
+ estimulo?: object | null,
5122
+ /** Primera imagen encontrada para la pregunta cuando aplica. *\/
5123
+ imagen?: object | null,
5124
+ opciones?: ({
5125
+ id_item?: string,
5126
+ indice_opcion?: number,
5127
+ contenido_json?: object | null,
5128
+ es_correcta?: boolean,
5129
+ explicacion?: string | null,
5130
+
5131
+ })[],
5132
+
5133
+ })[],
5134
+
5135
+ },
4615
5136
 
4616
5137
  }` Preguntas de práctica para la temática
4617
5138
  */
@@ -4629,8 +5150,39 @@ export namespace V1 {
4629
5150
  export type RequestBody = never;
4630
5151
  export type RequestHeaders = {};
4631
5152
  export type ResponseBody = {
5153
+ /** @example true */
4632
5154
  ok?: boolean;
4633
- data?: object;
5155
+ data?: {
5156
+ materia?: {
5157
+ id_materia?: string;
5158
+ nombre?: string;
5159
+ institution_type?: string | null;
5160
+ };
5161
+ tematica?: {
5162
+ texto?: string;
5163
+ };
5164
+ preguntas?: {
5165
+ /** @format uuid */
5166
+ id_item?: string;
5167
+ enunciado?: string;
5168
+ indice_respuesta?: number;
5169
+ id_clasificacion?: string;
5170
+ id_estimulo?: string | null;
5171
+ metadata?: object | null;
5172
+ ai_generated?: boolean;
5173
+ /** Registro del contexto asociado cuando existe coincidencia en contextos. */
5174
+ estimulo?: object | null;
5175
+ /** Primera imagen encontrada para la pregunta cuando aplica. */
5176
+ imagen?: object | null;
5177
+ opciones?: {
5178
+ id_item?: string;
5179
+ indice_opcion?: number;
5180
+ contenido_json?: object | null;
5181
+ es_correcta?: boolean;
5182
+ explicacion?: string | null;
5183
+ }[];
5184
+ }[];
5185
+ };
4634
5186
  };
4635
5187
  }
4636
5188
 
@@ -4822,41 +5374,15 @@ export namespace V1 {
4822
5374
  /** Preguntas agrupadas por contexto/estímulo *\/
4823
5375
  grupos?: ({
4824
5376
  /** Texto del contexto/estímulo compartido. null si no hay contexto. *\/
4825
- id_estimulo?: string | null,
4826
- /** Representación visual del contexto (imagen, gráfica o tabla). Misma estructura que en diagnóstico/start. null si es solo texto. *\/
5377
+ contexto?: string | null,
5378
+ /** Representación visual del contexto (imagen, gráfica o tabla). null si es solo texto. *\/
4827
5379
  representacion_visual_id_estimulo?: {
4828
- tipo?: "tabla" | "grafica" | "imagen",
5380
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
4829
5381
  version?: "v1",
4830
- descripcion?: string,
4831
5382
  tabla_markdown?: string | null,
4832
- /** Estructura de gráfica. Ver diagnóstico/start para detalle completo. *\/
4833
- grafica_json?: {
4834
- chart_type?: "bar" | "line" | "scatter" | "area",
4835
- x?: {
4836
- label?: string,
4837
- unit?: string | null,
4838
- values?: ((string | number))[],
4839
-
4840
- },
4841
- y?: {
4842
- label?: string,
4843
- unit?: string | null,
4844
-
4845
- },
4846
- series?: ({
4847
- name?: string,
4848
- data?: (number)[],
4849
-
4850
- })[],
4851
- annotations?: ({
4852
- type?: "reference_line",
4853
- axis?: "x" | "y",
4854
- value?: (number | string),
4855
- label?: string,
4856
-
4857
- })[],
4858
-
4859
- },
5383
+ /** Estructura de gráfica serializada. *\/
5384
+ grafica_json?: object | null,
5385
+ imagen_url?: string | null,
4860
5386
  imagen_alt?: string | null,
4861
5387
  imagen_svg?: string | null,
4862
5388
 
@@ -4867,6 +5393,16 @@ export namespace V1 {
4867
5393
  enunciado?: string,
4868
5394
  id_clasificacion?: string,
4869
5395
  metadata?: object | null,
5396
+ representacion_visual_enunciado?: {
5397
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
5398
+ version?: "v1",
5399
+ tabla_markdown?: string | null,
5400
+ grafica_json?: object | null,
5401
+ imagen_url?: string | null,
5402
+ imagen_alt?: string | null,
5403
+ imagen_svg?: string | null,
5404
+
5405
+ },
4870
5406
  imagenes?: ({
4871
5407
  url?: string,
4872
5408
  alt?: string,
@@ -4881,6 +5417,7 @@ export namespace V1 {
4881
5417
  texto?: string,
4882
5418
 
4883
5419
  },
5420
+ texto?: string,
4884
5421
  imagenes?: ({
4885
5422
  url?: string,
4886
5423
  alt?: string,
@@ -4922,36 +5459,15 @@ export namespace V1 {
4922
5459
  /** Preguntas agrupadas por contexto/estímulo */
4923
5460
  grupos?: {
4924
5461
  /** Texto del contexto/estímulo compartido. null si no hay contexto. */
4925
- id_estimulo?: string | null;
4926
- /** Representación visual del contexto (imagen, gráfica o tabla). Misma estructura que en diagnóstico/start. null si es solo texto. */
5462
+ contexto?: string | null;
5463
+ /** Representación visual del contexto (imagen, gráfica o tabla). null si es solo texto. */
4927
5464
  representacion_visual_id_estimulo?: {
4928
- tipo?: "tabla" | "grafica" | "imagen";
5465
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
4929
5466
  version?: "v1";
4930
- descripcion?: string;
4931
5467
  tabla_markdown?: string | null;
4932
- /** Estructura de gráfica. Ver diagnóstico/start para detalle completo. */
4933
- grafica_json?: {
4934
- chart_type?: "bar" | "line" | "scatter" | "area";
4935
- x?: {
4936
- label?: string;
4937
- unit?: string | null;
4938
- values?: (string | number)[];
4939
- };
4940
- y?: {
4941
- label?: string;
4942
- unit?: string | null;
4943
- };
4944
- series?: {
4945
- name?: string;
4946
- data?: number[];
4947
- }[];
4948
- annotations?: {
4949
- type?: "reference_line";
4950
- axis?: "x" | "y";
4951
- value?: number | string;
4952
- label?: string;
4953
- }[];
4954
- };
5468
+ /** Estructura de gráfica serializada. */
5469
+ grafica_json?: object | null;
5470
+ imagen_url?: string | null;
4955
5471
  imagen_alt?: string | null;
4956
5472
  imagen_svg?: string | null;
4957
5473
  };
@@ -4961,6 +5477,15 @@ export namespace V1 {
4961
5477
  enunciado?: string;
4962
5478
  id_clasificacion?: string;
4963
5479
  metadata?: object | null;
5480
+ representacion_visual_enunciado?: {
5481
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
5482
+ version?: "v1";
5483
+ tabla_markdown?: string | null;
5484
+ grafica_json?: object | null;
5485
+ imagen_url?: string | null;
5486
+ imagen_alt?: string | null;
5487
+ imagen_svg?: string | null;
5488
+ };
4964
5489
  imagenes?: {
4965
5490
  url?: string;
4966
5491
  alt?: string;
@@ -4973,6 +5498,7 @@ export namespace V1 {
4973
5498
  contenido_json?: {
4974
5499
  texto?: string;
4975
5500
  };
5501
+ texto?: string;
4976
5502
  imagenes?: {
4977
5503
  url?: string;
4978
5504
  alt?: string;
@@ -5168,7 +5694,7 @@ export namespace V1 {
5168
5694
  },
5169
5695
  /** Preguntas agrupadas por contexto con respuestas correctas reveladas *\/
5170
5696
  grupos?: ({
5171
- id_estimulo?: string | null,
5697
+ contexto?: string | null,
5172
5698
  /** Misma estructura que en missions/start *\/
5173
5699
  representacion_visual_id_estimulo?: object | null,
5174
5700
  items?: ({
@@ -5179,6 +5705,8 @@ export namespace V1 {
5179
5705
  indice_respuesta?: number,
5180
5706
  id_clasificacion?: string,
5181
5707
  metadata?: object | null,
5708
+ /** Representación visual del enunciado si aplica. *\/
5709
+ representacion_visual_enunciado?: object | null,
5182
5710
  imagenes?: ({
5183
5711
  url?: string,
5184
5712
  alt?: string,
@@ -5192,6 +5720,7 @@ export namespace V1 {
5192
5720
  texto?: string,
5193
5721
 
5194
5722
  },
5723
+ texto?: string,
5195
5724
  es_correcta?: boolean,
5196
5725
  explicacion?: string | null,
5197
5726
  imagenes?: ({
@@ -5249,7 +5778,7 @@ export namespace V1 {
5249
5778
  };
5250
5779
  /** Preguntas agrupadas por contexto con respuestas correctas reveladas */
5251
5780
  grupos?: {
5252
- id_estimulo?: string | null;
5781
+ contexto?: string | null;
5253
5782
  /** Misma estructura que en missions/start */
5254
5783
  representacion_visual_id_estimulo?: object | null;
5255
5784
  items?: {
@@ -5260,6 +5789,8 @@ export namespace V1 {
5260
5789
  indice_respuesta?: number;
5261
5790
  id_clasificacion?: string;
5262
5791
  metadata?: object | null;
5792
+ /** Representación visual del enunciado si aplica. */
5793
+ representacion_visual_enunciado?: object | null;
5263
5794
  imagenes?: {
5264
5795
  url?: string;
5265
5796
  alt?: string;
@@ -5271,6 +5802,7 @@ export namespace V1 {
5271
5802
  contenido_json?: {
5272
5803
  texto?: string;
5273
5804
  };
5805
+ texto?: string;
5274
5806
  es_correcta?: boolean;
5275
5807
  explicacion?: string | null;
5276
5808
  imagenes?: {
@@ -6240,9 +6772,18 @@ export namespace V1 {
6240
6772
  status?: string,
6241
6773
  /** Preguntas agrupadas por contexto/estímulo *\/
6242
6774
  grupos?: ({
6243
- id_estimulo?: string | null,
6244
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). *\/
6245
- representacion_visual_id_estimulo?: object | null,
6775
+ contexto?: string | null,
6776
+ /** Representación visual del contexto. Misma estructura que en diagnóstico/start actual (tipo, version, tabla_markdown, grafica_json, imagen_url, imagen_svg, imagen_alt). *\/
6777
+ representacion_visual_id_estimulo?: {
6778
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
6779
+ version?: "v1",
6780
+ tabla_markdown?: string | null,
6781
+ grafica_json?: object | null,
6782
+ imagen_url?: string | null,
6783
+ imagen_svg?: string | null,
6784
+ imagen_alt?: string | null,
6785
+
6786
+ },
6246
6787
  items?: ({
6247
6788
  /** @format uuid *\/
6248
6789
  id_item?: string,
@@ -6252,6 +6793,16 @@ export namespace V1 {
6252
6793
  materia_nombre?: string | null,
6253
6794
  metadata?: object | null,
6254
6795
  ai_generated?: boolean,
6796
+ representacion_visual_enunciado?: {
6797
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
6798
+ version?: "v1",
6799
+ tabla_markdown?: string | null,
6800
+ grafica_json?: object | null,
6801
+ imagen_url?: string | null,
6802
+ imagen_svg?: string | null,
6803
+ imagen_alt?: string | null,
6804
+
6805
+ },
6255
6806
  imagenes?: (object)[],
6256
6807
  /** Opciones sin es_correcta ni explicacion. Incluye id_item del parent. *\/
6257
6808
  opciones?: ({
@@ -6262,6 +6813,7 @@ export namespace V1 {
6262
6813
  texto?: string,
6263
6814
 
6264
6815
  },
6816
+ texto?: string,
6265
6817
  imagenes?: (object)[],
6266
6818
 
6267
6819
  })[],
@@ -6307,9 +6859,17 @@ export namespace V1 {
6307
6859
  status?: string;
6308
6860
  /** Preguntas agrupadas por contexto/estímulo */
6309
6861
  grupos?: {
6310
- id_estimulo?: string | null;
6311
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). */
6312
- representacion_visual_id_estimulo?: object | null;
6862
+ contexto?: string | null;
6863
+ /** Representación visual del contexto. Misma estructura que en diagnóstico/start actual (tipo, version, tabla_markdown, grafica_json, imagen_url, imagen_svg, imagen_alt). */
6864
+ representacion_visual_id_estimulo?: {
6865
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
6866
+ version?: "v1";
6867
+ tabla_markdown?: string | null;
6868
+ grafica_json?: object | null;
6869
+ imagen_url?: string | null;
6870
+ imagen_svg?: string | null;
6871
+ imagen_alt?: string | null;
6872
+ };
6313
6873
  items?: {
6314
6874
  /** @format uuid */
6315
6875
  id_item?: string;
@@ -6319,6 +6879,15 @@ export namespace V1 {
6319
6879
  materia_nombre?: string | null;
6320
6880
  metadata?: object | null;
6321
6881
  ai_generated?: boolean;
6882
+ representacion_visual_enunciado?: {
6883
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia";
6884
+ version?: "v1";
6885
+ tabla_markdown?: string | null;
6886
+ grafica_json?: object | null;
6887
+ imagen_url?: string | null;
6888
+ imagen_svg?: string | null;
6889
+ imagen_alt?: string | null;
6890
+ };
6322
6891
  imagenes?: object[];
6323
6892
  /** Opciones sin es_correcta ni explicacion. Incluye id_item del parent. */
6324
6893
  opciones?: {
@@ -6328,6 +6897,7 @@ export namespace V1 {
6328
6897
  contenido_json?: {
6329
6898
  texto?: string;
6330
6899
  };
6900
+ texto?: string;
6331
6901
  imagenes?: object[];
6332
6902
  }[];
6333
6903
  }[];
@@ -6922,24 +7492,124 @@ export class Api<
6922
7492
  }),
6923
7493
 
6924
7494
  /**
6925
- * No description
6926
- *
6927
- * @tags trainer
6928
- * @name GetQuestionsByClasificacion
6929
- * @summary Obtener preguntas AI generadas por clasificación (agrupadas por contexto)
6930
- * @request GET:/v1/trainer/questions
6931
- * @response `200` `void` Questions retrieved successfully, grouped by context
6932
- */
7495
+ * No description
7496
+ *
7497
+ * @tags trainer
7498
+ * @name GetQuestionsByClasificacion
7499
+ * @summary Obtener preguntas AI generadas por clasificación (agrupadas por contexto)
7500
+ * @request GET:/v1/trainer/questions
7501
+ * @response `200` `{
7502
+ modelo_llm?: string,
7503
+ grupos?: ({
7504
+ contexto?: string | null,
7505
+ representacion_visual_id_estimulo?: {
7506
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
7507
+ version?: "v1",
7508
+ tabla_markdown?: string | null,
7509
+ grafica_json?: object | null,
7510
+ imagen_url?: string | null,
7511
+ imagen_svg?: string | null,
7512
+ imagen_alt?: string | null,
7513
+
7514
+ },
7515
+ items?: ({
7516
+ /** @format uuid *\/
7517
+ id_item?: string,
7518
+ ai_generated?: boolean,
7519
+ enunciado?: string,
7520
+ opciones?: ({
7521
+ indice_opcion?: number,
7522
+ contenido_json?: object | null,
7523
+ texto?: string,
7524
+ es_correcta?: boolean,
7525
+ explicacion?: string | null,
7526
+
7527
+ })[],
7528
+ indice_respuesta?: number,
7529
+ justificacion?: string | null,
7530
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null,
7531
+ representacion_visual_enunciado?: {
7532
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
7533
+ version?: "v1",
7534
+ tabla_markdown?: string | null,
7535
+ grafica_json?: object | null,
7536
+ imagen_url?: string | null,
7537
+ imagen_svg?: string | null,
7538
+ imagen_alt?: string | null,
7539
+
7540
+ },
7541
+ id_clasificacion?: string,
7542
+
7543
+ })[],
7544
+
7545
+ })[],
7546
+
7547
+ }` Questions retrieved successfully, grouped by context
7548
+ */
6933
7549
  getQuestionsByClasificacion: (
6934
7550
  query: {
6935
7551
  id_clasificacion: string;
6936
7552
  },
6937
7553
  params: RequestParams = {},
6938
7554
  ) =>
6939
- this.request<void, any>({
7555
+ this.request<
7556
+ {
7557
+ modelo_llm?: string;
7558
+ grupos?: {
7559
+ contexto?: string | null;
7560
+ representacion_visual_id_estimulo?: {
7561
+ tipo?:
7562
+ | "tabla"
7563
+ | "grafica"
7564
+ | "imagen"
7565
+ | "caricatura"
7566
+ | "infografia";
7567
+ version?: "v1";
7568
+ tabla_markdown?: string | null;
7569
+ grafica_json?: object | null;
7570
+ imagen_url?: string | null;
7571
+ imagen_svg?: string | null;
7572
+ imagen_alt?: string | null;
7573
+ };
7574
+ items?: {
7575
+ /** @format uuid */
7576
+ id_item?: string;
7577
+ ai_generated?: boolean;
7578
+ enunciado?: string;
7579
+ opciones?: {
7580
+ indice_opcion?: number;
7581
+ contenido_json?: object | null;
7582
+ texto?: string;
7583
+ es_correcta?: boolean;
7584
+ explicacion?: string | null;
7585
+ }[];
7586
+ indice_respuesta?: number;
7587
+ justificacion?: string | null;
7588
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null;
7589
+ representacion_visual_enunciado?: {
7590
+ tipo?:
7591
+ | "tabla"
7592
+ | "grafica"
7593
+ | "imagen"
7594
+ | "caricatura"
7595
+ | "infografia";
7596
+ version?: "v1";
7597
+ tabla_markdown?: string | null;
7598
+ grafica_json?: object | null;
7599
+ imagen_url?: string | null;
7600
+ imagen_svg?: string | null;
7601
+ imagen_alt?: string | null;
7602
+ };
7603
+ id_clasificacion?: string;
7604
+ }[];
7605
+ }[];
7606
+ },
7607
+ any
7608
+ >({
6940
7609
  path: `/v1/trainer/questions`,
6941
7610
  method: "GET",
6942
7611
  query: query,
7612
+ format: "json",
6943
7613
  ...params,
6944
7614
  }),
6945
7615
 
@@ -6951,16 +7621,168 @@ export class Api<
6951
7621
  * @summary Obtener detalle de una pregunta por ID (id_item)
6952
7622
  * @request GET:/v1/trainer/questions/{id}
6953
7623
  * @response `200` `{
7624
+ /** @example true *\/
6954
7625
  ok?: boolean,
6955
- data?: object,
7626
+ data?: {
7627
+ question?: {
7628
+ /** @format uuid *\/
7629
+ id_item?: string,
7630
+ id_clasificacion?: string,
7631
+ nombre_pregunta?: string | null,
7632
+ enunciado?: string,
7633
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null,
7634
+ estado_revision?: string | null,
7635
+ ai_generated?: boolean,
7636
+ created_at?: string,
7637
+ indice_respuesta?: number,
7638
+ justificacion?: string | null,
7639
+ metadata?: object | null,
7640
+ representacion_visual_enunciado?: {
7641
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
7642
+ version?: "v1",
7643
+ tabla_markdown?: string | null,
7644
+ grafica_json?: object | null,
7645
+ imagen_url?: string | null,
7646
+ imagen_svg?: string | null,
7647
+ imagen_alt?: string | null,
7648
+
7649
+ },
7650
+ imagenes?: ({
7651
+ url?: string,
7652
+ alt?: string | null,
7653
+ orden?: number | null,
7654
+
7655
+ })[],
7656
+ opciones?: ({
7657
+ indice_opcion?: number,
7658
+ contenido_json?: object | null,
7659
+ texto?: string,
7660
+ es_correcta?: boolean,
7661
+ explicacion?: string | null,
7662
+ imagenes?: ({
7663
+ url?: string,
7664
+ alt?: string | null,
7665
+ orden?: number | null,
7666
+
7667
+ })[],
7668
+
7669
+ })[],
7670
+
7671
+ },
7672
+ shared_context?: {
7673
+ contexto?: string | null,
7674
+ representacion_visual_id_estimulo?: {
7675
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
7676
+ version?: "v1",
7677
+ tabla_markdown?: string | null,
7678
+ grafica_json?: object | null,
7679
+ imagen_url?: string | null,
7680
+ imagen_svg?: string | null,
7681
+ imagen_alt?: string | null,
7682
+
7683
+ },
7684
+ group_info?: {
7685
+ total_questions?: number,
7686
+ current_question_index?: number,
7687
+ is_first_question?: boolean,
7688
+
7689
+ },
7690
+ related_questions?: ({
7691
+ /** @format uuid *\/
7692
+ id_item?: string,
7693
+ nombre_pregunta?: string,
7694
+ order_in_group?: number,
7695
+ is_current?: boolean,
7696
+
7697
+ })[],
7698
+
7699
+ },
7700
+
7701
+ },
6956
7702
 
6957
7703
  }` Detalle de la pregunta con opciones
6958
7704
  */
6959
7705
  getQuestionById: (id: string, params: RequestParams = {}) =>
6960
7706
  this.request<
6961
7707
  {
7708
+ /** @example true */
6962
7709
  ok?: boolean;
6963
- data?: object;
7710
+ data?: {
7711
+ question?: {
7712
+ /** @format uuid */
7713
+ id_item?: string;
7714
+ id_clasificacion?: string;
7715
+ nombre_pregunta?: string | null;
7716
+ enunciado?: string;
7717
+ dificultad?: "NIVEL 1" | "NIVEL 2" | "NIVEL 3" | "NIVEL 4" | null;
7718
+ estado_revision?: string | null;
7719
+ ai_generated?: boolean;
7720
+ created_at?: string;
7721
+ indice_respuesta?: number;
7722
+ justificacion?: string | null;
7723
+ metadata?: object | null;
7724
+ representacion_visual_enunciado?: {
7725
+ tipo?:
7726
+ | "tabla"
7727
+ | "grafica"
7728
+ | "imagen"
7729
+ | "caricatura"
7730
+ | "infografia";
7731
+ version?: "v1";
7732
+ tabla_markdown?: string | null;
7733
+ grafica_json?: object | null;
7734
+ imagen_url?: string | null;
7735
+ imagen_svg?: string | null;
7736
+ imagen_alt?: string | null;
7737
+ };
7738
+ imagenes?: {
7739
+ url?: string;
7740
+ alt?: string | null;
7741
+ orden?: number | null;
7742
+ }[];
7743
+ opciones?: {
7744
+ indice_opcion?: number;
7745
+ contenido_json?: object | null;
7746
+ texto?: string;
7747
+ es_correcta?: boolean;
7748
+ explicacion?: string | null;
7749
+ imagenes?: {
7750
+ url?: string;
7751
+ alt?: string | null;
7752
+ orden?: number | null;
7753
+ }[];
7754
+ }[];
7755
+ };
7756
+ shared_context?: {
7757
+ contexto?: string | null;
7758
+ representacion_visual_id_estimulo?: {
7759
+ tipo?:
7760
+ | "tabla"
7761
+ | "grafica"
7762
+ | "imagen"
7763
+ | "caricatura"
7764
+ | "infografia";
7765
+ version?: "v1";
7766
+ tabla_markdown?: string | null;
7767
+ grafica_json?: object | null;
7768
+ imagen_url?: string | null;
7769
+ imagen_svg?: string | null;
7770
+ imagen_alt?: string | null;
7771
+ };
7772
+ group_info?: {
7773
+ total_questions?: number;
7774
+ current_question_index?: number;
7775
+ is_first_question?: boolean;
7776
+ };
7777
+ related_questions?: {
7778
+ /** @format uuid */
7779
+ id_item?: string;
7780
+ nombre_pregunta?: string;
7781
+ order_in_group?: number;
7782
+ is_current?: boolean;
7783
+ }[];
7784
+ };
7785
+ };
6964
7786
  },
6965
7787
  any
6966
7788
  >({
@@ -7231,8 +8053,43 @@ export class Api<
7231
8053
  * @request GET:/v1/trainer/preguntas
7232
8054
  * @secure
7233
8055
  * @response `200` `{
8056
+ /** @example true *\/
7234
8057
  ok?: boolean,
7235
- data?: (object)[],
8058
+ data?: ({
8059
+ /** @format uuid *\/
8060
+ id_item?: string,
8061
+ enunciado?: string,
8062
+ indice_respuesta?: number,
8063
+ id_clasificacion?: string,
8064
+ id_estimulo?: string | null,
8065
+ metadata?: object | null,
8066
+ ai_generated?: boolean,
8067
+ justificacion?: string | null,
8068
+ created_at?: string,
8069
+ imagenes?: ({
8070
+ id_item?: string,
8071
+ url?: string,
8072
+ alt?: string | null,
8073
+ orden?: number | null,
8074
+
8075
+ })[],
8076
+ opciones?: ({
8077
+ id_item?: string,
8078
+ indice_opcion?: number,
8079
+ contenido_json?: object | null,
8080
+ es_correcta?: boolean,
8081
+ imagenes?: ({
8082
+ id_item?: string,
8083
+ indice_opcion?: number,
8084
+ url?: string,
8085
+ alt?: string | null,
8086
+ orden?: number | null,
8087
+
8088
+ })[],
8089
+
8090
+ })[],
8091
+
8092
+ })[],
7236
8093
 
7237
8094
  }` Lista de preguntas agrupadas por clasificación
7238
8095
  */
@@ -7245,8 +8102,39 @@ export class Api<
7245
8102
  ) =>
7246
8103
  this.request<
7247
8104
  {
8105
+ /** @example true */
7248
8106
  ok?: boolean;
7249
- data?: object[];
8107
+ data?: {
8108
+ /** @format uuid */
8109
+ id_item?: string;
8110
+ enunciado?: string;
8111
+ indice_respuesta?: number;
8112
+ id_clasificacion?: string;
8113
+ id_estimulo?: string | null;
8114
+ metadata?: object | null;
8115
+ ai_generated?: boolean;
8116
+ justificacion?: string | null;
8117
+ created_at?: string;
8118
+ imagenes?: {
8119
+ id_item?: string;
8120
+ url?: string;
8121
+ alt?: string | null;
8122
+ orden?: number | null;
8123
+ }[];
8124
+ opciones?: {
8125
+ id_item?: string;
8126
+ indice_opcion?: number;
8127
+ contenido_json?: object | null;
8128
+ es_correcta?: boolean;
8129
+ imagenes?: {
8130
+ id_item?: string;
8131
+ indice_opcion?: number;
8132
+ url?: string;
8133
+ alt?: string | null;
8134
+ orden?: number | null;
8135
+ }[];
8136
+ }[];
8137
+ }[];
7250
8138
  },
7251
8139
  any
7252
8140
  >({
@@ -8565,7 +9453,7 @@ export class Api<
8565
9453
  * Texto completo del contexto/estímulo asociado al grupo de preguntas. Puede ser un párrafo de lectura, un enunciado de situación, un texto en inglés, etc. Es null cuando las preguntas no tienen contexto compartido.
8566
9454
  * @example "En una bodega, un trabajador observa un carro de carga sobre el piso. Sobre el carro actúan tres fuerzas en dirección horizontal..."
8567
9455
  *\/
8568
- id_estimulo?: string | null,
9456
+ contexto?: string | null,
8569
9457
  /** Representación visual del contexto. Presente cuando el contexto tiene una imagen, gráfica o tabla asociada. null si el contexto es solo texto. *\/
8570
9458
  representacion_visual_id_estimulo?: {
8571
9459
  /**
@@ -8578,6 +9466,11 @@ export class Api<
8578
9466
  * @example "v1"
8579
9467
  *\/
8580
9468
  version?: string,
9469
+ /**
9470
+ * URL pública de la imagen cuando existe asset persistido
9471
+ * @example "https://example.supabase.co/storage/v1/object/public/preguntas/img.png"
9472
+ *\/
9473
+ imagen_url?: string | null,
8581
9474
  /**
8582
9475
  * Texto alternativo descriptivo de la imagen
8583
9476
  * @example "Un carro representado como un rectángulo. Dos flechas hacia la derecha etiquetadas 25 N y 10 N. Una flecha hacia la izquierda etiquetada 50 N."
@@ -8691,6 +9584,17 @@ export class Api<
8691
9584
  /** Representación visual del enunciado de la pregunta (misma estructura que representacion_visual_id_estimulo) *\/
8692
9585
  representacion_visual_enunciado?: object | null,
8693
9586
 
9587
+ },
9588
+ /** Representación visual del enunciado de la pregunta, ya extraída al nivel superior. *\/
9589
+ representacion_visual_enunciado?: {
9590
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
9591
+ version?: "v1",
9592
+ tabla_markdown?: string | null,
9593
+ grafica_json?: object | null,
9594
+ imagen_url?: string | null,
9595
+ imagen_svg?: string | null,
9596
+ imagen_alt?: string | null,
9597
+
8694
9598
  },
8695
9599
  /** Imágenes directas de la pregunta. Array vacío si no tiene imágenes. *\/
8696
9600
  imagenes?: ({
@@ -8718,6 +9622,11 @@ export class Api<
8718
9622
  texto?: string,
8719
9623
 
8720
9624
  },
9625
+ /**
9626
+ * Texto plano extraído desde contenido_json.texto
9627
+ * @example "la fuerza de la cuerda por sí sola es capaz de mover el carro hacia la izquierda, sin considerar las demás fuerzas."
9628
+ *\/
9629
+ texto?: string,
8721
9630
  /** Imágenes de la opción. Array vacío si la opción no tiene imágenes. *\/
8722
9631
  imagenes?: ({
8723
9632
  url?: string,
@@ -8759,7 +9668,7 @@ export class Api<
8759
9668
  * Texto completo del contexto/estímulo asociado al grupo de preguntas. Puede ser un párrafo de lectura, un enunciado de situación, un texto en inglés, etc. Es null cuando las preguntas no tienen contexto compartido.
8760
9669
  * @example "En una bodega, un trabajador observa un carro de carga sobre el piso. Sobre el carro actúan tres fuerzas en dirección horizontal..."
8761
9670
  */
8762
- id_estimulo?: string | null;
9671
+ contexto?: string | null;
8763
9672
  /** Representación visual del contexto. Presente cuando el contexto tiene una imagen, gráfica o tabla asociada. null si el contexto es solo texto. */
8764
9673
  representacion_visual_id_estimulo?: {
8765
9674
  /**
@@ -8772,6 +9681,11 @@ export class Api<
8772
9681
  * @example "v1"
8773
9682
  */
8774
9683
  version?: string;
9684
+ /**
9685
+ * URL pública de la imagen cuando existe asset persistido
9686
+ * @example "https://example.supabase.co/storage/v1/object/public/preguntas/img.png"
9687
+ */
9688
+ imagen_url?: string | null;
8775
9689
  /**
8776
9690
  * Texto alternativo descriptivo de la imagen
8777
9691
  * @example "Un carro representado como un rectángulo. Dos flechas hacia la derecha etiquetadas 25 N y 10 N. Una flecha hacia la izquierda etiquetada 50 N."
@@ -8879,6 +9793,21 @@ export class Api<
8879
9793
  /** Representación visual del enunciado de la pregunta (misma estructura que representacion_visual_id_estimulo) */
8880
9794
  representacion_visual_enunciado?: object | null;
8881
9795
  };
9796
+ /** Representación visual del enunciado de la pregunta, ya extraída al nivel superior. */
9797
+ representacion_visual_enunciado?: {
9798
+ tipo?:
9799
+ | "tabla"
9800
+ | "grafica"
9801
+ | "imagen"
9802
+ | "caricatura"
9803
+ | "infografia";
9804
+ version?: "v1";
9805
+ tabla_markdown?: string | null;
9806
+ grafica_json?: object | null;
9807
+ imagen_url?: string | null;
9808
+ imagen_svg?: string | null;
9809
+ imagen_alt?: string | null;
9810
+ };
8882
9811
  /** Imágenes directas de la pregunta. Array vacío si no tiene imágenes. */
8883
9812
  imagenes?: {
8884
9813
  /** URL de la imagen */
@@ -8903,6 +9832,11 @@ export class Api<
8903
9832
  */
8904
9833
  texto?: string;
8905
9834
  };
9835
+ /**
9836
+ * Texto plano extraído desde contenido_json.texto
9837
+ * @example "la fuerza de la cuerda por sí sola es capaz de mover el carro hacia la izquierda, sin considerar las demás fuerzas."
9838
+ */
9839
+ texto?: string;
8906
9840
  /** Imágenes de la opción. Array vacío si la opción no tiene imágenes. */
8907
9841
  imagenes?: {
8908
9842
  url?: string;
@@ -9716,14 +10650,21 @@ export class Api<
9716
10650
  query?: {
9717
10651
  /**
9718
10652
  * Página (default 1)
10653
+ * @min 1
10654
+ * @default 1
9719
10655
  * @example 1
9720
10656
  */
9721
10657
  page?: number;
9722
10658
  /**
9723
10659
  * Resultados por página (default 50)
10660
+ * @min 1
10661
+ * @max 100
10662
+ * @default 50
9724
10663
  * @example 50
9725
10664
  */
9726
10665
  perPage?: number;
10666
+ /** Orden primario del leaderboard (default score) */
10667
+ sortBy?: "score" | "xp";
9727
10668
  },
9728
10669
  params: RequestParams = {},
9729
10670
  ) =>
@@ -10161,9 +11102,18 @@ export class Api<
10161
11102
  estado?: string,
10162
11103
  /** Preguntas agrupadas por contexto/estímulo *\/
10163
11104
  grupos?: ({
10164
- id_estimulo?: string | null,
10165
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). *\/
10166
- representacion_visual_id_estimulo?: object | null,
11105
+ contexto?: string | null,
11106
+ /** Representación visual del contexto. Misma estructura actual que diagnóstico/start. *\/
11107
+ representacion_visual_id_estimulo?: {
11108
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
11109
+ version?: "v1",
11110
+ tabla_markdown?: string | null,
11111
+ grafica_json?: object | null,
11112
+ imagen_url?: string | null,
11113
+ imagen_svg?: string | null,
11114
+ imagen_alt?: string | null,
11115
+
11116
+ },
10167
11117
  items?: ({
10168
11118
  /** @format uuid *\/
10169
11119
  id_item?: string,
@@ -10172,6 +11122,16 @@ export class Api<
10172
11122
  id_materia?: string | null,
10173
11123
  materia_nombre?: string | null,
10174
11124
  metadata?: object | null,
11125
+ representacion_visual_enunciado?: {
11126
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
11127
+ version?: "v1",
11128
+ tabla_markdown?: string | null,
11129
+ grafica_json?: object | null,
11130
+ imagen_url?: string | null,
11131
+ imagen_svg?: string | null,
11132
+ imagen_alt?: string | null,
11133
+
11134
+ },
10175
11135
  imagenes?: ({
10176
11136
  url?: string,
10177
11137
  alt?: string,
@@ -10185,6 +11145,7 @@ export class Api<
10185
11145
  texto?: string,
10186
11146
 
10187
11147
  },
11148
+ texto?: string,
10188
11149
  imagenes?: ({
10189
11150
  url?: string,
10190
11151
  alt?: string,
@@ -10216,9 +11177,22 @@ export class Api<
10216
11177
  estado?: string;
10217
11178
  /** Preguntas agrupadas por contexto/estímulo */
10218
11179
  grupos?: {
10219
- id_estimulo?: string | null;
10220
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). */
10221
- representacion_visual_id_estimulo?: object | null;
11180
+ contexto?: string | null;
11181
+ /** Representación visual del contexto. Misma estructura actual que diagnóstico/start. */
11182
+ representacion_visual_id_estimulo?: {
11183
+ tipo?:
11184
+ | "tabla"
11185
+ | "grafica"
11186
+ | "imagen"
11187
+ | "caricatura"
11188
+ | "infografia";
11189
+ version?: "v1";
11190
+ tabla_markdown?: string | null;
11191
+ grafica_json?: object | null;
11192
+ imagen_url?: string | null;
11193
+ imagen_svg?: string | null;
11194
+ imagen_alt?: string | null;
11195
+ };
10222
11196
  items?: {
10223
11197
  /** @format uuid */
10224
11198
  id_item?: string;
@@ -10227,6 +11201,20 @@ export class Api<
10227
11201
  id_materia?: string | null;
10228
11202
  materia_nombre?: string | null;
10229
11203
  metadata?: object | null;
11204
+ representacion_visual_enunciado?: {
11205
+ tipo?:
11206
+ | "tabla"
11207
+ | "grafica"
11208
+ | "imagen"
11209
+ | "caricatura"
11210
+ | "infografia";
11211
+ version?: "v1";
11212
+ tabla_markdown?: string | null;
11213
+ grafica_json?: object | null;
11214
+ imagen_url?: string | null;
11215
+ imagen_svg?: string | null;
11216
+ imagen_alt?: string | null;
11217
+ };
10230
11218
  imagenes?: {
10231
11219
  url?: string;
10232
11220
  alt?: string;
@@ -10238,6 +11226,7 @@ export class Api<
10238
11226
  contenido_json?: {
10239
11227
  texto?: string;
10240
11228
  };
11229
+ texto?: string;
10241
11230
  imagenes?: {
10242
11231
  url?: string;
10243
11232
  alt?: string;
@@ -10272,7 +11261,7 @@ export class Api<
10272
11261
  clasificacion?: object,
10273
11262
  /** Preguntas agrupadas por contexto con respuestas reveladas *\/
10274
11263
  grupos?: ({
10275
- id_estimulo?: string | null,
11264
+ contexto?: string | null,
10276
11265
  /** Representación visual del contexto. Misma estructura que en diagnóstico/start. *\/
10277
11266
  representacion_visual_id_estimulo?: object | null,
10278
11267
  items?: ({
@@ -10284,6 +11273,8 @@ export class Api<
10284
11273
  id_materia?: string,
10285
11274
  materia_nombre?: string,
10286
11275
  metadata?: object | null,
11276
+ /** Representación visual del enunciado si aplica. *\/
11277
+ representacion_visual_enunciado?: object | null,
10287
11278
  /** true si es Comunicación Escrita *\/
10288
11279
  isOpenTextQuestion?: boolean,
10289
11280
  imagenes?: ({
@@ -10353,7 +11344,7 @@ export class Api<
10353
11344
  clasificacion?: object;
10354
11345
  /** Preguntas agrupadas por contexto con respuestas reveladas */
10355
11346
  grupos?: {
10356
- id_estimulo?: string | null;
11347
+ contexto?: string | null;
10357
11348
  /** Representación visual del contexto. Misma estructura que en diagnóstico/start. */
10358
11349
  representacion_visual_id_estimulo?: object | null;
10359
11350
  items?: {
@@ -10365,6 +11356,8 @@ export class Api<
10365
11356
  id_materia?: string;
10366
11357
  materia_nombre?: string;
10367
11358
  metadata?: object | null;
11359
+ /** Representación visual del enunciado si aplica. */
11360
+ representacion_visual_enunciado?: object | null;
10368
11361
  /** true si es Comunicación Escrita */
10369
11362
  isOpenTextQuestion?: boolean;
10370
11363
  imagenes?: {
@@ -10733,8 +11726,50 @@ export class Api<
10733
11726
  * @request GET:/v1/exams/practice/{materiaId}
10734
11727
  * @secure
10735
11728
  * @response `200` `{
11729
+ /** @example true *\/
10736
11730
  ok?: boolean,
10737
- data?: object,
11731
+ data?: {
11732
+ materia?: {
11733
+ id_materia?: string,
11734
+ nombre?: string,
11735
+ institution_type?: string | null,
11736
+
11737
+ },
11738
+ preguntas?: ({
11739
+ /** @format uuid *\/
11740
+ id_item?: string,
11741
+ enunciado?: string,
11742
+ indice_respuesta?: number,
11743
+ id_clasificacion?: string,
11744
+ id_estimulo?: string | null,
11745
+ metadata?: object | null,
11746
+ ai_generated?: boolean,
11747
+ imagenes?: ({
11748
+ id_item?: string,
11749
+ url?: string,
11750
+ alt?: string | null,
11751
+ orden?: number | null,
11752
+
11753
+ })[],
11754
+ opciones?: ({
11755
+ id_item?: string,
11756
+ indice_opcion?: number,
11757
+ contenido_json?: object | null,
11758
+ es_correcta?: boolean,
11759
+ imagenes?: ({
11760
+ id_item?: string,
11761
+ indice_opcion?: number,
11762
+ url?: string,
11763
+ alt?: string | null,
11764
+ orden?: number | null,
11765
+
11766
+ })[],
11767
+
11768
+ })[],
11769
+
11770
+ })[],
11771
+
11772
+ },
10738
11773
 
10739
11774
  }` Preguntas de práctica para la materia
10740
11775
  */
@@ -10748,8 +11783,44 @@ export class Api<
10748
11783
  ) =>
10749
11784
  this.request<
10750
11785
  {
11786
+ /** @example true */
10751
11787
  ok?: boolean;
10752
- data?: object;
11788
+ data?: {
11789
+ materia?: {
11790
+ id_materia?: string;
11791
+ nombre?: string;
11792
+ institution_type?: string | null;
11793
+ };
11794
+ preguntas?: {
11795
+ /** @format uuid */
11796
+ id_item?: string;
11797
+ enunciado?: string;
11798
+ indice_respuesta?: number;
11799
+ id_clasificacion?: string;
11800
+ id_estimulo?: string | null;
11801
+ metadata?: object | null;
11802
+ ai_generated?: boolean;
11803
+ imagenes?: {
11804
+ id_item?: string;
11805
+ url?: string;
11806
+ alt?: string | null;
11807
+ orden?: number | null;
11808
+ }[];
11809
+ opciones?: {
11810
+ id_item?: string;
11811
+ indice_opcion?: number;
11812
+ contenido_json?: object | null;
11813
+ es_correcta?: boolean;
11814
+ imagenes?: {
11815
+ id_item?: string;
11816
+ indice_opcion?: number;
11817
+ url?: string;
11818
+ alt?: string | null;
11819
+ orden?: number | null;
11820
+ }[];
11821
+ }[];
11822
+ }[];
11823
+ };
10753
11824
  },
10754
11825
  any
10755
11826
  >({
@@ -10770,8 +11841,44 @@ export class Api<
10770
11841
  * @request GET:/v1/exams/practice/theme/{tematicaId}
10771
11842
  * @secure
10772
11843
  * @response `200` `{
11844
+ /** @example true *\/
10773
11845
  ok?: boolean,
10774
- data?: object,
11846
+ data?: {
11847
+ materia?: {
11848
+ id_materia?: string,
11849
+ nombre?: string,
11850
+ institution_type?: string | null,
11851
+
11852
+ },
11853
+ tematica?: {
11854
+ texto?: string,
11855
+
11856
+ },
11857
+ preguntas?: ({
11858
+ /** @format uuid *\/
11859
+ id_item?: string,
11860
+ enunciado?: string,
11861
+ indice_respuesta?: number,
11862
+ id_clasificacion?: string,
11863
+ id_estimulo?: string | null,
11864
+ metadata?: object | null,
11865
+ ai_generated?: boolean,
11866
+ /** Registro del contexto asociado cuando existe coincidencia en contextos. *\/
11867
+ estimulo?: object | null,
11868
+ /** Primera imagen encontrada para la pregunta cuando aplica. *\/
11869
+ imagen?: object | null,
11870
+ opciones?: ({
11871
+ id_item?: string,
11872
+ indice_opcion?: number,
11873
+ contenido_json?: object | null,
11874
+ es_correcta?: boolean,
11875
+ explicacion?: string | null,
11876
+
11877
+ })[],
11878
+
11879
+ })[],
11880
+
11881
+ },
10775
11882
 
10776
11883
  }` Preguntas de práctica para la temática
10777
11884
  */
@@ -10787,8 +11894,39 @@ export class Api<
10787
11894
  ) =>
10788
11895
  this.request<
10789
11896
  {
11897
+ /** @example true */
10790
11898
  ok?: boolean;
10791
- data?: object;
11899
+ data?: {
11900
+ materia?: {
11901
+ id_materia?: string;
11902
+ nombre?: string;
11903
+ institution_type?: string | null;
11904
+ };
11905
+ tematica?: {
11906
+ texto?: string;
11907
+ };
11908
+ preguntas?: {
11909
+ /** @format uuid */
11910
+ id_item?: string;
11911
+ enunciado?: string;
11912
+ indice_respuesta?: number;
11913
+ id_clasificacion?: string;
11914
+ id_estimulo?: string | null;
11915
+ metadata?: object | null;
11916
+ ai_generated?: boolean;
11917
+ /** Registro del contexto asociado cuando existe coincidencia en contextos. */
11918
+ estimulo?: object | null;
11919
+ /** Primera imagen encontrada para la pregunta cuando aplica. */
11920
+ imagen?: object | null;
11921
+ opciones?: {
11922
+ id_item?: string;
11923
+ indice_opcion?: number;
11924
+ contenido_json?: object | null;
11925
+ es_correcta?: boolean;
11926
+ explicacion?: string | null;
11927
+ }[];
11928
+ }[];
11929
+ };
10792
11930
  },
10793
11931
  any
10794
11932
  >({
@@ -10999,41 +12137,15 @@ export class Api<
10999
12137
  /** Preguntas agrupadas por contexto/estímulo *\/
11000
12138
  grupos?: ({
11001
12139
  /** Texto del contexto/estímulo compartido. null si no hay contexto. *\/
11002
- id_estimulo?: string | null,
11003
- /** Representación visual del contexto (imagen, gráfica o tabla). Misma estructura que en diagnóstico/start. null si es solo texto. *\/
12140
+ contexto?: string | null,
12141
+ /** Representación visual del contexto (imagen, gráfica o tabla). null si es solo texto. *\/
11004
12142
  representacion_visual_id_estimulo?: {
11005
- tipo?: "tabla" | "grafica" | "imagen",
12143
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
11006
12144
  version?: "v1",
11007
- descripcion?: string,
11008
12145
  tabla_markdown?: string | null,
11009
- /** Estructura de gráfica. Ver diagnóstico/start para detalle completo. *\/
11010
- grafica_json?: {
11011
- chart_type?: "bar" | "line" | "scatter" | "area",
11012
- x?: {
11013
- label?: string,
11014
- unit?: string | null,
11015
- values?: ((string | number))[],
11016
-
11017
- },
11018
- y?: {
11019
- label?: string,
11020
- unit?: string | null,
11021
-
11022
- },
11023
- series?: ({
11024
- name?: string,
11025
- data?: (number)[],
11026
-
11027
- })[],
11028
- annotations?: ({
11029
- type?: "reference_line",
11030
- axis?: "x" | "y",
11031
- value?: (number | string),
11032
- label?: string,
11033
-
11034
- })[],
11035
-
11036
- },
12146
+ /** Estructura de gráfica serializada. *\/
12147
+ grafica_json?: object | null,
12148
+ imagen_url?: string | null,
11037
12149
  imagen_alt?: string | null,
11038
12150
  imagen_svg?: string | null,
11039
12151
 
@@ -11044,6 +12156,16 @@ export class Api<
11044
12156
  enunciado?: string,
11045
12157
  id_clasificacion?: string,
11046
12158
  metadata?: object | null,
12159
+ representacion_visual_enunciado?: {
12160
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
12161
+ version?: "v1",
12162
+ tabla_markdown?: string | null,
12163
+ grafica_json?: object | null,
12164
+ imagen_url?: string | null,
12165
+ imagen_alt?: string | null,
12166
+ imagen_svg?: string | null,
12167
+
12168
+ },
11047
12169
  imagenes?: ({
11048
12170
  url?: string,
11049
12171
  alt?: string,
@@ -11058,6 +12180,7 @@ export class Api<
11058
12180
  texto?: string,
11059
12181
 
11060
12182
  },
12183
+ texto?: string,
11061
12184
  imagenes?: ({
11062
12185
  url?: string,
11063
12186
  alt?: string,
@@ -11096,36 +12219,20 @@ export class Api<
11096
12219
  /** Preguntas agrupadas por contexto/estímulo */
11097
12220
  grupos?: {
11098
12221
  /** Texto del contexto/estímulo compartido. null si no hay contexto. */
11099
- id_estimulo?: string | null;
11100
- /** Representación visual del contexto (imagen, gráfica o tabla). Misma estructura que en diagnóstico/start. null si es solo texto. */
12222
+ contexto?: string | null;
12223
+ /** Representación visual del contexto (imagen, gráfica o tabla). null si es solo texto. */
11101
12224
  representacion_visual_id_estimulo?: {
11102
- tipo?: "tabla" | "grafica" | "imagen";
12225
+ tipo?:
12226
+ | "tabla"
12227
+ | "grafica"
12228
+ | "imagen"
12229
+ | "caricatura"
12230
+ | "infografia";
11103
12231
  version?: "v1";
11104
- descripcion?: string;
11105
12232
  tabla_markdown?: string | null;
11106
- /** Estructura de gráfica. Ver diagnóstico/start para detalle completo. */
11107
- grafica_json?: {
11108
- chart_type?: "bar" | "line" | "scatter" | "area";
11109
- x?: {
11110
- label?: string;
11111
- unit?: string | null;
11112
- values?: (string | number)[];
11113
- };
11114
- y?: {
11115
- label?: string;
11116
- unit?: string | null;
11117
- };
11118
- series?: {
11119
- name?: string;
11120
- data?: number[];
11121
- }[];
11122
- annotations?: {
11123
- type?: "reference_line";
11124
- axis?: "x" | "y";
11125
- value?: number | string;
11126
- label?: string;
11127
- }[];
11128
- };
12233
+ /** Estructura de gráfica serializada. */
12234
+ grafica_json?: object | null;
12235
+ imagen_url?: string | null;
11129
12236
  imagen_alt?: string | null;
11130
12237
  imagen_svg?: string | null;
11131
12238
  };
@@ -11135,6 +12242,20 @@ export class Api<
11135
12242
  enunciado?: string;
11136
12243
  id_clasificacion?: string;
11137
12244
  metadata?: object | null;
12245
+ representacion_visual_enunciado?: {
12246
+ tipo?:
12247
+ | "tabla"
12248
+ | "grafica"
12249
+ | "imagen"
12250
+ | "caricatura"
12251
+ | "infografia";
12252
+ version?: "v1";
12253
+ tabla_markdown?: string | null;
12254
+ grafica_json?: object | null;
12255
+ imagen_url?: string | null;
12256
+ imagen_alt?: string | null;
12257
+ imagen_svg?: string | null;
12258
+ };
11138
12259
  imagenes?: {
11139
12260
  url?: string;
11140
12261
  alt?: string;
@@ -11147,6 +12268,7 @@ export class Api<
11147
12268
  contenido_json?: {
11148
12269
  texto?: string;
11149
12270
  };
12271
+ texto?: string;
11150
12272
  imagenes?: {
11151
12273
  url?: string;
11152
12274
  alt?: string;
@@ -11357,7 +12479,7 @@ export class Api<
11357
12479
  },
11358
12480
  /** Preguntas agrupadas por contexto con respuestas correctas reveladas *\/
11359
12481
  grupos?: ({
11360
- id_estimulo?: string | null,
12482
+ contexto?: string | null,
11361
12483
  /** Misma estructura que en missions/start *\/
11362
12484
  representacion_visual_id_estimulo?: object | null,
11363
12485
  items?: ({
@@ -11368,6 +12490,8 @@ export class Api<
11368
12490
  indice_respuesta?: number,
11369
12491
  id_clasificacion?: string,
11370
12492
  metadata?: object | null,
12493
+ /** Representación visual del enunciado si aplica. *\/
12494
+ representacion_visual_enunciado?: object | null,
11371
12495
  imagenes?: ({
11372
12496
  url?: string,
11373
12497
  alt?: string,
@@ -11381,6 +12505,7 @@ export class Api<
11381
12505
  texto?: string,
11382
12506
 
11383
12507
  },
12508
+ texto?: string,
11384
12509
  es_correcta?: boolean,
11385
12510
  explicacion?: string | null,
11386
12511
  imagenes?: ({
@@ -11429,7 +12554,7 @@ export class Api<
11429
12554
  };
11430
12555
  /** Preguntas agrupadas por contexto con respuestas correctas reveladas */
11431
12556
  grupos?: {
11432
- id_estimulo?: string | null;
12557
+ contexto?: string | null;
11433
12558
  /** Misma estructura que en missions/start */
11434
12559
  representacion_visual_id_estimulo?: object | null;
11435
12560
  items?: {
@@ -11440,6 +12565,8 @@ export class Api<
11440
12565
  indice_respuesta?: number;
11441
12566
  id_clasificacion?: string;
11442
12567
  metadata?: object | null;
12568
+ /** Representación visual del enunciado si aplica. */
12569
+ representacion_visual_enunciado?: object | null;
11443
12570
  imagenes?: {
11444
12571
  url?: string;
11445
12572
  alt?: string;
@@ -11451,6 +12578,7 @@ export class Api<
11451
12578
  contenido_json?: {
11452
12579
  texto?: string;
11453
12580
  };
12581
+ texto?: string;
11454
12582
  es_correcta?: boolean;
11455
12583
  explicacion?: string | null;
11456
12584
  imagenes?: {
@@ -12540,9 +13668,18 @@ export class Api<
12540
13668
  status?: string,
12541
13669
  /** Preguntas agrupadas por contexto/estímulo *\/
12542
13670
  grupos?: ({
12543
- id_estimulo?: string | null,
12544
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). *\/
12545
- representacion_visual_id_estimulo?: object | null,
13671
+ contexto?: string | null,
13672
+ /** Representación visual del contexto. Misma estructura que en diagnóstico/start actual (tipo, version, tabla_markdown, grafica_json, imagen_url, imagen_svg, imagen_alt). *\/
13673
+ representacion_visual_id_estimulo?: {
13674
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
13675
+ version?: "v1",
13676
+ tabla_markdown?: string | null,
13677
+ grafica_json?: object | null,
13678
+ imagen_url?: string | null,
13679
+ imagen_svg?: string | null,
13680
+ imagen_alt?: string | null,
13681
+
13682
+ },
12546
13683
  items?: ({
12547
13684
  /** @format uuid *\/
12548
13685
  id_item?: string,
@@ -12552,6 +13689,16 @@ export class Api<
12552
13689
  materia_nombre?: string | null,
12553
13690
  metadata?: object | null,
12554
13691
  ai_generated?: boolean,
13692
+ representacion_visual_enunciado?: {
13693
+ tipo?: "tabla" | "grafica" | "imagen" | "caricatura" | "infografia",
13694
+ version?: "v1",
13695
+ tabla_markdown?: string | null,
13696
+ grafica_json?: object | null,
13697
+ imagen_url?: string | null,
13698
+ imagen_svg?: string | null,
13699
+ imagen_alt?: string | null,
13700
+
13701
+ },
12555
13702
  imagenes?: (object)[],
12556
13703
  /** Opciones sin es_correcta ni explicacion. Incluye id_item del parent. *\/
12557
13704
  opciones?: ({
@@ -12562,6 +13709,7 @@ export class Api<
12562
13709
  texto?: string,
12563
13710
 
12564
13711
  },
13712
+ texto?: string,
12565
13713
  imagenes?: (object)[],
12566
13714
 
12567
13715
  })[],
@@ -12604,9 +13752,22 @@ export class Api<
12604
13752
  status?: string;
12605
13753
  /** Preguntas agrupadas por contexto/estímulo */
12606
13754
  grupos?: {
12607
- id_estimulo?: string | null;
12608
- /** Representación visual del contexto. Misma estructura que en diagnóstico/start (tipo, version, descripcion, tabla_markdown, grafica_json, imagen_alt, imagen_svg). */
12609
- representacion_visual_id_estimulo?: object | null;
13755
+ contexto?: string | null;
13756
+ /** Representación visual del contexto. Misma estructura que en diagnóstico/start actual (tipo, version, tabla_markdown, grafica_json, imagen_url, imagen_svg, imagen_alt). */
13757
+ representacion_visual_id_estimulo?: {
13758
+ tipo?:
13759
+ | "tabla"
13760
+ | "grafica"
13761
+ | "imagen"
13762
+ | "caricatura"
13763
+ | "infografia";
13764
+ version?: "v1";
13765
+ tabla_markdown?: string | null;
13766
+ grafica_json?: object | null;
13767
+ imagen_url?: string | null;
13768
+ imagen_svg?: string | null;
13769
+ imagen_alt?: string | null;
13770
+ };
12610
13771
  items?: {
12611
13772
  /** @format uuid */
12612
13773
  id_item?: string;
@@ -12616,6 +13777,20 @@ export class Api<
12616
13777
  materia_nombre?: string | null;
12617
13778
  metadata?: object | null;
12618
13779
  ai_generated?: boolean;
13780
+ representacion_visual_enunciado?: {
13781
+ tipo?:
13782
+ | "tabla"
13783
+ | "grafica"
13784
+ | "imagen"
13785
+ | "caricatura"
13786
+ | "infografia";
13787
+ version?: "v1";
13788
+ tabla_markdown?: string | null;
13789
+ grafica_json?: object | null;
13790
+ imagen_url?: string | null;
13791
+ imagen_svg?: string | null;
13792
+ imagen_alt?: string | null;
13793
+ };
12619
13794
  imagenes?: object[];
12620
13795
  /** Opciones sin es_correcta ni explicacion. Incluye id_item del parent. */
12621
13796
  opciones?: {
@@ -12625,6 +13800,7 @@ export class Api<
12625
13800
  contenido_json?: {
12626
13801
  texto?: string;
12627
13802
  };
13803
+ texto?: string;
12628
13804
  imagenes?: object[];
12629
13805
  }[];
12630
13806
  }[];