@a4anthony/proctorkit-vue 0.1.4 → 0.2.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 +176 -8
- package/dist/ProctoredAssessment.vue.d.ts +70 -2
- package/dist/ProctoredAssessment.vue.d.ts.map +1 -1
- package/dist/ProctoringDeviceSettings.vue.d.ts +27 -1
- package/dist/ProctoringDeviceSettings.vue.d.ts.map +1 -1
- package/dist/ProctoringSystemCheck.vue.d.ts +39 -11
- package/dist/ProctoringSystemCheck.vue.d.ts.map +1 -1
- package/dist/browser-face-detector.d.ts +59 -0
- package/dist/browser-face-detector.d.ts.map +1 -0
- package/dist/check-cards/system/DisplayPermissionDialog.vue.d.ts +24 -0
- package/dist/check-cards/system/DisplayPermissionDialog.vue.d.ts.map +1 -0
- package/dist/check-cards/system/DisplayRecovery.vue.d.ts +25 -0
- package/dist/check-cards/system/DisplayRecovery.vue.d.ts.map +1 -0
- package/dist/check-cards/system/SystemCheckCard.vue.d.ts +13 -1
- package/dist/check-cards/system/SystemCheckCard.vue.d.ts.map +1 -1
- package/dist/check-cards/system/display-progress-story.d.ts +468 -0
- package/dist/check-cards/system/display-progress-story.d.ts.map +1 -0
- package/dist/check-cards/system/display-recovery-story.d.ts +290 -0
- package/dist/check-cards/system/display-recovery-story.d.ts.map +1 -0
- package/dist/demo-runner/QuestionCard.vue.d.ts.map +1 -1
- package/dist/detect-face.d.ts +22 -95
- package/dist/detect-face.d.ts.map +1 -1
- package/dist/i18n/merge.d.ts.map +1 -1
- package/dist/index.d.ts +19 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9637 -2485
- package/dist/media-controls/AudioPlayer.vue.d.ts +43 -20
- package/dist/media-controls/AudioPlayer.vue.d.ts.map +1 -1
- package/dist/media-controls/AudioRecorder.vue.d.ts +171 -11
- package/dist/media-controls/AudioRecorder.vue.d.ts.map +1 -1
- package/dist/media-controls/RecorderUploadIndicator.vue.d.ts +17 -0
- package/dist/media-controls/RecorderUploadIndicator.vue.d.ts.map +1 -0
- package/dist/media-controls/VideoPlayer.vue.d.ts +36 -13
- package/dist/media-controls/VideoPlayer.vue.d.ts.map +1 -1
- package/dist/media-controls/VideoRecorder.vue.d.ts +90 -10
- package/dist/media-controls/VideoRecorder.vue.d.ts.map +1 -1
- package/dist/media-controls/audio-recorder-messages.d.ts +15 -0
- package/dist/media-controls/audio-recorder-messages.d.ts.map +1 -0
- package/dist/media-controls/local-media-playback-client.d.ts +2 -6
- package/dist/media-controls/local-media-playback-client.d.ts.map +1 -1
- package/dist/media-controls/local-media-recording-client.d.ts.map +1 -1
- package/dist/media-controls/media-recovery-story.d.ts +9 -0
- package/dist/media-controls/media-recovery-story.d.ts.map +1 -0
- package/dist/media-controls/storybook-mock-client.d.ts +2 -0
- package/dist/media-controls/storybook-mock-client.d.ts.map +1 -1
- package/dist/media-controls/types.d.ts +63 -7
- package/dist/media-controls/types.d.ts.map +1 -1
- package/dist/media-controls/ui-config.d.ts +2 -2
- package/dist/media-controls/ui-config.d.ts.map +1 -1
- package/dist/media-controls/useLiveInputCheck.d.ts +18 -0
- package/dist/media-controls/useLiveInputCheck.d.ts.map +1 -0
- package/dist/media-controls/useMediaClipRecorder.d.ts +90 -12
- package/dist/media-controls/useMediaClipRecorder.d.ts.map +1 -1
- package/dist/media-controls/useMediaFilePlayback.d.ts +8 -1
- package/dist/media-controls/useMediaFilePlayback.d.ts.map +1 -1
- package/dist/media-controls/useMinimumVisibleUpload.d.ts +18 -0
- package/dist/media-controls/useMinimumVisibleUpload.d.ts.map +1 -0
- package/dist/proctored-assessment/PreparationGate.vue.d.ts +16 -0
- package/dist/proctored-assessment/PreparationGate.vue.d.ts.map +1 -0
- package/dist/proctored-assessment/preparation-feedback.d.ts +7 -0
- package/dist/proctored-assessment/preparation-feedback.d.ts.map +1 -0
- package/dist/proctored-assessment/replay-failure-queue.d.ts +18 -0
- package/dist/proctored-assessment/replay-failure-queue.d.ts.map +1 -0
- package/dist/proctored-assessment/replay-failure-queue.test.d.ts +2 -0
- package/dist/proctored-assessment/replay-failure-queue.test.d.ts.map +1 -0
- package/dist/proctored-assessment/request-deadline.d.ts +1 -0
- package/dist/proctored-assessment/request-deadline.d.ts.map +1 -1
- package/dist/proctored-assessment/resume-microphone-route.d.ts +13 -0
- package/dist/proctored-assessment/resume-microphone-route.d.ts.map +1 -0
- package/dist/proctored-assessment/resume-microphone-route.test.d.ts +2 -0
- package/dist/proctored-assessment/resume-microphone-route.test.d.ts.map +1 -0
- package/dist/proctored-assessment/resume-probe.d.ts +13 -0
- package/dist/proctored-assessment/resume-probe.d.ts.map +1 -1
- package/dist/proctored-assessment/resume-speaker-confirmation.d.ts +27 -0
- package/dist/proctored-assessment/resume-speaker-confirmation.d.ts.map +1 -0
- package/dist/proctored-assessment/resume-speaker-route.d.ts +32 -0
- package/dist/proctored-assessment/resume-speaker-route.d.ts.map +1 -0
- package/dist/proctored-assessment/session-start.d.ts +2 -2
- package/dist/proctored-assessment/types.d.ts +14 -4
- package/dist/proctored-assessment/types.d.ts.map +1 -1
- package/dist/proctored-assessment/usePreparationRetryTiming.d.ts +13 -0
- package/dist/proctored-assessment/usePreparationRetryTiming.d.ts.map +1 -0
- package/dist/proctored-assessment/useResumeDisplayGuard.d.ts +20 -0
- package/dist/proctored-assessment/useResumeDisplayGuard.d.ts.map +1 -0
- package/dist/proctoring-client.d.ts +6 -2
- package/dist/proctoring-client.d.ts.map +1 -1
- package/dist/proctoring-system-check-contract.d.ts +2 -0
- package/dist/proctoring-system-check-contract.d.ts.map +1 -1
- package/dist/runtime-devices/DevicePickerItem.vue.d.ts +58 -0
- package/dist/runtime-devices/DevicePickerItem.vue.d.ts.map +1 -0
- package/dist/runtime-devices/PickerMessage.vue.d.ts +17 -0
- package/dist/runtime-devices/PickerMessage.vue.d.ts.map +1 -0
- package/dist/runtime-devices/ProctoringDevicePicker.vue.d.ts +89 -0
- package/dist/runtime-devices/ProctoringDevicePicker.vue.d.ts.map +1 -0
- package/dist/runtime-devices/device-picker-messages.d.ts +42 -0
- package/dist/runtime-devices/device-picker-messages.d.ts.map +1 -0
- package/dist/runtime-devices/microphone-attention.d.ts +48 -0
- package/dist/runtime-devices/microphone-attention.d.ts.map +1 -0
- package/dist/runtime-devices/microphone-check-messages.d.ts +13 -0
- package/dist/runtime-devices/microphone-check-messages.d.ts.map +1 -0
- package/dist/runtime-devices/runtime-device-activity.d.ts +16 -0
- package/dist/runtime-devices/runtime-device-activity.d.ts.map +1 -0
- package/dist/runtime-devices/runtime-device-selection.d.ts +11 -0
- package/dist/runtime-devices/runtime-device-selection.d.ts.map +1 -0
- package/dist/runtime-devices/useRuntimeDevice.d.ts +72 -0
- package/dist/runtime-devices/useRuntimeDevice.d.ts.map +1 -0
- package/dist/runtime-devices/useTrackLoss.d.ts +15 -0
- package/dist/runtime-devices/useTrackLoss.d.ts.map +1 -0
- package/dist/style.css +367 -14
- package/dist/text-answer/ProctoredTextarea.vue.d.ts +8 -1
- package/dist/text-answer/ProctoredTextarea.vue.d.ts.map +1 -1
- package/dist/text-answer/useProctoredText.d.ts +5 -2
- package/dist/text-answer/useProctoredText.d.ts.map +1 -1
- package/dist/ui/ProctoringAlert.vue.d.ts.map +1 -1
- package/dist/ui/ProctoringFileUpload.vue.d.ts +3 -3
- package/dist/ui/ProctoringFileUpload.vue.d.ts.map +1 -1
- package/dist/ui/ProctoringInput.vue.d.ts +3 -3
- package/dist/ui/ProctoringInput.vue.d.ts.map +1 -1
- package/dist/ui/ProctoringSelect.vue.d.ts +2 -2
- package/dist/ui/ProctoringSelect.vue.d.ts.map +1 -1
- package/dist/usePreflightCheck.d.ts +4 -3
- package/dist/usePreflightCheck.d.ts.map +1 -1
- package/dist/vision_bundle-8xEDyfqS.js +4160 -0
- package/dist/wizard/BrowserDisplayPermissionGuide.vue.d.ts +11 -0
- package/dist/wizard/BrowserDisplayPermissionGuide.vue.d.ts.map +1 -0
- package/dist/wizard/BrowserPermissionLocation.vue.d.ts +9 -0
- package/dist/wizard/BrowserPermissionLocation.vue.d.ts.map +1 -0
- package/dist/wizard/CameraStep.vue.d.ts +10 -1
- package/dist/wizard/CameraStep.vue.d.ts.map +1 -1
- package/dist/wizard/CandidateHeadshotField.vue.d.ts.map +1 -1
- package/dist/wizard/CandidateIntakeStep.vue.d.ts +3 -0
- package/dist/wizard/CandidateIntakeStep.vue.d.ts.map +1 -1
- package/dist/wizard/ChecklistShell.vue.d.ts +3 -0
- package/dist/wizard/ChecklistShell.vue.d.ts.map +1 -1
- package/dist/wizard/FinalStep.vue.d.ts +6 -2
- package/dist/wizard/FinalStep.vue.d.ts.map +1 -1
- package/dist/wizard/MediaDeviceSelect.vue.d.ts +11 -1
- package/dist/wizard/MediaDeviceSelect.vue.d.ts.map +1 -1
- package/dist/wizard/MicStep.vue.d.ts +24 -3
- package/dist/wizard/MicStep.vue.d.ts.map +1 -1
- package/dist/wizard/PermissionDeniedPanel.vue.d.ts +9 -4
- package/dist/wizard/PermissionDeniedPanel.vue.d.ts.map +1 -1
- package/dist/wizard/ResumeCheck.vue.d.ts +16 -2
- package/dist/wizard/ResumeCheck.vue.d.ts.map +1 -1
- package/dist/wizard/SpeakerStep.vue.d.ts +17 -4
- package/dist/wizard/SpeakerStep.vue.d.ts.map +1 -1
- package/dist/wizard/SystemStep.vue.d.ts +9 -0
- package/dist/wizard/SystemStep.vue.d.ts.map +1 -1
- package/dist/wizard/WizardShell.vue.d.ts +3 -3
- package/dist/wizard/WizardShell.vue.d.ts.map +1 -1
- package/dist/wizard/candidate-intake-draft.d.ts +9 -0
- package/dist/wizard/candidate-intake-draft.d.ts.map +1 -0
- package/dist/wizard/display-diagnostics.d.ts +21 -0
- package/dist/wizard/display-diagnostics.d.ts.map +1 -0
- package/dist/wizard/event-telemetry.d.ts +24 -0
- package/dist/wizard/event-telemetry.d.ts.map +1 -0
- package/dist/wizard/media-device-list.d.ts +8 -1
- package/dist/wizard/media-device-list.d.ts.map +1 -1
- package/dist/wizard/microphone-preflight-trace.d.ts +10 -0
- package/dist/wizard/microphone-preflight-trace.d.ts.map +1 -0
- package/dist/wizard/microphone-preflight-trace.test.d.ts +2 -0
- package/dist/wizard/microphone-preflight-trace.test.d.ts.map +1 -0
- package/dist/wizard/resume-check-stories/shared.d.ts +35 -11
- package/dist/wizard/resume-check-stories/shared.d.ts.map +1 -1
- package/dist/wizard/speaker-test-tone.d.ts +29 -4
- package/dist/wizard/speaker-test-tone.d.ts.map +1 -1
- package/dist/wizard/useCandidateIssues.d.ts +30 -0
- package/dist/wizard/useCandidateIssues.d.ts.map +1 -0
- package/dist/wizard/useCandidateIssues.test.d.ts +2 -0
- package/dist/wizard/useCandidateIssues.test.d.ts.map +1 -0
- package/dist/wizard/useLiveDisplayCheck.d.ts +8 -0
- package/dist/wizard/useLiveDisplayCheck.d.ts.map +1 -0
- package/dist/wizard/usePreflightTelemetry.d.ts +6 -26
- package/dist/wizard/usePreflightTelemetry.d.ts.map +1 -1
- package/dist/wizard/useWizardSteps.d.ts +10 -1
- package/dist/wizard/useWizardSteps.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import type { CheckRow, DisplayAccessResult, DisplayMonitor } from "@a4anthony/proctorkit-sdk";
|
|
2
|
+
import type { MediaHelpTopicId } from "../../i18n/media-help.js";
|
|
3
|
+
interface DisplayStoryOptions {
|
|
4
|
+
permissionResult: DisplayAccessResult["status"];
|
|
5
|
+
singleExternal?: boolean;
|
|
6
|
+
rememberedPermission?: boolean;
|
|
7
|
+
dark?: boolean;
|
|
8
|
+
connectionFailure?: boolean;
|
|
9
|
+
/** Keep the native-result fixture pending to inspect the existing loading UI. */
|
|
10
|
+
permissionPending?: boolean;
|
|
11
|
+
permissionObservation?: boolean;
|
|
12
|
+
permissionState?: PermissionState;
|
|
13
|
+
/** Simulate enabling the browser toggle after the guide has opened. */
|
|
14
|
+
permissionChangeAfterMs?: number;
|
|
15
|
+
automaticResultPending?: boolean;
|
|
16
|
+
liveThroughPreflight?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** Uses the production system step inside this group's existing checklist frame. */
|
|
19
|
+
export declare function createDisplayRecoveryRender(options?: DisplayStoryOptions): () => {
|
|
20
|
+
components: {
|
|
21
|
+
SystemStep: import("vue").DefineComponent<{
|
|
22
|
+
rows: ReadonlyArray<CheckRow>;
|
|
23
|
+
messages: import("@a4anthony/proctorkit-content").PreflightMessages;
|
|
24
|
+
autoStart: boolean;
|
|
25
|
+
minBandwidthMbps?: number;
|
|
26
|
+
minUploadBandwidthMbps?: number;
|
|
27
|
+
run: () => Promise<void>;
|
|
28
|
+
retry: () => Promise<void>;
|
|
29
|
+
recheckMonitor?: () => Promise<void>;
|
|
30
|
+
displayMonitor?: DisplayMonitor;
|
|
31
|
+
displayChangesManaged?: boolean;
|
|
32
|
+
embedded?: boolean;
|
|
33
|
+
showDivider?: boolean;
|
|
34
|
+
autoContinueOnPass?: boolean;
|
|
35
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
36
|
+
help: (topic: MediaHelpTopicId) => any;
|
|
37
|
+
continue: () => any;
|
|
38
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
39
|
+
rows: ReadonlyArray<CheckRow>;
|
|
40
|
+
messages: import("@a4anthony/proctorkit-content").PreflightMessages;
|
|
41
|
+
autoStart: boolean;
|
|
42
|
+
minBandwidthMbps?: number;
|
|
43
|
+
minUploadBandwidthMbps?: number;
|
|
44
|
+
run: () => Promise<void>;
|
|
45
|
+
retry: () => Promise<void>;
|
|
46
|
+
recheckMonitor?: () => Promise<void>;
|
|
47
|
+
displayMonitor?: DisplayMonitor;
|
|
48
|
+
displayChangesManaged?: boolean;
|
|
49
|
+
embedded?: boolean;
|
|
50
|
+
showDivider?: boolean;
|
|
51
|
+
autoContinueOnPass?: boolean;
|
|
52
|
+
}> & Readonly<{
|
|
53
|
+
onHelp?: ((topic: MediaHelpTopicId) => any) | undefined;
|
|
54
|
+
onContinue?: (() => any) | undefined;
|
|
55
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
56
|
+
FinalStep: {
|
|
57
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
58
|
+
rows: ReadonlyArray<CheckRow>;
|
|
59
|
+
messages: import("@a4anthony/proctorkit-content").PreflightMessages;
|
|
60
|
+
mode: import("@a4anthony/proctorkit-sdk").SystemCheckMode;
|
|
61
|
+
autoResumeSeconds: number;
|
|
62
|
+
starting?: boolean;
|
|
63
|
+
preparationError?: import("../../proctored-assessment/preparation-feedback.js").PreparationFeedback;
|
|
64
|
+
embedded?: boolean;
|
|
65
|
+
}> & Readonly<{
|
|
66
|
+
onResume?: (() => any) | undefined;
|
|
67
|
+
onHelp?: (() => any) | undefined;
|
|
68
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
69
|
+
resume: () => any;
|
|
70
|
+
help: () => any;
|
|
71
|
+
}, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
72
|
+
P: {};
|
|
73
|
+
B: {};
|
|
74
|
+
D: {};
|
|
75
|
+
C: {};
|
|
76
|
+
M: {};
|
|
77
|
+
Defaults: {};
|
|
78
|
+
}, Readonly<{
|
|
79
|
+
rows: ReadonlyArray<CheckRow>;
|
|
80
|
+
messages: import("@a4anthony/proctorkit-content").PreflightMessages;
|
|
81
|
+
mode: import("@a4anthony/proctorkit-sdk").SystemCheckMode;
|
|
82
|
+
autoResumeSeconds: number;
|
|
83
|
+
starting?: boolean;
|
|
84
|
+
preparationError?: import("../../proctored-assessment/preparation-feedback.js").PreparationFeedback;
|
|
85
|
+
embedded?: boolean;
|
|
86
|
+
}> & Readonly<{
|
|
87
|
+
onResume?: (() => any) | undefined;
|
|
88
|
+
onHelp?: (() => any) | undefined;
|
|
89
|
+
}>, {}, {}, {}, {}, {}>;
|
|
90
|
+
__isFragment?: never;
|
|
91
|
+
__isTeleport?: never;
|
|
92
|
+
__isSuspense?: never;
|
|
93
|
+
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
94
|
+
rows: ReadonlyArray<CheckRow>;
|
|
95
|
+
messages: import("@a4anthony/proctorkit-content").PreflightMessages;
|
|
96
|
+
mode: import("@a4anthony/proctorkit-sdk").SystemCheckMode;
|
|
97
|
+
autoResumeSeconds: number;
|
|
98
|
+
starting?: boolean;
|
|
99
|
+
preparationError?: import("../../proctored-assessment/preparation-feedback.js").PreparationFeedback;
|
|
100
|
+
embedded?: boolean;
|
|
101
|
+
}> & Readonly<{
|
|
102
|
+
onResume?: (() => any) | undefined;
|
|
103
|
+
onHelp?: (() => any) | undefined;
|
|
104
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
105
|
+
resume: () => any;
|
|
106
|
+
help: () => any;
|
|
107
|
+
}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
108
|
+
$slots: {
|
|
109
|
+
'footer-extras'?: (props: {}) => any;
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
ProctoringButton: {
|
|
113
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
114
|
+
variant?: "primary" | "link" | "secondary" | "brand" | "ghost" | "outline" | "danger-link" | "danger" | "success";
|
|
115
|
+
size?: "xs" | "sm" | "compact" | "dense" | "control" | "md" | "lg" | "inline" | "icon-xs" | "icon-sm" | "icon";
|
|
116
|
+
type?: "reset" | "submit" | "button";
|
|
117
|
+
disabled?: boolean;
|
|
118
|
+
loading?: boolean;
|
|
119
|
+
fullWidth?: boolean;
|
|
120
|
+
icon?: import("vue").Component;
|
|
121
|
+
iconPosition?: "prepend" | "append";
|
|
122
|
+
unstyled?: boolean;
|
|
123
|
+
}> & Readonly<{}>, {
|
|
124
|
+
focus: (options?: FocusOptions) => void | undefined;
|
|
125
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
126
|
+
size: "xs" | "sm" | "compact" | "dense" | "control" | "md" | "lg" | "inline" | "icon-xs" | "icon-sm" | "icon";
|
|
127
|
+
variant: "primary" | "link" | "secondary" | "brand" | "ghost" | "outline" | "danger-link" | "danger" | "success";
|
|
128
|
+
type: "reset" | "submit" | "button";
|
|
129
|
+
disabled: boolean;
|
|
130
|
+
loading: boolean;
|
|
131
|
+
fullWidth: boolean;
|
|
132
|
+
iconPosition: "prepend" | "append";
|
|
133
|
+
unstyled: boolean;
|
|
134
|
+
}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
135
|
+
P: {};
|
|
136
|
+
B: {};
|
|
137
|
+
D: {};
|
|
138
|
+
C: {};
|
|
139
|
+
M: {};
|
|
140
|
+
Defaults: {};
|
|
141
|
+
}, Readonly<{
|
|
142
|
+
variant?: "primary" | "link" | "secondary" | "brand" | "ghost" | "outline" | "danger-link" | "danger" | "success";
|
|
143
|
+
size?: "xs" | "sm" | "compact" | "dense" | "control" | "md" | "lg" | "inline" | "icon-xs" | "icon-sm" | "icon";
|
|
144
|
+
type?: "reset" | "submit" | "button";
|
|
145
|
+
disabled?: boolean;
|
|
146
|
+
loading?: boolean;
|
|
147
|
+
fullWidth?: boolean;
|
|
148
|
+
icon?: import("vue").Component;
|
|
149
|
+
iconPosition?: "prepend" | "append";
|
|
150
|
+
unstyled?: boolean;
|
|
151
|
+
}> & Readonly<{}>, {
|
|
152
|
+
focus: (options?: FocusOptions) => void | undefined;
|
|
153
|
+
}, {}, {}, {}, {
|
|
154
|
+
size: "xs" | "sm" | "compact" | "dense" | "control" | "md" | "lg" | "inline" | "icon-xs" | "icon-sm" | "icon";
|
|
155
|
+
variant: "primary" | "link" | "secondary" | "brand" | "ghost" | "outline" | "danger-link" | "danger" | "success";
|
|
156
|
+
type: "reset" | "submit" | "button";
|
|
157
|
+
disabled: boolean;
|
|
158
|
+
loading: boolean;
|
|
159
|
+
fullWidth: boolean;
|
|
160
|
+
iconPosition: "prepend" | "append";
|
|
161
|
+
unstyled: boolean;
|
|
162
|
+
}>;
|
|
163
|
+
__isFragment?: never;
|
|
164
|
+
__isTeleport?: never;
|
|
165
|
+
__isSuspense?: never;
|
|
166
|
+
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
167
|
+
variant?: "primary" | "link" | "secondary" | "brand" | "ghost" | "outline" | "danger-link" | "danger" | "success";
|
|
168
|
+
size?: "xs" | "sm" | "compact" | "dense" | "control" | "md" | "lg" | "inline" | "icon-xs" | "icon-sm" | "icon";
|
|
169
|
+
type?: "reset" | "submit" | "button";
|
|
170
|
+
disabled?: boolean;
|
|
171
|
+
loading?: boolean;
|
|
172
|
+
fullWidth?: boolean;
|
|
173
|
+
icon?: import("vue").Component;
|
|
174
|
+
iconPosition?: "prepend" | "append";
|
|
175
|
+
unstyled?: boolean;
|
|
176
|
+
}> & Readonly<{}>, {
|
|
177
|
+
focus: (options?: FocusOptions) => void | undefined;
|
|
178
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
179
|
+
size: "xs" | "sm" | "compact" | "dense" | "control" | "md" | "lg" | "inline" | "icon-xs" | "icon-sm" | "icon";
|
|
180
|
+
variant: "primary" | "link" | "secondary" | "brand" | "ghost" | "outline" | "danger-link" | "danger" | "success";
|
|
181
|
+
type: "reset" | "submit" | "button";
|
|
182
|
+
disabled: boolean;
|
|
183
|
+
loading: boolean;
|
|
184
|
+
fullWidth: boolean;
|
|
185
|
+
iconPosition: "prepend" | "append";
|
|
186
|
+
unstyled: boolean;
|
|
187
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
188
|
+
$slots: {
|
|
189
|
+
leading?: (props: {}) => any;
|
|
190
|
+
} & {
|
|
191
|
+
default?: (props: {}) => any;
|
|
192
|
+
} & {
|
|
193
|
+
trailing?: (props: {}) => any;
|
|
194
|
+
};
|
|
195
|
+
});
|
|
196
|
+
MediaHelp: import("vue").DefineComponent<{
|
|
197
|
+
open: boolean;
|
|
198
|
+
content: import("../../i18n/index.js").MediaHelpContent;
|
|
199
|
+
dark?: boolean;
|
|
200
|
+
topic?: MediaHelpTopicId;
|
|
201
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
202
|
+
close: () => any;
|
|
203
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
204
|
+
open: boolean;
|
|
205
|
+
content: import("../../i18n/index.js").MediaHelpContent;
|
|
206
|
+
dark?: boolean;
|
|
207
|
+
topic?: MediaHelpTopicId;
|
|
208
|
+
}> & Readonly<{
|
|
209
|
+
onClose?: (() => any) | undefined;
|
|
210
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
211
|
+
};
|
|
212
|
+
setup(): {
|
|
213
|
+
options: DisplayStoryOptions;
|
|
214
|
+
messages: import("vue").ComputedRef<import("@a4anthony/proctorkit-content").PreflightMessages>;
|
|
215
|
+
rows: import("vue").Ref<{
|
|
216
|
+
kind: import("@a4anthony/proctorkit-sdk").CheckKind;
|
|
217
|
+
state: {
|
|
218
|
+
kind: "pending";
|
|
219
|
+
} | {
|
|
220
|
+
kind: "checking";
|
|
221
|
+
message?: string | undefined;
|
|
222
|
+
} | {
|
|
223
|
+
kind: "pass";
|
|
224
|
+
detail: string;
|
|
225
|
+
} | {
|
|
226
|
+
kind: "fail";
|
|
227
|
+
code: import("@a4anthony/proctorkit-sdk").FailCode;
|
|
228
|
+
detail: string;
|
|
229
|
+
} | {
|
|
230
|
+
kind: "skipped";
|
|
231
|
+
};
|
|
232
|
+
photo?: string | undefined;
|
|
233
|
+
mbps?: number | undefined;
|
|
234
|
+
uploadMbps?: number | undefined;
|
|
235
|
+
latencyMs?: number | undefined;
|
|
236
|
+
jitterMs?: number | undefined;
|
|
237
|
+
recordingUploadMode?: "direct" | "segments" | "post" | undefined;
|
|
238
|
+
readinessPayloadBytes?: number | undefined;
|
|
239
|
+
readinessMedianMs?: number | undefined;
|
|
240
|
+
readinessWindowMs?: number | undefined;
|
|
241
|
+
readinessSampleCount?: number | undefined;
|
|
242
|
+
band?: import("@a4anthony/proctorkit-sdk").ConnectionBand | undefined;
|
|
243
|
+
}[], CheckRow[] | {
|
|
244
|
+
kind: import("@a4anthony/proctorkit-sdk").CheckKind;
|
|
245
|
+
state: {
|
|
246
|
+
kind: "pending";
|
|
247
|
+
} | {
|
|
248
|
+
kind: "checking";
|
|
249
|
+
message?: string | undefined;
|
|
250
|
+
} | {
|
|
251
|
+
kind: "pass";
|
|
252
|
+
detail: string;
|
|
253
|
+
} | {
|
|
254
|
+
kind: "fail";
|
|
255
|
+
code: import("@a4anthony/proctorkit-sdk").FailCode;
|
|
256
|
+
detail: string;
|
|
257
|
+
} | {
|
|
258
|
+
kind: "skipped";
|
|
259
|
+
};
|
|
260
|
+
photo?: string | undefined;
|
|
261
|
+
mbps?: number | undefined;
|
|
262
|
+
uploadMbps?: number | undefined;
|
|
263
|
+
latencyMs?: number | undefined;
|
|
264
|
+
jitterMs?: number | undefined;
|
|
265
|
+
recordingUploadMode?: "direct" | "segments" | "post" | undefined;
|
|
266
|
+
readinessPayloadBytes?: number | undefined;
|
|
267
|
+
readinessMedianMs?: number | undefined;
|
|
268
|
+
readinessWindowMs?: number | undefined;
|
|
269
|
+
readinessSampleCount?: number | undefined;
|
|
270
|
+
band?: import("@a4anthony/proctorkit-sdk").ConnectionBand | undefined;
|
|
271
|
+
}[]>;
|
|
272
|
+
monitor: DisplayMonitor;
|
|
273
|
+
recheck: () => Promise<void>;
|
|
274
|
+
retryAll: () => Promise<void>;
|
|
275
|
+
disconnect: () => void;
|
|
276
|
+
reconnect: () => void;
|
|
277
|
+
activeStep: import("vue").Ref<string, string>;
|
|
278
|
+
resume: () => Promise<void>;
|
|
279
|
+
helpOpen: import("vue").Ref<boolean, boolean>;
|
|
280
|
+
helpTopic: import("vue").Ref<MediaHelpTopicId, MediaHelpTopicId>;
|
|
281
|
+
openHelp: (topic: MediaHelpTopicId) => void;
|
|
282
|
+
helpContent: import("vue").ComputedRef<import("../../i18n/index.js").MediaHelpContent>;
|
|
283
|
+
};
|
|
284
|
+
template: string;
|
|
285
|
+
};
|
|
286
|
+
export declare function requestDisplayPermission(canvasElement: HTMLElement): Promise<void>;
|
|
287
|
+
export declare function disconnectExtraDisplay(canvasElement: HTMLElement): Promise<void>;
|
|
288
|
+
export declare function dismissDisplayPermission(canvasElement: HTMLElement): Promise<void>;
|
|
289
|
+
export {};
|
|
290
|
+
//# sourceMappingURL=display-recovery-story.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-recovery-story.d.ts","sourceRoot":"","sources":["../../../src/check-cards/system/display-recovery-story.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,cAAc,EAEf,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE,UAAU,mBAAmB;IAC3B,gBAAgB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,mBAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2EhC,OAAO,CAAC,IAAI,CAAC;wBA0BZ,OAAO,CAAC,IAAI,CAAC;0BAQjB,IAAI;yBAKL,IAAI;;sBAUD,OAAO,CAAC,IAAI,CAAC;;;0BAKb,gBAAgB,KAAG,IAAI;;;;EA2CrD;AAED,wBAAsB,wBAAwB,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF;AAED,wBAAsB,sBAAsB,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF;AAED,wBAAsB,wBAAwB,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuestionCard.vue.d.ts","sourceRoot":"","sources":["../../src/demo-runner/QuestionCard.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QuestionCard.vue.d.ts","sourceRoot":"","sources":["../../src/demo-runner/QuestionCard.vue"],"names":[],"mappings":"AAoQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB,KAAK,WAAW,GAAG;IACf,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,kEAAkE;IAClE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;qCAEiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAqDJ,iBAAe,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;;;;;;;;;;;;eAxDe,MAAM;YAJT,gBAAgB;;AA4Z7B,wBASG"}
|
package/dist/detect-face.d.ts
CHANGED
|
@@ -1,79 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* preflight proxy.
|
|
2
|
+
* The session-scoped preflight camera check.
|
|
4
3
|
*
|
|
5
|
-
* The
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* working integration in one call:
|
|
10
|
-
*
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { createNestDetectFace, ProctoringSystemCheck } from "@a4anthony/proctorkit-vue";
|
|
13
|
-
*
|
|
14
|
-
* createApp(...).mount(...).h(ProctoringSystemCheck, {
|
|
15
|
-
* engineOptions: {
|
|
16
|
-
* deepCamera: {
|
|
17
|
-
* detectFace: createNestDetectFace({ baseUrl: "http://localhost:3001" }),
|
|
18
|
-
* },
|
|
19
|
-
* },
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* Customers running their own face stack (commercial APIs, in-house
|
|
24
|
-
* models, etc) still write their own `detectFace` -- this helper is a
|
|
25
|
-
* convenience for the common case, not a constraint.
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* Configuration for the NestJS-backed face detector.
|
|
4
|
+
* The face count comes from the candidate's browser (normally
|
|
5
|
+
* `createBrowserDetectFace`); this helper uploads the checked frame with
|
|
6
|
+
* that count so the backend stores it as preflight evidence and records
|
|
7
|
+
* the verdict. The backend runs no face detection of its own.
|
|
29
8
|
*/
|
|
30
|
-
export interface CreateNestDetectFaceOptions {
|
|
31
|
-
/**
|
|
32
|
-
* Base URL of the NestJS server. The helper appends
|
|
33
|
-
* `/preflight/detect-face`. No trailing slash required; both
|
|
34
|
-
* `http://localhost:3001` and `http://localhost:3001/` work.
|
|
35
|
-
*/
|
|
36
|
-
baseUrl: string;
|
|
37
|
-
/**
|
|
38
|
-
* Hard timeout (ms) on each detect call. The Python sidecar runs
|
|
39
|
-
* CPU inference at ~50-150ms per image, plus a small proxy hop;
|
|
40
|
-
* 5s gives generous headroom for cold-start after a service
|
|
41
|
-
* restart. Default: 5000.
|
|
42
|
-
*/
|
|
43
|
-
timeoutMs?: number;
|
|
44
|
-
/**
|
|
45
|
-
* When true, append `?embeddings=1` so the server forwards the
|
|
46
|
-
* 512-dim ArcFace embedding per face. Only meaningful when the
|
|
47
|
-
* caller is going to consume the embedding (eg. session-bootstrap
|
|
48
|
-
* persisting it for later identity matching). Defaults to false
|
|
49
|
-
* for the candidate-facing wizard, since embeddings leak biometric
|
|
50
|
-
* data that the preflight check itself doesn't need.
|
|
51
|
-
*/
|
|
52
|
-
includeEmbeddings?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Optional extra headers to attach to every detect request.
|
|
55
|
-
* Typically used for auth (`Authorization: Bearer ...` or an
|
|
56
|
-
* `x-app-id` matching the rest of the proctoring API).
|
|
57
|
-
*/
|
|
58
|
-
headers?: Record<string, string>;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Result shape returned by `POST /preflight/detect-face`. Kept as
|
|
62
|
-
* an exported interface so consumers reading the embeddings can
|
|
63
|
-
* pull the type without depending on the NestJS server package.
|
|
64
|
-
*/
|
|
65
|
-
export interface NestDetectFaceResult {
|
|
66
|
-
faceCount: number;
|
|
67
|
-
faces: Array<{
|
|
68
|
-
x: number;
|
|
69
|
-
y: number;
|
|
70
|
-
w: number;
|
|
71
|
-
h: number;
|
|
72
|
-
confidence: number;
|
|
73
|
-
embedding?: number[];
|
|
74
|
-
}>;
|
|
75
|
-
inferenceMs: number;
|
|
76
|
-
}
|
|
77
9
|
export interface CreateNestPreflightCameraCheckOptions {
|
|
78
10
|
/**
|
|
79
11
|
* Base URL of the NestJS server. The helper appends
|
|
@@ -89,16 +21,23 @@ export interface CreateNestPreflightCameraCheckOptions {
|
|
|
89
21
|
sessionId: string;
|
|
90
22
|
appId?: string;
|
|
91
23
|
fingerprintId?: string;
|
|
92
|
-
maxFacesAllowed?: number;
|
|
93
24
|
timeoutMs?: number;
|
|
94
25
|
headers?: Record<string, string>;
|
|
26
|
+
/**
|
|
27
|
+
* Counts the faces in the frame before it is uploaded, normally the
|
|
28
|
+
* in-browser detector from `createBrowserDetectFace`. The count is
|
|
29
|
+
* sent with the frame and the server records the verdict from it.
|
|
30
|
+
*/
|
|
31
|
+
detectFace: (jpegDataUrl: string) => Promise<{
|
|
32
|
+
faceCount: number;
|
|
33
|
+
}>;
|
|
95
34
|
}
|
|
96
35
|
export interface NestPreflightCameraCheckResult {
|
|
97
36
|
sessionId: string;
|
|
98
37
|
photoId: string;
|
|
99
38
|
attempt: number;
|
|
100
39
|
passed: boolean;
|
|
101
|
-
verdict: "passed" | "no-face" | "multiple-faces"
|
|
40
|
+
verdict: "passed" | "no-face" | "multiple-faces";
|
|
102
41
|
faceCount: number;
|
|
103
42
|
confidence: number | null;
|
|
104
43
|
inferenceMs: number | null;
|
|
@@ -107,31 +46,19 @@ export interface NestPreflightCameraCheckResult {
|
|
|
107
46
|
}
|
|
108
47
|
/**
|
|
109
48
|
* Derive the NestJS API base URL from the wizard ingest URL.
|
|
110
|
-
* Customers normally configure only `/ingest`; the
|
|
111
|
-
* detector
|
|
49
|
+
* Customers normally configure only `/ingest`; the camera-check
|
|
50
|
+
* endpoint and the face detector's assets live on the same host.
|
|
112
51
|
*/
|
|
113
52
|
export declare const detectFaceBaseUrlFromIngestUrl: (ingestUrl: string) => string;
|
|
114
|
-
/**
|
|
115
|
-
* Build a `detectFace` callback that POSTs to the NestJS proxy.
|
|
116
|
-
*
|
|
117
|
-
* The returned function matches the SDK's strict contract: it
|
|
118
|
-
* resolves with `{ faceCount }` on success, and *throws* on any
|
|
119
|
-
* failure (network, non-2xx, JSON parse error, timeout). The SDK's
|
|
120
|
-
* deep-camera check treats a thrown error as a hard fail
|
|
121
|
-
* (`deep-check-failed`), retrying up to 3 times before giving up,
|
|
122
|
-
* so transient flakes from the upstream stack are absorbed naturally.
|
|
123
|
-
*/
|
|
124
|
-
export declare const createNestDetectFace: (options: CreateNestDetectFaceOptions) => ((jpegDataUrl: string) => Promise<{
|
|
125
|
-
faceCount: number;
|
|
126
|
-
}>);
|
|
127
53
|
/**
|
|
128
54
|
* Build the production preflight camera verifier.
|
|
129
55
|
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* camera-check endpoint, where the backend stores the
|
|
133
|
-
*
|
|
134
|
-
*
|
|
56
|
+
* It counts the faces on the candidate's device with `detectFace`
|
|
57
|
+
* (the in-browser detector), then posts the JPEG and that count to the
|
|
58
|
+
* session-scoped camera-check endpoint, where the backend stores the
|
|
59
|
+
* exact frame, links it to the preflight outcome and returns the
|
|
60
|
+
* verdict. A detector failure throws before anything is uploaded, so
|
|
61
|
+
* the SDK retries.
|
|
135
62
|
*/
|
|
136
63
|
export declare const createNestPreflightCameraCheck: (options: CreateNestPreflightCameraCheckOptions) => ((jpegDataUrl: string) => Promise<{
|
|
137
64
|
faceCount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-face.d.ts","sourceRoot":"","sources":["../src/detect-face.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"detect-face.d.ts","sourceRoot":"","sources":["../src/detect-face.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,qCAAqC;IACpD;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;OAIG;IACH,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAyBD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,WAAW,MAAM,KAAG,MACX,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,GACzC,SAAS,qCAAqC,KAC7C,CAAC,CACF,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,8BAA8B,CAAC,SAAS,CAAC,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAuDD,CAAC"}
|
package/dist/i18n/merge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/i18n/merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,KAAK,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAElD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,eAAe,GAAG,SAAS,GACpC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/i18n/merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,KAAK,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAElD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,eAAe,GAAG,SAAS,GACpC,iBAAiB,CAiHnB;AAED,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,iBAAoC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
* `ProctoringFileUpload`, and `ProctoringAlert`: shared form + messaging
|
|
12
12
|
* components for proctoring surfaces.
|
|
13
13
|
* - `usePreflightCheck`: the bare composable for custom UIs.
|
|
14
|
-
* - `
|
|
15
|
-
*
|
|
14
|
+
* - `createBrowserDetectFace`: the in-browser face detector (BlazeFace)
|
|
15
|
+
* the preflight camera check, headshot and resume check use. Use
|
|
16
|
+
* directly in `engineOptions.deepCamera.detectFace`.
|
|
16
17
|
* - Engine types re-exported so consumers don't need to also depend on
|
|
17
18
|
* the SDK package for typings.
|
|
18
19
|
*
|
|
@@ -27,44 +28,54 @@ export type { PreflightUi } from "./preflight-ui.js";
|
|
|
27
28
|
export type { ProctoringSystemCheckEmits, ProctoringSystemCheckProps, } from "./proctoring-system-check-contract.js";
|
|
28
29
|
export { default as ProctoringDeviceSettings } from "./ProctoringDeviceSettings.vue";
|
|
29
30
|
export type { ProctoringDeviceSettingsClient, ProctoringDeviceSettingsDetectFace, ProctoringDeviceSettingsKind, ProctoringDeviceSettingsMessages, ProctoringDeviceSettingsOption, ProctoringDeviceSettingsTestFn, } from "./ProctoringDeviceSettings.vue";
|
|
31
|
+
export { default as ProctoringDevicePicker } from "./runtime-devices/ProctoringDevicePicker.vue";
|
|
32
|
+
export type { ProctoringDevicePickerKind } from "./runtime-devices/ProctoringDevicePicker.vue";
|
|
33
|
+
export { useRuntimeDevice, type RuntimeDevicePickerClient, type RuntimeDeviceSwitchFailure, type UseRuntimeDeviceOptions, } from "./runtime-devices/useRuntimeDevice.js";
|
|
34
|
+
export { DEFAULT_DEVICE_PICKER_MESSAGES, type ProctoringDevicePickerMessages, } from "./runtime-devices/device-picker-messages.js";
|
|
35
|
+
export type { RuntimeDeviceSelectionKind } from "./runtime-devices/runtime-device-selection.js";
|
|
36
|
+
export { useMicrophoneAttention, type MicrophoneAttention, type MicrophoneAttentionReason, } from "./runtime-devices/microphone-attention.js";
|
|
37
|
+
export { DEFAULT_MICROPHONE_CHECK_MESSAGES, type MicrophoneCheckMessages, } from "./runtime-devices/microphone-check-messages.js";
|
|
30
38
|
export { default as ResumeCheck } from "./wizard/ResumeCheck.vue";
|
|
31
39
|
export type { ResumeCheckDevice, ResumeCheckItem, ResumeCheckKind, ResumeCheckReason, ResumeCheckStatus, } from "./wizard/ResumeCheck.vue";
|
|
32
40
|
export { default as AudioPlayer } from "./media-controls/AudioPlayer.vue";
|
|
33
41
|
export { default as VideoPlayer } from "./media-controls/VideoPlayer.vue";
|
|
34
42
|
export { default as AudioRecorder } from "./media-controls/AudioRecorder.vue";
|
|
43
|
+
export { DEFAULT_AUDIO_RECORDER_MICROPHONE_MESSAGES, type AudioRecorderMicrophoneMessages, } from "./media-controls/audio-recorder-messages.js";
|
|
35
44
|
export { default as VideoRecorder } from "./media-controls/VideoRecorder.vue";
|
|
36
45
|
export { default as ProctoringUiProvider } from "./ProctoringUiProvider.vue";
|
|
37
46
|
export { createProctoringUi, mergeMediaComponentUi, mergeMediaUiConfig, provideProctoringMediaUi, useMediaComponentUi, } from "./media-controls/ui-config.js";
|
|
38
47
|
export type { AudioPlayerPart, AudioPlayerUi, AudioRecorderPart, AudioRecorderUi, MediaClassValue, MediaComponentName, MediaComponentUi, MediaPartClasses, MediaPartStyles, ProctoringMediaTheme, ProctoringMediaUiConfig, ProctoringUiConfig, ResolvedMediaComponentUi, VideoPlayerPart, VideoPlayerUi, VideoRecorderPart, VideoRecorderUi, } from "./media-controls/ui-config.js";
|
|
39
48
|
export { default as ProctoredTextarea } from "./text-answer/ProctoredTextarea.vue";
|
|
40
|
-
export type { SaveAnswerFn, SaveState, SaveError
|
|
49
|
+
export type { SaveAnswerFn, SaveState, SaveError } from "./text-answer/useProctoredText.js";
|
|
41
50
|
export type { PersistedAnswer, ServerAnswerSnapshot, RestoredAnswer, } from "./text-answer/useTextAutosave.js";
|
|
42
51
|
export { default as ProctoringAlert } from "./ui/ProctoringAlert.vue";
|
|
43
52
|
export { default as ProctoringButton } from "./ui/ProctoringButton.vue";
|
|
44
53
|
export { default as ProctoringFileUpload } from "./ui/ProctoringFileUpload.vue";
|
|
45
54
|
export { default as ProctoringInput } from "./ui/ProctoringInput.vue";
|
|
46
|
-
export type { ProctoringInputSize, ProctoringInputType
|
|
55
|
+
export type { ProctoringInputSize, ProctoringInputType } from "./ui/ProctoringInput.vue";
|
|
47
56
|
export { default as ProctoringSelect } from "./ui/ProctoringSelect.vue";
|
|
48
57
|
export type { SelectOption } from "./ui/ProctoringSelect.vue";
|
|
49
58
|
export { usePreflightCheck } from "./usePreflightCheck.js";
|
|
50
59
|
export { clearActiveProctoringClient, getActiveProctoringClient, setActiveProctoringClient, useProctoringClient, } from "./proctoring-client.js";
|
|
51
|
-
export type { ProctoringVueClient, ProctoringVueClientControls, } from "./proctoring-client.js";
|
|
60
|
+
export type { OpenSettingsOptions, ProctoringVueClient, ProctoringVueClientControls, } from "./proctoring-client.js";
|
|
52
61
|
export { DEFAULT_MESSAGES, type PreflightMessages } from "./messages.js";
|
|
53
62
|
export type { ProctoringContentState } from "./content/types.js";
|
|
54
63
|
export { default as LanguageSelector } from "./i18n/LanguageSelector.vue";
|
|
55
64
|
export { default as MediaHelp } from "./i18n/MediaHelp.vue";
|
|
56
65
|
export { createProctoringI18n, resolveMessages, resolveMediaHelp, resolveInitialLocale, useLocale, DEFAULT_LOCALE, SUPPORTED_LOCALES, type LocaleCode, type LocaleDescriptor, type UseLocale, } from "./i18n/index.js";
|
|
57
66
|
export { MEDIA_HELP_TOPIC_ORDER, type MediaHelpContent, type MediaHelpTopic, type MediaHelpTopicId, } from "./i18n/media-help.js";
|
|
58
|
-
export {
|
|
67
|
+
export { VISION_ASSETS_VERSION, createBrowserDetectFace, prefetchBrowserFaceDetector, visionAssetsFromApiBase, type VisionAssets, } from "./browser-face-detector.js";
|
|
68
|
+
export { createNestPreflightCameraCheck, type CreateNestPreflightCameraCheckOptions, type NestPreflightCameraCheckResult, } from "./detect-face.js";
|
|
59
69
|
export type { CandidateIntakeCheckboxField, CandidateIntakeConfig, CandidateIntakeDateField, CandidateIntakeField, CandidateIntakeFieldType, CandidateIntakeFileField, CandidateIntakeFileValue, CandidateIntakeHeadshotField, CandidateIntakePlacement, CandidateIntakeSelectField, CandidateIntakeSelectOption, CandidateIntakeSection, CandidateIntakeSubmission, CandidateIntakeSubmitOutcome, CandidateIntakeSubmitResult, CandidateIntakeSubmitter, CandidateIntakeTextField, CandidateIntakeValue, CandidateIntakeValues, } from "./candidate-intake.js";
|
|
60
70
|
export { validateCandidateIntakeSections } from "./candidate-intake.js";
|
|
61
|
-
export type { CheckKind, CheckRow, CheckState, FailCode, MediaChecksConfig, MediaDeviceInfoLite, MediaDeviceList, PreflightReport, RuntimeDeviceKind, RuntimeDeviceSwitchErrorCode, RuntimeDeviceSwitchResult, SelectedDevice, SelectedDevices, SimulatedCheckResult, SystemCheckMode, SystemCheckOptions, } from "@a4anthony/proctorkit-sdk";
|
|
71
|
+
export type { CheckKind, CheckRow, CheckState, FailCode, MediaChecksConfig, MediaDeviceInfoLite, MediaDeviceList, PreflightReport, RuntimeDeviceKind, RuntimeDeviceSwitchErrorCode, RuntimeDeviceSwitchResult, SelectedDevice, SelectedDevices, SessionEndDrainStatus, SessionEndDrainStream, SessionEndResult, SessionEndTerminalEventState, SimulatedCheckResult, SpeakerProbeOptions, SystemCheckMode, SystemCheckOptions, } from "@a4anthony/proctorkit-sdk";
|
|
62
72
|
export { enumerateMediaDevices } from "@a4anthony/proctorkit-sdk";
|
|
63
73
|
export { PROCTORING_POLICY_PRESETS, buildPreflightEngineOptions, buildSdkObservers, resolveProctoringPolicy, shouldRunPreflight, } from "./proctored-assessment/policy.js";
|
|
64
74
|
export type { Candidate, DeepPartial, FaceAnalysisPolicy, ProctoredAssessmentPreset, ProctoringPolicy, ProctoringPolicyInput, VerificationMode, WebcamMode, } from "./proctored-assessment/policy.js";
|
|
65
75
|
export type { ActiveSessionInfo, CandidateIntakeSubmittedPayload, PreflightFailedPayload, ProctoredAssessmentBlockedReason, ProctoredAssessmentBlockedSlotProps, ProctoredAssessmentDefaultSlotProps, ProctoredAssessmentEndedSlotProps, ProctoredAssessmentLoadingPhase, ProctoredAssessmentLoadingSlotProps, ProctoredAssessmentReadySlotProps, ResolvedAttempt, SessionEndedPayload, SessionErrorPayload, SessionStartedPayload, } from "./proctored-assessment/types.js";
|
|
66
76
|
export type { IntegrityClearInfo, IntegrityHoldInfo, } from "./proctored-assessment/integrity-hold.js";
|
|
67
|
-
export type { AudioPlaybackErrorPayload, AudioPlaybackEventPayload, AudioReplayLimitReachedPayload, MediaClipData, MediaClipDataSink, MediaClipDropCode, MediaClipDroppedPayload, MediaClipErrorCode, MediaClipErrorPayload, MediaClipKind, MediaClipMirrorErrorPayload, MediaClipStartedPayload, MediaClipStoppedPayload, MediaClipUploadedPayload, MediaPlaybackErrorPayload, MediaPlaybackEventPayload, MediaPlaybackThrownErrorPayload, MediaReplayLimitReachedPayload, VideoPlaybackErrorPayload, VideoPlaybackEventPayload, VideoReplayLimitReachedPayload, } from "./media-controls/types.js";
|
|
77
|
+
export type { AudioClipFallbackUploadedPayload, AudioClipProctoringFallback, AudioPlaybackErrorPayload, AudioPlaybackEventPayload, AudioReplayLimitReachedPayload, MediaClipData, MediaClipDataSink, MediaClipDropCode, MediaClipDroppedPayload, MediaClipErrorCode, MediaClipErrorPayload, MediaClipKind, MediaClipMirrorErrorPayload, MediaClipSendContext, MediaClipStartedPayload, MediaClipStoppedPayload, MediaClipUploadedPayload, MediaPlaybackErrorPayload, MediaPlaybackEventPayload, MediaPlaybackThrownErrorPayload, MediaReplayLimitReachedPayload, VideoPlaybackErrorPayload, VideoPlaybackEventPayload, VideoReplayLimitReachedPayload, } from "./media-controls/types.js";
|
|
78
|
+
export { isAudioClipFallbackUploadedPayload } from "./media-controls/types.js";
|
|
68
79
|
export { default as DemoAssessmentRunner } from "./demo-runner/DemoAssessmentRunner.vue";
|
|
69
80
|
export { default as DemoQuestionCard } from "./demo-runner/QuestionCard.vue";
|
|
70
81
|
export { default as DemoQuizChrome } from "./demo-runner/QuizChrome.vue";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|