easyproctor-hml 2.5.21 → 2.5.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -263,17 +263,46 @@ const {
263
263
  token: "...",
264
264
  });
265
265
  ```
266
- ## Release Note V 2.4.0
267
- - Compatibilidade com dispositivos móveis
268
266
 
269
- ## Release Note V 2.3.3
270
- - Correção do reset no startSession
267
+ ## Release Note V 2.5.4
268
+ - Fix: Correção sobre as imagens do realtime
269
+
270
+ ## Release Note V 2.5.4
271
+ - Novos alertas de tela (Clipboard, SplitScreen)
272
+ - Ajustes na detecção de foco da tela
273
+ - Melhorias na analise biométrica
274
+ - Melhorias na analise do uso de dispositivos
275
+ - Correção do uso de câmera externa no ambiente de produção
276
+
277
+ ## Release Note V 2.5.3
278
+ - Fix: Resolução do video
279
+ - Melhorias no proctoring do tipo REALTIME
280
+
281
+ ## Release Note V 2.5.2
282
+ - Alteração do nome do callback 'onFinish' para 'onResultAvailable'
283
+ - Melhorias no proctoring do tipo REALTIME
284
+
285
+ ## Release Note V 2.5.1
286
+ - Novos atributos no callback de 'onFinish'
287
+ - scoreThreshold: limiar de aprovação da sessão de proctoring
288
+ - justification: em caso de reprovação, esse campo traz o resumo das irregularidades
289
+
290
+ ## Release Note V 2.5.0
291
+ - Callback de 'onFinish' no hook de finish que permite o acesso ao resultado da auditoria de forma imediata
292
+ - Melhorias no proctoring em tempo real
293
+ - Melhorias no monitoramento ativo durante o exame
294
+ - Novos tipos de alertas do onRealtimeAlerts:
295
+ - position_detection_on_stream:
296
+ - wrong_face_size_detected: Face muito perto da câmera, afaste-se um pouco mais
297
+ - wrong_face_position_edge_detected: Face muito próxima da borda, mova-se para o centro da tela
298
+ - wrong_face_position_move_right_detected: Face não centralizada, mova-se para a direita
299
+ - wrong_face_position_move_top_detected: Face não centralizada, mova-se para cima
300
+ - wrong_face_position_move_left_detected: Face não centralizada, mova-se para a esquerda
301
+ - wrong_face_position_move_bottom_detected: Face não centralizada, mova-se para baixo
271
302
 
272
- ## Release Note V 2.3.2
273
- - Melhorias no fluxo da câmera externa (reset e goToExternalCameraPositionStep)
274
303
 
275
304
  ## Release Note V 2.4.0
276
- - Compatibilidade com dispositivos móveis implementada
305
+ - Compatibilidade com dispositivos móveis
277
306
 
278
307
  ## Release Note V 2.3.3
279
308
  - Correção do reset no startSession
package/esm/index.js CHANGED
@@ -12167,7 +12167,10 @@ function validatePartialVideoOptions(options) {
12167
12167
  width: options.width,
12168
12168
  height: options.height,
12169
12169
  minWidth: options.minWidth,
12170
- minHeight: options.minHeight
12170
+ minHeight: options.minHeight,
12171
+ timeSlice: options.timeSlice,
12172
+ videoBitsPerSecond: options.videoBitsPerSecond,
12173
+ mimeType: options.mimeType
12171
12174
  };
12172
12175
  } else {
12173
12176
  return { width: 640, height: 480 };
@@ -12254,7 +12257,7 @@ var proctoringId;
12254
12257
  function setRecorderProctoringId(id) {
12255
12258
  proctoringId = id;
12256
12259
  }
12257
- function recorder(stream, buffer, onBufferSizeError = false, onBufferSizeErrorCallback, audio = false) {
12260
+ function recorder(stream, buffer, videoOptions, onBufferSizeError = false, onBufferSizeErrorCallback, audio = false) {
12258
12261
  let resolvePromise;
12259
12262
  let stopped = false;
12260
12263
  let onBufferSizeInterval;
@@ -12264,7 +12267,7 @@ function recorder(stream, buffer, onBufferSizeError = false, onBufferSizeErrorCa
12264
12267
  let recorderOptions = {
12265
12268
  // eslint-disable-next-line no-useless-escape
12266
12269
  mimeType: "video/webm",
12267
- videoBitsPerSecond: 128e3,
12270
+ videoBitsPerSecond: (videoOptions == null ? void 0 : videoOptions.videoBitsPerSecond) || 128e3,
12268
12271
  audioBitsPerSecond: 64 * 1e3
12269
12272
  };
12270
12273
  if (MediaRecorder.isTypeSupported("video/webm;codecs=vp9")) {
@@ -12274,15 +12277,25 @@ function recorder(stream, buffer, onBufferSizeError = false, onBufferSizeErrorCa
12274
12277
  "vp9 codec not supported. Using default mimeType without vp9."
12275
12278
  );
12276
12279
  }
12280
+ if (videoOptions == null ? void 0 : videoOptions.mimeType) {
12281
+ recorderOptions.mimeType = videoOptions == null ? void 0 : videoOptions.mimeType;
12282
+ }
12277
12283
  if (audio) {
12278
12284
  recorderOptions = {
12279
12285
  mimeType: "audio/webm",
12280
12286
  audioBitsPerSecond: 64 * 1e3
12281
12287
  };
12282
12288
  }
12289
+ console.log("recorderOptions bitsPerSecond", recorderOptions.bitsPerSecond);
12283
12290
  const mediaRecorder = new MediaRecorder(stream, recorderOptions);
12284
12291
  mediaRecorder.ondataavailable = (e3) => {
12285
12292
  bufferSize = bufferSize + e3.data.size;
12293
+ console.log("video tracks length > 0", stream.getVideoTracks().length > 0);
12294
+ if (stream.getVideoTracks().length > 0) {
12295
+ const videoTrack = stream.getVideoTracks()[0];
12296
+ console.log(videoTrack.readyState);
12297
+ console.log(videoTrack.enabled);
12298
+ }
12286
12299
  if (e3.data.size > 0) {
12287
12300
  buffer.push(e3.data);
12288
12301
  }
@@ -12310,14 +12323,10 @@ function recorder(stream, buffer, onBufferSizeError = false, onBufferSizeErrorCa
12310
12323
  function startRecording() {
12311
12324
  return new Promise((resolve) => {
12312
12325
  resolvePromise = resolve;
12313
- mediaRecorder.start();
12326
+ console.log("startRecording", videoOptions == null ? void 0 : videoOptions.timeSlice);
12327
+ mediaRecorder.start((videoOptions == null ? void 0 : videoOptions.timeSlice) || 1e4);
12314
12328
  bufferSize = 0;
12315
12329
  stopped = false;
12316
- if (onBufferSizeError) {
12317
- onBufferSizeInterval = setInterval(async () => {
12318
- await mediaRecorder.requestData();
12319
- }, 3e4);
12320
- }
12321
12330
  });
12322
12331
  }
12323
12332
  function stopRecording() {
@@ -12848,6 +12857,7 @@ var CameraRecorder = class {
12848
12857
  this.cameraStream,
12849
12858
  // streamToRecord,
12850
12859
  this.blobs,
12860
+ this.videoOptions,
12851
12861
  this.options.onBufferSizeError,
12852
12862
  (e3) => this.bufferError(e3),
12853
12863
  false
@@ -14526,9 +14536,7 @@ var CapturePhoto = class {
14526
14536
  );
14527
14537
  await this.cameraRecorder.startRecording();
14528
14538
  cameraContainer.srcObject = this.cameraRecorder.cameraStream;
14529
- cameraContainer.play().catch((e3) => {
14530
- console.warn("Autoplay bloqueado ou erro ao iniciar v\xEDdeo:", e3);
14531
- });
14539
+ cameraContainer.play();
14532
14540
  }
14533
14541
  shot() {
14534
14542
  const cameraContainer = document.querySelector("#cameraStream");
@@ -14621,9 +14629,6 @@ var CapturePhoto = class {
14621
14629
  const video = document.createElement("video");
14622
14630
  video.setAttribute("id", "cameraStream");
14623
14631
  video.muted = true;
14624
- video.setAttribute("playsinline", "true");
14625
- video.setAttribute("webkit-playsinline", "true");
14626
- video.autoplay = true;
14627
14632
  divCamera.style.position = "fixed";
14628
14633
  divCamera.style.top = "0";
14629
14634
  divCamera.style.left = "0";
@@ -14810,8 +14815,8 @@ var CapturePhoto = class {
14810
14815
  }
14811
14816
  };
14812
14817
 
14813
- // src/extension/extensionEasyProctor.ts
14814
- var ExtensionEasyProctor = class {
14818
+ // src/extension/extension.ts
14819
+ var Extension = class {
14815
14820
  constructor() {
14816
14821
  this.hasExtension = false;
14817
14822
  this.tryes = 0;
@@ -14856,89 +14861,6 @@ var ExtensionEasyProctor = class {
14856
14861
  }
14857
14862
  };
14858
14863
 
14859
- // src/extension/extensionEasyCatcher.ts
14860
- var ExtensionEasyCatcher = class {
14861
- constructor(options) {
14862
- this.hasExtension = false;
14863
- this.tryes = 0;
14864
- this.responseStart = false;
14865
- this.options = options || {};
14866
- }
14867
- /**
14868
- * Verifica se a extensão está instalada e ativa.
14869
- * Retorna o número da versão se encontrada, ou lança erro após timeout.
14870
- */
14871
- checkExtensionInstalled(timeoutMs = 2e3) {
14872
- return new Promise((resolve, reject) => {
14873
- let handled = false;
14874
- const handler = (event) => {
14875
- if (event.source === window && event.data.sender === "easyproctor-extension" && event.data.message_name === "version") {
14876
- handled = true;
14877
- window.removeEventListener("message", handler);
14878
- resolve(event.data.message);
14879
- }
14880
- };
14881
- window.addEventListener("message", handler);
14882
- window.postMessage({
14883
- type: "easycatcher",
14884
- func: "verifyExtensionEasycatcher"
14885
- }, "*");
14886
- setTimeout(() => {
14887
- if (!handled) {
14888
- window.removeEventListener("message", handler);
14889
- reject(new Error("Extens\xE3o n\xE3o detectada ou n\xE3o respondeu."));
14890
- }
14891
- }, timeoutMs);
14892
- });
14893
- }
14894
- /**
14895
- * Solicita o JSON da sessão atual capturado pela extensão.
14896
- */
14897
- getSessionData(timeoutMs = 5e3) {
14898
- return new Promise((resolve, reject) => {
14899
- let handled = false;
14900
- const handler = (event) => {
14901
- if (event.source === window && event.data.sender === "easyproctor-extension" && event.data.message_name === "data_response") {
14902
- handled = true;
14903
- window.removeEventListener("message", handler);
14904
- resolve(event.data.payload);
14905
- }
14906
- };
14907
- window.addEventListener("message", handler);
14908
- window.postMessage({
14909
- type: "easycatcher",
14910
- func: "getDataExtensionEasycatcher"
14911
- }, "*");
14912
- setTimeout(() => {
14913
- if (!handled) {
14914
- window.removeEventListener("message", handler);
14915
- reject(new Error("Timeout ao aguardar dados da extens\xE3o."));
14916
- }
14917
- }, timeoutMs);
14918
- });
14919
- }
14920
- start() {
14921
- return new Promise((resolve, reject) => {
14922
- let handled = false;
14923
- const handler = (event) => {
14924
- if (event.source === window && event.data.sender === "easyproctor-extension" && event.data.message_name === "started_confirmed") {
14925
- handled = true;
14926
- window.removeEventListener("message", handler);
14927
- resolve(true);
14928
- }
14929
- };
14930
- window.addEventListener("message", handler);
14931
- window.postMessage({ type: "easycatcher", func: "startExtensionEasycatcher" }, "*");
14932
- setTimeout(() => {
14933
- if (!handled) {
14934
- window.removeEventListener("message", handler);
14935
- reject(new Error("Timeout: Extens\xE3o n\xE3o confirmou o in\xEDcio."));
14936
- }
14937
- }, 3e3);
14938
- });
14939
- }
14940
- };
14941
-
14942
14864
  // src/modules/onChangeDevices.ts
14943
14865
  var onChangeDevices = class {
14944
14866
  constructor(repositoryDevices, proctoringId2, sessionOptions, allRecorders) {
@@ -15375,7 +15297,7 @@ var AudioRecorder = class {
15375
15297
  audio: { deviceId: this.options.microphoneId || "default" }
15376
15298
  };
15377
15299
  this.audioStream = await navigator.mediaDevices.getUserMedia(constraints);
15378
- const { startRecording, stopRecording, pauseRecording, resumeRecording } = recorder(this.audioStream, this.blobs, void 0, void 0, true);
15300
+ const { startRecording, stopRecording, pauseRecording, resumeRecording } = recorder(this.audioStream, this.blobs, null, void 0, void 0, true);
15379
15301
  this.recordingStart = startRecording;
15380
15302
  this.recordingStop = stopRecording;
15381
15303
  this.recordingPause = pauseRecording;
@@ -17966,7 +17888,7 @@ var ScreenRecorder = class {
17966
17888
  });
17967
17889
  throw NOT_SHARED_SCREEN;
17968
17890
  }
17969
- const { startRecording, stopRecording } = recorder(this.screenStream, this.blobs, this.options.onBufferSizeError, onBufferSizeErrorCallback);
17891
+ const { startRecording, stopRecording } = recorder(this.screenStream, this.blobs, null, this.options.onBufferSizeError, onBufferSizeErrorCallback);
17970
17892
  this.recordingStart = startRecording;
17971
17893
  this.recordingStop = stopRecording;
17972
17894
  this.recordingStart();
@@ -21036,7 +20958,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21036
20958
  this.connection = null;
21037
20959
  this.context = context;
21038
20960
  this.onRealtimeAlertsCallback = onRealtimeAlertsCallback;
21039
- console.log("context -> ", context);
21040
20961
  this.backend = new BackendService({
21041
20962
  type: (context == null ? void 0 : context.type) || "prod",
21042
20963
  token: context.token
@@ -21050,7 +20971,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21050
20971
  try {
21051
20972
  this.transmissionOk = false;
21052
20973
  const response = await this.backend.externalCameraCheckTransmission("" + this.externalSessionId);
21053
- console.log(response);
21054
20974
  let attempts = 0;
21055
20975
  while (!this.transmissionOk && attempts <= 5) {
21056
20976
  await new Promise((resolve) => setTimeout(resolve, 2e3));
@@ -21067,16 +20987,13 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21067
20987
  try {
21068
20988
  this.proctoringId = proctoringId2;
21069
20989
  const response = await this.backend.externalCameraStartTransmission("" + this.externalSessionId, proctoringId2);
21070
- console.log(response);
21071
20990
  } catch (error) {
21072
- console.error("Erro ao iniciar transmiss\xE3o:", error);
21073
20991
  throw new Error("N\xE3o foi poss\xEDvel iniciar a transmiss\xE3o.");
21074
20992
  }
21075
20993
  }
21076
20994
  async goToPositionGuide() {
21077
20995
  try {
21078
20996
  const response = await this.backend.goToExternalCameraPositionStep("" + this.externalSessionId);
21079
- console.log(response);
21080
20997
  } catch (error) {
21081
20998
  console.error("Erro ao enviar comando de Position:", error);
21082
20999
  throw new Error("N\xE3o foi poss\xEDvel enviar comando de Position Guide.");
@@ -21086,7 +21003,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21086
21003
  if (this.connection) {
21087
21004
  const actionMessage = new ActionMessage();
21088
21005
  actionMessage.command = "Reset";
21089
- console.log("Enviando comando 'Reset' para o aplicativo...");
21090
21006
  this.connection.invoke(
21091
21007
  "SendAction",
21092
21008
  this.externalSessionId,
@@ -21100,7 +21016,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21100
21016
  this.onTakePictureCallback = onTakePictureCallback;
21101
21017
  const actionMessage = new ActionMessage();
21102
21018
  actionMessage.command = "Capture";
21103
- console.log("Enviando comando 'Capture' para o aplicativo...");
21104
21019
  this.connection.invoke(
21105
21020
  "SendAction",
21106
21021
  this.externalSessionId,
@@ -21119,7 +21034,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21119
21034
  await this.reset();
21120
21035
  const response = await this.backend.externalCameraStartSession();
21121
21036
  this.externalSessionId = response.externalSessionId;
21122
- console.log(this.externalSessionId);
21123
21037
  this.currentStep = 0 /* STARTED */;
21124
21038
  const pairingObject = {
21125
21039
  externalSessionId: this.externalSessionId,
@@ -21128,7 +21042,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21128
21042
  };
21129
21043
  const pairingDataString = JSON.stringify(pairingObject);
21130
21044
  this.qrCodeBase64Image = await import_qrcode.default.toDataURL(pairingDataString);
21131
- console.log(this.qrCodeBase64Image);
21132
21045
  return this.qrCodeBase64Image;
21133
21046
  } catch (error) {
21134
21047
  this.disconnectWebSocket();
@@ -21227,7 +21140,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21227
21140
  var _a2;
21228
21141
  const actionMessage = new ActionMessage();
21229
21142
  actionMessage.command = "Cancel";
21230
- console.log("Enviando comando 'Cancel' para o aplicativo...");
21231
21143
  (_a2 = this.connection) == null ? void 0 : _a2.invoke(
21232
21144
  "SendAction",
21233
21145
  this.externalSessionId,
@@ -21567,8 +21479,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21567
21479
  this.connection.on(
21568
21480
  "ReceiveMessage",
21569
21481
  (sessionId, messageStr) => {
21570
- console.log("sessionId: ", sessionId);
21571
- console.log("Message: ", messageStr);
21572
21482
  if (sessionId !== this.externalSessionId) {
21573
21483
  console.warn("Sess\xE3o diferente!");
21574
21484
  return;
@@ -21576,7 +21486,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21576
21486
  try {
21577
21487
  const messageKey = messageStr;
21578
21488
  const message = ExternalCameraStatusEnum[messageKey];
21579
- console.log("Mensagem -> ", message);
21580
21489
  this.handleWebSocketMessage(message);
21581
21490
  } catch (e3) {
21582
21491
  console.error("Erro ao processar mensagem do WebSocket:", e3);
@@ -21586,8 +21495,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21586
21495
  this.connection.on(
21587
21496
  "ReceiveAction",
21588
21497
  (sessionId, actionMessage) => {
21589
- console.log("sessionId: ", sessionId);
21590
- console.log("Message: ", actionMessage);
21591
21498
  if (sessionId !== this.externalSessionId) {
21592
21499
  console.warn("Sess\xE3o diferente!");
21593
21500
  return;
@@ -21601,7 +21508,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21601
21508
  );
21602
21509
  try {
21603
21510
  await this.connection.start();
21604
- console.log("Conectado ao Hub SignalR com sucesso!");
21605
21511
  } catch (err) {
21606
21512
  console.error("Falha ao conectar ou entrar no grupo do SignalR: ", err);
21607
21513
  throw new Error("N\xE3o foi poss\xEDvel conectar ao servi\xE7o em tempo real.");
@@ -21728,7 +21634,6 @@ var _ExternalCameraChecker = class _ExternalCameraChecker {
21728
21634
  if (this.connection) {
21729
21635
  try {
21730
21636
  await this.connection.stop();
21731
- console.log("Desconectado do SignalR.");
21732
21637
  } catch (err) {
21733
21638
  console.error("Erro ao desconectar do SignalR:", err);
21734
21639
  } finally {
@@ -21762,7 +21667,6 @@ var Proctoring = class {
21762
21667
  constructor(context) {
21763
21668
  this.context = context;
21764
21669
  this.deviceData = null;
21765
- this.sessionStartTime = 0;
21766
21670
  this.paramsConfig = {
21767
21671
  audioBehaviourParameters: {
21768
21672
  recordingBitrate: 128,
@@ -21986,7 +21890,10 @@ var Proctoring = class {
21986
21890
  width: this.videoOptions.width,
21987
21891
  height: this.videoOptions.height,
21988
21892
  minWidth: this.videoOptions.minWidth,
21989
- minHeight: this.videoOptions.minHeight
21893
+ minHeight: this.videoOptions.minHeight,
21894
+ timeSlice: this.videoOptions.timeSlice,
21895
+ videoBitsPerSecond: this.videoOptions.videoBitsPerSecond,
21896
+ mimeType: this.videoOptions.mimeType
21990
21897
  },
21991
21898
  this.paramsConfig,
21992
21899
  this.backend,
@@ -22037,10 +21944,7 @@ var Proctoring = class {
22037
21944
  if (this.context.token === void 0) {
22038
21945
  throw TOKEN_MISSING;
22039
21946
  }
22040
- if (options.useChallenge) {
22041
- this.extensionEasycatcher = new ExtensionEasyCatcher();
22042
- }
22043
- this.extension = new ExtensionEasyProctor();
21947
+ this.extension = new Extension();
22044
21948
  this.extension.addEventListener();
22045
21949
  const baseURL = this.backend.selectBaseUrl(this.context.type);
22046
21950
  const devices = await enumarateDevices();
@@ -22089,7 +21993,6 @@ var Proctoring = class {
22089
21993
  } catch (error) {
22090
21994
  throw EXTERNAL_CAMERA_NOT_STARTED;
22091
21995
  }
22092
- this.sessionStartTime = Date.now();
22093
21996
  this.allRecorders.cameraRecorder.setProctoringId(this.proctoringId);
22094
21997
  this.allRecorders.noiseRecorder.setProctoringId(this.proctoringId);
22095
21998
  this.proctoringSession.setProctoringId(this.proctoringId);
@@ -22265,7 +22168,6 @@ Upload Services: ${uploaderServices}`,
22265
22168
  });
