easyproctor 2.5.1 → 2.5.2

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.
@@ -25,6 +25,8 @@ export type VideoBehaviourParameters = {
25
25
  detectSpeech?: boolean;
26
26
  retryEnabled?: boolean;
27
27
  maxRetries?: number;
28
+ realtimePackageSize?: number;
29
+ realtimeUploadInterval?: number;
28
30
  };
29
31
  export default interface IParamsConfig {
30
32
  audioBehaviourParameters?: AudioBehaviourParameters;
@@ -18,7 +18,7 @@ export declare enum RecordingOrigin {
18
18
  export declare enum AlertCategory {
19
19
  NoFace = 1,
20
20
  MultipleFaces = 2,
21
- LostFocus = 25,
21
+ FocusOff = 25,
22
22
  EnvironmentMultiplePeople = 28,
23
23
  EnvironmentNoPeople = 29,
24
24
  PotentialCamera = 32,
@@ -28,7 +28,8 @@ export declare enum AlertCategory {
28
28
  }
29
29
  export declare enum FinishRealtimeWarningCategory {
30
30
  Face = 0,
31
- People = 1
31
+ People = 1,
32
+ LostFocus = 2
32
33
  }
33
34
  export declare enum AlertType {
34
35
  Audio = 1,
@@ -8,8 +8,8 @@ export declare class AlertRecorder implements IRecorder {
8
8
  private onFocusCallback;
9
9
  private optionsProctoring;
10
10
  constructor(options: {
11
- onLostFocusCallback: () => void;
12
- onFocusCallback: () => void;
11
+ onLostFocusCallback: (response: any) => void;
12
+ onFocusCallback: (response: any) => void;
13
13
  }, optionsProctoring: ProctoringSessionOptions);
14
14
  startRecording(): Promise<void>;
15
15
  pauseRecording(): Promise<void>;
@@ -64,8 +64,9 @@ export declare class CameraRecorder implements IRecorder {
64
64
  resumeRecording(): Promise<void>;
65
65
  photoShotsCycle(): void;
66
66
  getCurrentImageBase64(): Promise<string>;
67
+ packageCount: number;
67
68
  captureFrame(): void;
68
- sendFrame(): void;
69
+ sendPackage(): Promise<void>;
69
70
  download(file: File): void;
70
71
  saveOnSession(session: ProctoringSession): Promise<void>;
71
72
  getFile(file: string, name: string, type: string): Promise<File>;
@@ -29,6 +29,13 @@ export declare class NoiseRecorder implements IRecorder {
29
29
  backend: BackendService | undefined;
30
30
  backendToken: string | undefined;
31
31
  proctoringId: string | undefined;
32
+ private preRollBuffer;
33
+ private recordingChunks;
34
+ private readonly PRE_ROLL_SECONDS;
35
+ private readonly SAMPLE_RATE;
36
+ private readonly MAX_PRE_ROLL_CHUNKS;
37
+ private lastNoiseTime;
38
+ private readonly SILENCE_THRESHOLD;
32
39
  constructor(optionsProctoring: ProctoringSessionOptions, proctoringSession: ProctoringSession, paramsConfig: IParamsConfig, cameraRecorder: CameraRecorder, onRealtimeAlertsCallback: (response: any) => void, backend?: BackendService, backendToken?: string);
33
40
  setProctoringId(proctoringId: string): void;
34
41
  startRecording(): Promise<void>;
@@ -8,6 +8,7 @@ export declare class UploadService implements IUploadService {
8
8
  private imageBatchNum;
9
9
  private contImages;
10
10
  constructor(proctoringId: string, backend: BackendService);
11
+ uploadPackage(data: UploadDataDTO, token: string): Promise<any>;
11
12
  uploadImages(data: UploadDataDTO, token: string, packSize: number): Promise<UploadResult>;
12
13
  upload(data: UploadDataDTO, token: string, image?: boolean): Promise<UploadResult>;
13
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easyproctor",
3
- "version": "2.5.1",
3
+ "version": "2.5.2",
4
4
  "description": "Modulo web de gravação do EasyProctor",
5
5
  "main": "./index.js",
6
6
  "module": "./esm/index.js",
@@ -24,6 +24,7 @@
24
24
  "devDependencies": {
25
25
  "@types/dom-mediacapture-record": "^1.0.11",
26
26
  "@types/file-saver": "^2.0.7",
27
+ "@types/jszip": "^3.4.0",
27
28
  "@types/qrcode": "^1.5.5",
28
29
  "@types/recordrtc": "^5.6.8",
29
30
  "@typescript-eslint/eslint-plugin": "^5.8.0",
@@ -32,6 +33,7 @@
32
33
  "esbuild-serve": "^1.0.1",
33
34
  "eslint": "^8.2.0",
34
35
  "eslint-plugin-html": "^6.2.0",
36
+ "jszip": "^3.10.1",
35
37
  "typescript": "^4.5.4"
36
38
  },
37
39
  "dependencies": {
@@ -15,7 +15,7 @@ export interface ProctoringContext {
15
15
  }
16
16
  export interface ProctoringFinisherOptions {
17
17
  onProgress?: (percentage: number) => void;
18
- onFinish?: (score: number, scoreThreshold: number, approved: boolean, justification: string) => void;
18
+ onResultAvailable?: (score: number, scoreThreshold: number, approved: boolean, justification: string) => void;
19
19
  }
20
20
  export interface ProctoringChangeDevicesOptions {
21
21
  status?: (devices: DevicesChanged) => void;
@@ -57,10 +57,14 @@ export declare class Proctoring {
57
57
  appChecker: ExternalCameraChecker;
58
58
  private onStopSharingScreenCallback;
59
59
  setOnStopSharingScreenCallback(cb: () => void): void;
60
+ private setOnLostFocusAlertRecorderCallback;
61
+ private setOnFocusAlertRecorderCallback;
60
62
  private onLostFocusCallback;
61
- setOnLostFocusCallback(cb: () => void): void;
63
+ private onLostFocusAlertRecorderCallback;
64
+ setOnLostFocusCallback(cb: () => void): Promise<void>;
62
65
  private onFocusCallback;
63
- setOnFocusCallback(cb: () => void): void;
66
+ private onFocusAlertRecorderCallback;
67
+ setOnFocusCallback(cb: () => void): Promise<void>;
64
68
  private onChangeDevicesCallback;
65
69
  onChangeDevices(options?: ProctoringChangeDevicesOptions): Promise<void>;
66
70
  private convertRealtimeCategoryToAlertCategory;
@@ -5,8 +5,8 @@ export declare function useProctoring(proctoringOptions: ProctoringContext, envi
5
5
  login: () => Promise<void>;
6
6
  start: (parameters: any) => Promise<import("../dtos/StartProctoringResponse").default>;
7
7
  finish: (options?: import("./proctoring").ProctoringFinisherOptions) => Promise<void>;
8
- onFocus: (cb: () => void) => void;
9
- onLostFocus: (cb: () => void) => void;
8
+ onFocus: (cb: () => void) => Promise<void>;
9
+ onLostFocus: (cb: () => void) => Promise<void>;
10
10
  onChangeDevices: (options?: import("./proctoring").ProctoringChangeDevicesOptions) => Promise<void>;
11
11
  onBufferSizeError: (cb: (cameraStream?: any) => void) => void;
12
12
  onRealtimeAlerts: (options?: import("./proctoring").ProctoringRealtimeAlertsOptions) => Promise<void>;