@vidtreo/recorder-vue 1.15.0 → 1.16.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.
package/README.md CHANGED
@@ -80,6 +80,7 @@ The component accepts a single `recorder-props` object so the discriminated unio
80
80
  | `minTimeRecord` | `number` | No | – | Minimum recording time in ms before Stop is allowed. Must not be greater than `maxRecordingTime` when both are positive. |
81
81
  | `maxRecordingTime` | `number` | No | – | Maximum recording time in milliseconds. |
82
82
  | `userMetadata` | `Record<string, unknown>` | No | – | Custom metadata attached to uploads. |
83
+ | `integrity` | `IntegrityOptions` | No | – | `{ enabled: true, policy?: "report" \| "warn" \| "block" }`: collect integrity signals while recording and send them with the upload as `integrity`; the `integritySignal` event receives each signal as it is observed. See [Integrity signals](../recorder/README.md#integrity-signals). |
83
84
  | `recordingPrompt` | `RecordingPrompt` | No | – | Prompt shown during recording. Use `countdown: { show, placement: "above-countdown" }` to float it over the countdown. A `label` field is still accepted for backward compatibility but is not displayed. |
84
85
  | `enableSourceSwitching` | `boolean` | No | `true` | Toggle between camera and screen. |
85
86
  | `enableMute` | `boolean` | No | `true` | Show the mute/unmute button. |
@@ -105,6 +106,10 @@ The component accepts a single `recorder-props` object so the discriminated unio
105
106
  | `upload-error` | `error: Error` | Upload fails. Use `getUploadErrorCode(error)` to read the [error code](#upload-errors). |
106
107
  | `transcoding-progress` | `progress: number` (0..1) | Transcoding progress after a recording stops (desktop and mobile) and native camera processing. |
107
108
  | `error` | `error: Error` | Any unhandled error, including the [credential conflict](#temporary-access-tokens) configuration error. |
109
+ | `integrity-signal` | `signal: IntegritySignal` | The recorder observes an integrity signal (`integrity` prop enabled). |
110
+ | `integrity-blocked` | `reason: IntegrityBlockedReason` | `policy: "block"` refuses to start a recording because the active camera matches a virtual camera pattern. The start error (`code: "integrity.blocked"`) also reaches `error`. |
111
+ | `integrity-challenge` | `prompt: IntegrityChallengePrompt` | A liveness challenge is due (`integrity.challenges.enabled`); the component shows the instruction itself. `challenges.lang` defaults to `lang`. |
112
+ | `integrity-challenge-end` | `id: string` | A challenge window ended. |
108
113
 
109
114
  ### Example with listeners
110
115
 
@@ -1,4 +1,4 @@
1
- import type { RecordingUploadResult, UploadProgressPhase } from "@vidtreo/recorder";
1
+ import type { IntegrityBlockedReason, IntegrityChallengePrompt, IntegritySignal, RecordingUploadResult, UploadProgressPhase } from "@vidtreo/recorder";
2
2
  import type { VidtreoRecorderExposed, VidtreoRecorderProps } from "../types";
3
3
  type __VLS_Props = {
4
4
  recorderProps: VidtreoRecorderProps;
@@ -7,18 +7,26 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, VidtreoRe
7
7
  error: (error: Error) => any;
8
8
  uploadProgress: (progress: number, phase: UploadProgressPhase | null) => any;
9
9
  transcodingProgress: (progress: number) => any;
10
+ integrityChallenge: (prompt: IntegrityChallengePrompt) => any;
10
11
  recordingStart: () => any;
11
12
  recordingStop: () => any;
12
13
  uploadComplete: (result: RecordingUploadResult) => any;
13
14
  uploadError: (error: Error) => any;
15
+ integritySignal: (signal: IntegritySignal) => any;
16
+ integrityBlocked: (reason: IntegrityBlockedReason) => any;
17
+ integrityChallengeEnd: (id: string) => any;
14
18
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
19
  onError?: ((error: Error) => any) | undefined;
16
20
  onUploadProgress?: ((progress: number, phase: UploadProgressPhase | null) => any) | undefined;
17
21
  onTranscodingProgress?: ((progress: number) => any) | undefined;
22
+ onIntegrityChallenge?: ((prompt: IntegrityChallengePrompt) => any) | undefined;
18
23
  onRecordingStart?: (() => any) | undefined;
19
24
  onRecordingStop?: (() => any) | undefined;
20
25
  onUploadComplete?: ((result: RecordingUploadResult) => any) | undefined;
21
26
  onUploadError?: ((error: Error) => any) | undefined;
27
+ onIntegritySignal?: ((signal: IntegritySignal) => any) | undefined;
28
+ onIntegrityBlocked?: ((reason: IntegrityBlockedReason) => any) | undefined;
29
+ onIntegrityChallengeEnd?: ((id: string) => any) | undefined;
22
30
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
31
  declare const _default: typeof __VLS_export;
24
32
  export default _default;
@@ -1,4 +1,4 @@
1
- import { type RecordingUploadResult, type UploadProgressPhase } from "@vidtreo/recorder";
1
+ import { type IntegrityBlockedReason, type IntegrityChallengePrompt, type IntegritySignal, type RecordingUploadResult, type UploadProgressPhase } from "@vidtreo/recorder";
2
2
  import type { VidtreoRecorderExposed, VidtreoRecorderProps } from "../types";
3
3
  type __VLS_Props = {
4
4
  recorderProps: VidtreoRecorderProps;
@@ -7,18 +7,26 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, VidtreoRe
7
7
  error: (error: Error) => any;
8
8
  uploadProgress: (progress: number, phase: UploadProgressPhase | null) => any;
9
9
  transcodingProgress: (progress: number) => any;
10
+ integrityChallenge: (prompt: IntegrityChallengePrompt) => any;
10
11
  recordingStart: () => any;
11
12
  recordingStop: () => any;
12
13
  uploadComplete: (result: RecordingUploadResult) => any;
13
14
  uploadError: (error: Error) => any;
15
+ integritySignal: (signal: IntegritySignal) => any;
16
+ integrityBlocked: (reason: IntegrityBlockedReason) => any;
17
+ integrityChallengeEnd: (id: string) => any;
14
18
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
19
  onError?: ((error: Error) => any) | undefined;
16
20
  onUploadProgress?: ((progress: number, phase: UploadProgressPhase | null) => any) | undefined;
17
21
  onTranscodingProgress?: ((progress: number) => any) | undefined;
22
+ onIntegrityChallenge?: ((prompt: IntegrityChallengePrompt) => any) | undefined;
18
23
  onRecordingStart?: (() => any) | undefined;
19
24
  onRecordingStop?: (() => any) | undefined;
20
25
  onUploadComplete?: ((result: RecordingUploadResult) => any) | undefined;
21
26
  onUploadError?: ((error: Error) => any) | undefined;
27
+ onIntegritySignal?: ((signal: IntegritySignal) => any) | undefined;
28
+ onIntegrityBlocked?: ((reason: IntegrityBlockedReason) => any) | undefined;
29
+ onIntegrityChallengeEnd?: ((id: string) => any) | undefined;
22
30
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
31
  declare const _default: typeof __VLS_export;
24
32
  export default _default;
@@ -1,4 +1,4 @@
1
- import { type RecordingUploadResult, type UploadProgressPhase } from "@vidtreo/recorder";
1
+ import { type IntegrityBlockedReason, type IntegrityChallengePrompt, type IntegritySignal, type RecordingUploadResult, type UploadProgressPhase } from "@vidtreo/recorder";
2
2
  import type { VidtreoRecorderExposed, VidtreoRecorderProps } from "../types";
3
3
  type __VLS_Props = {
4
4
  recorderProps: VidtreoRecorderProps;
@@ -7,18 +7,26 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, VidtreoRe
7
7
  error: (error: Error) => any;
8
8
  uploadProgress: (progress: number, phase: UploadProgressPhase | null) => any;
9
9
  transcodingProgress: (progress: number) => any;
10
+ integrityChallenge: (prompt: IntegrityChallengePrompt) => any;
10
11
  recordingStart: () => any;
11
12
  recordingStop: () => any;
12
13
  uploadComplete: (result: RecordingUploadResult) => any;
13
14
  uploadError: (error: Error) => any;
15
+ integritySignal: (signal: IntegritySignal) => any;
16
+ integrityBlocked: (reason: IntegrityBlockedReason) => any;
17
+ integrityChallengeEnd: (id: string) => any;
14
18
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
19
  onError?: ((error: Error) => any) | undefined;
16
20
  onUploadProgress?: ((progress: number, phase: UploadProgressPhase | null) => any) | undefined;
17
21
  onTranscodingProgress?: ((progress: number) => any) | undefined;
22
+ onIntegrityChallenge?: ((prompt: IntegrityChallengePrompt) => any) | undefined;
18
23
  onRecordingStart?: (() => any) | undefined;
19
24
  onRecordingStop?: (() => any) | undefined;
20
25
  onUploadComplete?: ((result: RecordingUploadResult) => any) | undefined;
21
26
  onUploadError?: ((error: Error) => any) | undefined;
27
+ onIntegritySignal?: ((signal: IntegritySignal) => any) | undefined;
28
+ onIntegrityBlocked?: ((reason: IntegrityBlockedReason) => any) | undefined;
29
+ onIntegrityChallengeEnd?: ((id: string) => any) | undefined;
22
30
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
31
  declare const _default: typeof __VLS_export;
24
32
  export default _default;
@@ -0,0 +1,7 @@
1
+ import type { IntegrityChallengePrompt } from "@vidtreo/recorder";
2
+ type __VLS_Props = {
3
+ prompt: IntegrityChallengePrompt | null;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import "@vidtreo/ui-styles/recorder.css";
2
1
  export { CONFIG_ERROR_CREDENTIAL_CONFLICT, ERROR_RECORDING_MARKER_DUPLICATE_ID, ERROR_RECORDING_MARKER_INVALID_ID, ERROR_RECORDING_MARKER_INVALID_LABEL, ERROR_RECORDING_MARKER_LIMIT_REACHED, ERROR_RECORDING_MARKER_NOT_RECORDING, getUploadErrorCode, isCredentialConflictError, isRecordingMarkerError, type RecordingMarkerError, type RecordingMarkerErrorCode, UPLOAD_ERROR_INSUFFICIENT_CREDITS, } from "@vidtreo/recorder";
3
2
  export { default as MobileWebRecorderUI } from "./components/MobileWebRecorderUI.vue";
4
3
  export { default as NativeCameraUI } from "./components/NativeCameraUI.vue";