22266
22169
  if (this.appChecker) {
22267
22170
  const externalSessionId = this.appChecker.getExternalCameraSessionId();
22268
- console.log("externalSessionId -> ", externalSessionId);
22269
22171
  if (externalSessionId != "null") {
22270
22172
  await this.backend.externalCameraFinish(externalSessionId);
22271
22173
  }
@@ -22388,59 +22290,6 @@ Error: ` + error
22388
22290
  _screenStream: (_a2 = this.allRecorders.screenRecorder) == null ? void 0 : _a2.screenStream
22389
22291
  };
22390
22292
  }
22391
- async startChallenge(templateId) {
22392
- if (!this.sessionOptions.useChallenge) {
22393
- throw new Error("useChallenge is set as false on start method");
22394
- }
22395
- await this.extensionEasycatcher.checkExtensionInstalled().catch((err) => {
22396
- throw new Error("EasyCatcher Extension is not installed");
22397
- });
22398
- this.extensionEasycatcher.start();
22399
- const start = Date.now() - this.sessionStartTime;
22400
- await this.backend.startChallenge({
22401
- proctoringId: this.proctoringId,
22402
- templateId,
22403
- start
22404
- }).then((resp) => {
22405
- console.log(resp);
22406
- this.challengeId = resp.id;
22407
- }).catch((reason) => {
22408
- trackers.registerError(
22409
- this.proctoringId,
22410
- "N\xE3o foi poss\xEDvel iniciar desafio!"
22411
- );
22412
- throw reason;
22413
- });
22414
- this.isChallengeRunning = true;
22415
- }
22416
- async stopChallenge() {
22417
- if (!this.isChallengeRunning) {
22418
- throw new Error("Challenge not started");
22419
- }
22420
- try {
22421
- const sessionData = await this.extensionEasycatcher.getSessionData();
22422
- const end = Date.now() - this.sessionStartTime;
22423
- await this.backend.stopChallenge(
22424
- this.challengeId,
22425
- {
22426
- end,
22427
- data: sessionData
22428
- }
22429
- ).catch((reason) => {
22430
- trackers.registerError(
22431
- this.proctoringId,
22432
- "N\xE3o foi poss\xEDvel finalizar o desafio no backend!"
22433
- );
22434
- return void 0;
22435
- });
22436
- this.isChallengeRunning = false;
22437
- } catch (error) {
22438
- trackers.registerError(
22439
- this.proctoringId,
22440
- "Erro ao recuperar dados da extens\xE3o: " + error.message
22441
- );
22442
- }
22443
- }
22444
22293
  };
22445
22294
 
22446
22295
  // src/proctoring/SignTerm.ts
@@ -22668,8 +22517,6 @@ function useProctoring(proctoringOptions, enviromentConfig = "prod") {
22668
22517
  return originalStart(parameters2, videoOptions);
22669
22518
  };
22670
22519
  const finish = proctoring.finish.bind(proctoring);
22671
- const startChallenge = proctoring.startChallenge.bind(proctoring);
22672
- const stopChallenge = proctoring.stopChallenge.bind(proctoring);
22673
22520
  const pause = proctoring.pause.bind(proctoring);
22674
22521
  const resume = proctoring.resume.bind(proctoring);
22675
22522
  const onFocus = proctoring.setOnFocusCallback.bind(proctoring);
@@ -22692,8 +22539,6 @@ function useProctoring(proctoringOptions, enviromentConfig = "prod") {
22692
22539
  login,
22693
22540
  start,
22694
22541
  finish,
22695
- startChallenge,
22696
- stopChallenge,
22697
22542
  onFocus,
22698
22543
  onLostFocus,
22699
22544
  onChangeDevices: onChangeDevices2,
@@ -1,5 +1,5 @@
1
1
  import { ProctoringFinisherOptions } from "../proctoring/proctoring";
2
- export declare class ExtensionEasyProctor {
2
+ export declare class Extension {
3
3
  hasExtension: boolean;
4
4
  tryes: number;
5
5
  responseStart: boolean;