@a4anthony/proctorkit-vue 0.1.5 → 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 @@
|
|
|
1
|
+
{"version":3,"file":"microphone-preflight-trace.test.d.ts","sourceRoot":"","sources":["../../src/wizard/microphone-preflight-trace.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PreparationFeedback } from "../../proctored-assessment/preparation-feedback.js";
|
|
1
2
|
import type { StoryObj } from "@storybook/vue3-vite";
|
|
2
3
|
import { type PropType } from "vue";
|
|
3
4
|
import type { MediaHelpTopicId } from "../../i18n/media-help.js";
|
|
@@ -58,10 +59,12 @@ export declare const baseMeta: {
|
|
|
58
59
|
busy?: boolean;
|
|
59
60
|
starting?: boolean;
|
|
60
61
|
startError?: string | null;
|
|
62
|
+
preparationError?: PreparationFeedback;
|
|
61
63
|
title?: string;
|
|
64
|
+
systemDefaultSpeakerLabel?: string;
|
|
62
65
|
}> & Readonly<{
|
|
63
|
-
onResume?: (() => any) | undefined;
|
|
64
66
|
onRetry?: ((kind: import("../device-check-presentation.js").DeviceCheckKind) => any) | undefined;
|
|
67
|
+
onResume?: (() => any) | undefined;
|
|
65
68
|
onStart?: (() => any) | undefined;
|
|
66
69
|
onHelp?: ((topic?: MediaHelpTopicId | undefined) => any) | undefined;
|
|
67
70
|
onSelectDevice?: ((payload: {
|
|
@@ -77,8 +80,8 @@ export declare const baseMeta: {
|
|
|
77
80
|
onSpeakerConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
78
81
|
onCameraConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
79
82
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
80
|
-
resume: () => any;
|
|
81
83
|
retry: (kind: import("../device-check-presentation.js").DeviceCheckKind) => any;
|
|
84
|
+
resume: () => any;
|
|
82
85
|
start: () => any;
|
|
83
86
|
help: (topic?: MediaHelpTopicId | undefined) => any;
|
|
84
87
|
selectDevice: (payload: {
|
|
@@ -121,10 +124,12 @@ export declare const baseMeta: {
|
|
|
121
124
|
busy?: boolean;
|
|
122
125
|
starting?: boolean;
|
|
123
126
|
startError?: string | null;
|
|
127
|
+
preparationError?: PreparationFeedback;
|
|
124
128
|
title?: string;
|
|
129
|
+
systemDefaultSpeakerLabel?: string;
|
|
125
130
|
}> & Readonly<{
|
|
126
|
-
onResume?: (() => any) | undefined;
|
|
127
131
|
onRetry?: ((kind: import("../device-check-presentation.js").DeviceCheckKind) => any) | undefined;
|
|
132
|
+
onResume?: (() => any) | undefined;
|
|
128
133
|
onStart?: (() => any) | undefined;
|
|
129
134
|
onHelp?: ((topic?: MediaHelpTopicId | undefined) => any) | undefined;
|
|
130
135
|
onSelectDevice?: ((payload: {
|
|
@@ -164,10 +169,12 @@ export declare const baseMeta: {
|
|
|
164
169
|
busy?: boolean;
|
|
165
170
|
starting?: boolean;
|
|
166
171
|
startError?: string | null;
|
|
172
|
+
preparationError?: PreparationFeedback;
|
|
167
173
|
title?: string;
|
|
174
|
+
systemDefaultSpeakerLabel?: string;
|
|
168
175
|
}> & Readonly<{
|
|
169
|
-
onResume?: (() => any) | undefined;
|
|
170
176
|
onRetry?: ((kind: import("../device-check-presentation.js").DeviceCheckKind) => any) | undefined;
|
|
177
|
+
onResume?: (() => any) | undefined;
|
|
171
178
|
onStart?: (() => any) | undefined;
|
|
172
179
|
onHelp?: ((topic?: MediaHelpTopicId | undefined) => any) | undefined;
|
|
173
180
|
onSelectDevice?: ((payload: {
|
|
@@ -183,8 +190,8 @@ export declare const baseMeta: {
|
|
|
183
190
|
onSpeakerConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
184
191
|
onCameraConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
185
192
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
186
|
-
resume: () => any;
|
|
187
193
|
retry: (kind: import("../device-check-presentation.js").DeviceCheckKind) => any;
|
|
194
|
+
resume: () => any;
|
|
188
195
|
start: () => any;
|
|
189
196
|
help: (topic?: MediaHelpTopicId | undefined) => any;
|
|
190
197
|
selectDevice: (payload: {
|
|
@@ -287,6 +294,10 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
287
294
|
type: StringConstructor;
|
|
288
295
|
default: string;
|
|
289
296
|
};
|
|
297
|
+
preparationError: {
|
|
298
|
+
type: PropType<PreparationFeedback>;
|
|
299
|
+
default: undefined;
|
|
300
|
+
};
|
|
290
301
|
/** Select a mock microphone immediately after mount, allowing a named
|
|
291
302
|
* story to settle into the real recovered-success state. */
|
|
292
303
|
autoSelectMicrophoneId: {
|
|
@@ -330,6 +341,7 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
330
341
|
}[] | undefined;
|
|
331
342
|
selectedDeviceId?: string | undefined;
|
|
332
343
|
deviceLabel?: string | undefined;
|
|
344
|
+
speakerOutputMode?: "selected-device" | "system-output" | undefined;
|
|
333
345
|
}[];
|
|
334
346
|
};
|
|
335
347
|
fix: (kind: ResumeCheckKind) => void;
|
|
@@ -370,6 +382,10 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
370
382
|
type: StringConstructor;
|
|
371
383
|
default: string;
|
|
372
384
|
};
|
|
385
|
+
preparationError: {
|
|
386
|
+
type: PropType<PreparationFeedback>;
|
|
387
|
+
default: undefined;
|
|
388
|
+
};
|
|
373
389
|
/** Select a mock microphone immediately after mount, allowing a named
|
|
374
390
|
* story to settle into the real recovered-success state. */
|
|
375
391
|
autoSelectMicrophoneId: {
|
|
@@ -405,6 +421,7 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
405
421
|
onResume?: ((...args: any[]) => any) | undefined;
|
|
406
422
|
}>, {
|
|
407
423
|
starting: boolean;
|
|
424
|
+
preparationError: PreparationFeedback;
|
|
408
425
|
awaitingStart: boolean;
|
|
409
426
|
probing: boolean;
|
|
410
427
|
startError: string;
|
|
@@ -412,7 +429,7 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
412
429
|
autoSelectCameraId: string;
|
|
413
430
|
refreshYieldsNothing: import("../device-check-presentation.js").DeviceCheckKind[];
|
|
414
431
|
mockCameraPreview: boolean;
|
|
415
|
-
screenShareOutcome: "success" | "
|
|
432
|
+
screenShareOutcome: "success" | "unsupported" | "wrong-surface" | "stopped" | "cancelled";
|
|
416
433
|
}, {}, {
|
|
417
434
|
CandidateCheckActions: import("vue").DefineComponent<{
|
|
418
435
|
helpLabel: string;
|
|
@@ -465,10 +482,12 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
465
482
|
busy?: boolean;
|
|
466
483
|
starting?: boolean;
|
|
467
484
|
startError?: string | null;
|
|
485
|
+
preparationError?: PreparationFeedback;
|
|
468
486
|
title?: string;
|
|
487
|
+
systemDefaultSpeakerLabel?: string;
|
|
469
488
|
}> & Readonly<{
|
|
470
|
-
onResume?: (() => any) | undefined;
|
|
471
489
|
onRetry?: ((kind: import("../device-check-presentation.js").DeviceCheckKind) => any) | undefined;
|
|
490
|
+
onResume?: (() => any) | undefined;
|
|
472
491
|
onStart?: (() => any) | undefined;
|
|
473
492
|
onHelp?: ((topic?: MediaHelpTopicId | undefined) => any) | undefined;
|
|
474
493
|
onSelectDevice?: ((payload: {
|
|
@@ -484,8 +503,8 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
484
503
|
onSpeakerConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
485
504
|
onCameraConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
486
505
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
487
|
-
resume: () => any;
|
|
488
506
|
retry: (kind: import("../device-check-presentation.js").DeviceCheckKind) => any;
|
|
507
|
+
resume: () => any;
|
|
489
508
|
start: () => any;
|
|
490
509
|
help: (topic?: MediaHelpTopicId | undefined) => any;
|
|
491
510
|
selectDevice: (payload: {
|
|
@@ -528,10 +547,12 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
528
547
|
busy?: boolean;
|
|
529
548
|
starting?: boolean;
|
|
530
549
|
startError?: string | null;
|
|
550
|
+
preparationError?: PreparationFeedback;
|
|
531
551
|
title?: string;
|
|
552
|
+
systemDefaultSpeakerLabel?: string;
|
|
532
553
|
}> & Readonly<{
|
|
533
|
-
onResume?: (() => any) | undefined;
|
|
534
554
|
onRetry?: ((kind: import("../device-check-presentation.js").DeviceCheckKind) => any) | undefined;
|
|
555
|
+
onResume?: (() => any) | undefined;
|
|
535
556
|
onStart?: (() => any) | undefined;
|
|
536
557
|
onHelp?: ((topic?: MediaHelpTopicId | undefined) => any) | undefined;
|
|
537
558
|
onSelectDevice?: ((payload: {
|
|
@@ -571,10 +592,12 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
571
592
|
busy?: boolean;
|
|
572
593
|
starting?: boolean;
|
|
573
594
|
startError?: string | null;
|
|
595
|
+
preparationError?: PreparationFeedback;
|
|
574
596
|
title?: string;
|
|
597
|
+
systemDefaultSpeakerLabel?: string;
|
|
575
598
|
}> & Readonly<{
|
|
576
|
-
onResume?: (() => any) | undefined;
|
|
577
599
|
onRetry?: ((kind: import("../device-check-presentation.js").DeviceCheckKind) => any) | undefined;
|
|
600
|
+
onResume?: (() => any) | undefined;
|
|
578
601
|
onStart?: (() => any) | undefined;
|
|
579
602
|
onHelp?: ((topic?: MediaHelpTopicId | undefined) => any) | undefined;
|
|
580
603
|
onSelectDevice?: ((payload: {
|
|
@@ -590,8 +613,8 @@ export declare const LiveResumeCheck: import("vue").DefineComponent<import("vue"
|
|
|
590
613
|
onSpeakerConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
591
614
|
onCameraConfirmed?: ((deviceId?: string | undefined) => any) | undefined;
|
|
592
615
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
593
|
-
resume: () => any;
|
|
594
616
|
retry: (kind: import("../device-check-presentation.js").DeviceCheckKind) => any;
|
|
617
|
+
resume: () => any;
|
|
595
618
|
start: () => any;
|
|
596
619
|
help: (topic?: MediaHelpTopicId | undefined) => any;
|
|
597
620
|
selectDevice: (payload: {
|
|
@@ -632,6 +655,7 @@ export declare function story(items: ResumeCheckItem[], extra?: {
|
|
|
632
655
|
probing?: boolean;
|
|
633
656
|
starting?: boolean;
|
|
634
657
|
startError?: string;
|
|
658
|
+
preparationError?: PreparationFeedback;
|
|
635
659
|
autoSelectMicrophoneId?: string;
|
|
636
660
|
autoSelectCameraId?: string;
|
|
637
661
|
refreshYieldsNothing?: ResumeCheckKind[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/wizard/resume-check-stories/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,KAAK,CAAC;AAIb,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,WAAW,EAAE,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAI5B;;;;GAIG;AAEH,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAIjD,eAAO,MAAM,UAAU,EAAE,iBAAiB,EAGzC,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,iBAAiB,EAGzC,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,iBAAiB,EAG7C,CAAC;AAUF,eAAO,MAAM,EAAE,GAAI,MAAM,eAAe,KAAG,eAIzC,CAAC;AAGH,eAAO,MAAM,OAAO,GAAI,MAAM,eAAe,KAAG,eAI9C,CAAC;AAGH,eAAO,MAAM,gBAAgB,GAAI,MAAM,eAAe,KAAG,eAIvD,CAAC;AAKH,eAAO,MAAM,YAAY,GACvB,MAAM,eAAe,EACrB,SAAS,iBAAiB,EAAE,KAC3B,eAKD,CAAC;AASH,eAAO,MAAM,WAAW,GACtB,MAAM,eAAe,EACrB,UAAU,iBAAiB,EAAE,KAC5B,eAYD,CAAC;AAEH,eAAO,MAAM,KAAK,GAAI,MAAM,eAAe,EAAE,UAAU,iBAAiB,EAAE,KAAG,eAO3E,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,eAAe,EACrB,UAAU,iBAAiB,EAAE,KAC5B,eAKD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,eAAe,EACrB,SAAS,iBAAiB,EAAE,KAC3B,eAMD,CAAC;AAKH,eAAO,MAAM,SAAS,EAAE,eAKvB,CAAC;AACF,eAAO,MAAM,MAAM,EAAE,eAMpB,CAAC;AACF,eAAO,MAAM,aAAa,EAAE,eAM3B,CAAC;AACF,eAAO,MAAM,YAAY,EAAE,eAI1B,CAAC;AACF,eAAO,MAAM,eAAe,EAAE,eAI7B,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,MAAM,eAAe,EAAE,SAAS,iBAAiB,KAAG,eAI3E,CAAC;AACH,eAAO,MAAM,OAAO,EAAE,eAIrB,CAAC;AAkFF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;;;;;;;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/wizard/resume-check-stories/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,40 @@
|
|
|
1
1
|
export interface SpeakerTestToneResult {
|
|
2
2
|
/** Whether the browser created and played the tone successfully. */
|
|
3
3
|
played: boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Enumerated output the browser accepted for this playback.
|
|
6
|
+
*/
|
|
7
|
+
effectiveDeviceId?: string;
|
|
8
|
+
/** How the tone reached the candidate's audio output. */
|
|
9
|
+
outputMode?: "selected-device" | "system-output";
|
|
4
10
|
}
|
|
5
11
|
export interface SpeakerTestTonePlayer {
|
|
6
12
|
play: (deviceId?: string) => Promise<SpeakerTestToneResult>;
|
|
7
13
|
stop: () => Promise<void>;
|
|
8
14
|
}
|
|
15
|
+
/** Preserve browser-provided ids, including the literal `default` output. */
|
|
16
|
+
export declare function normalizeSpeakerDeviceId(deviceId?: string): string | undefined;
|
|
17
|
+
/** Whether this browser can route Web Audio to a caller-selected output. */
|
|
18
|
+
export declare function supportsSpeakerOutputRouting(): boolean;
|
|
9
19
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
20
|
+
* Resolve a saved speaker selection without playing audio. Resume uses this to
|
|
21
|
+
* avoid labelling an output as active unless the browser accepts that exact
|
|
22
|
+
* enumerated route.
|
|
13
23
|
*/
|
|
14
|
-
export declare function
|
|
24
|
+
export declare function resolveSpeakerOutputRoute(deviceId?: string): Promise<string | undefined>;
|
|
25
|
+
export interface SpeakerTestToneOptions {
|
|
26
|
+
/**
|
|
27
|
+
* "tone": the short 440 Hz beep used by the pre-flight wizard and resume
|
|
28
|
+
* recovery. "chime": a soft three-note chime (about 1.4 s) that is harder to
|
|
29
|
+
* miss, used when a candidate picks a speaker mid-assessment.
|
|
30
|
+
*/
|
|
31
|
+
sound?: "tone" | "chime";
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates the speaker test used by the pre-flight wizard, the mid-assessment
|
|
35
|
+
* resume recovery, and the in-question device picker. A browser with output
|
|
36
|
+
* routing must accept the exact enumerated route. Browsers without that API
|
|
37
|
+
* play only through the current system output and never attest a named device.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createSpeakerTestTonePlayer(options?: SpeakerTestToneOptions): SpeakerTestTonePlayer;
|
|
15
40
|
//# sourceMappingURL=speaker-test-tone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speaker-test-tone.d.ts","sourceRoot":"","sources":["../../src/wizard/speaker-test-tone.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"speaker-test-tone.d.ts","sourceRoot":"","sources":["../../src/wizard/speaker-test-tone.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,UAAU,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5D,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9E;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,IAAI,OAAO,CAUtD;AA0CD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB9F;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAmCD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAsEvB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type InjectionKey } from "vue";
|
|
2
|
+
import { type CandidateIssueReporter, type CandidateIssuePhase, type CandidateIssueStep, type CandidateIssueContext } from "@a4anthony/proctorkit-sdk";
|
|
3
|
+
export interface CandidateIssueCapture {
|
|
4
|
+
reporter: CandidateIssueReporter | null;
|
|
5
|
+
phase(): CandidateIssuePhase;
|
|
6
|
+
begin(phase: CandidateIssuePhase, step: CandidateIssueStep, retry?: boolean): string;
|
|
7
|
+
failed(phase: CandidateIssuePhase, step: CandidateIssueStep, code: unknown, message?: string, context?: CandidateIssueContext): void;
|
|
8
|
+
succeeded(phase: CandidateIssuePhase, step: CandidateIssueStep): void;
|
|
9
|
+
displayed(phase: CandidateIssuePhase, step: CandidateIssueStep, heading?: string, message?: string): void;
|
|
10
|
+
bindSession(sessionId: string): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const CANDIDATE_ISSUE_SURFACE: InjectionKey<() => CandidateIssueStep | null>;
|
|
13
|
+
export declare const CANDIDATE_ISSUE_SURFACE_PHASE: InjectionKey<() => CandidateIssuePhase>;
|
|
14
|
+
export declare const useProvidedCandidateIssues: () => CandidateIssueCapture | null;
|
|
15
|
+
/** Covers component-owned permission, device switch and evidence-save errors. */
|
|
16
|
+
export declare function watchCandidateIssueSurface(step: CandidateIssueStep, busy: () => boolean, error: () => string | null, denied: () => boolean, code?: () => string): void;
|
|
17
|
+
export declare function useCandidateIssues(options: {
|
|
18
|
+
appId?: string;
|
|
19
|
+
ingestUrl: string;
|
|
20
|
+
correlationId?: string;
|
|
21
|
+
candidate?: {
|
|
22
|
+
id: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
email?: string;
|
|
25
|
+
};
|
|
26
|
+
reporter?: CandidateIssueReporter;
|
|
27
|
+
phase?: () => CandidateIssuePhase;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
}): CandidateIssueCapture;
|
|
30
|
+
//# sourceMappingURL=useCandidateIssues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCandidateIssues.d.ts","sourceRoot":"","sources":["../../src/wizard/useCandidateIssues.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,KAAK,CAAC;AACjF,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACxC,KAAK,IAAI,mBAAmB,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACrF,MAAM,CACJ,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI,CAAC;IACR,SAAS,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtE,SAAS,CACP,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAC;IACR,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAC/C,CAAC;AACpC,eAAO,MAAM,6BAA6B,EAAE,YAAY,CAAC,MAAM,mBAAmB,CAEjF,CAAC;AACF,eAAO,MAAM,0BAA0B,QAAO,qBAAqB,GAAG,IAAyB,CAAC;AAChG,iFAAiF;AACjF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,OAAO,EACnB,KAAK,EAAE,MAAM,MAAM,GAAG,IAAI,EAC1B,MAAM,EAAE,MAAM,OAAO,EACrB,IAAI,CAAC,EAAE,MAAM,MAAM,GAClB,IAAI,CAmBN;AACD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,mBAAmB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,qBAAqB,CA2HxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCandidateIssues.test.d.ts","sourceRoot":"","sources":["../../src/wizard/useCandidateIssues.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Ref } from "vue";
|
|
2
|
+
import { type CheckRow, type DisplayMonitor, type SystemCheckOptions } from "@a4anthony/proctorkit-sdk";
|
|
3
|
+
import { type DisplayDiagnosticReporter, type DisplayTrigger } from "./display-diagnostics.js";
|
|
4
|
+
/** Own display changes for the entire preflight, including after the system step. */
|
|
5
|
+
export declare function useLiveDisplayCheck(options: SystemCheckOptions, rows: Ref<CheckRow[]>, running: Ref<boolean>, probe: () => Promise<void>, enabled?: boolean, monitor?: DisplayMonitor, report?: DisplayDiagnosticReporter): {
|
|
6
|
+
verify: (trigger?: DisplayTrigger) => Promise<boolean>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=useLiveDisplayCheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLiveDisplayCheck.d.ts","sourceRoot":"","sources":["../../src/wizard/useLiveDisplayCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACxE,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAmB,KAAK,yBAAyB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEhH,qFAAqF;AACrF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EACrB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1B,OAAO,UAAO,EACd,OAAO,GAAE,cAAoC,EAC7C,MAAM,CAAC,EAAE,yBAAyB;uBA4FH,cAAc,KAAoB,OAAO,CAAC,OAAO,CAAC;EAmBlF"}
|
|
@@ -1,31 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
* Preflight telemetry — emits `preflight.*` events to the proctoring
|
|
3
|
-
* server's /ingest endpoint as the wizard runs.
|
|
4
|
-
*
|
|
5
|
-
* Observability of the candidate's actual experience matters as
|
|
6
|
-
* much as the verdict: a candidate who passed after three retries
|
|
7
|
-
* tells a different story from one who passed first time. This
|
|
8
|
-
* composable subscribes to the engine's row stream + the wizard's
|
|
9
|
-
* UI-side hooks (attestation checkboxes, device picks) and folds
|
|
10
|
-
* everything into a per-correlationId event log that the server
|
|
11
|
-
* materialises into the `preflight_outcomes` row.
|
|
12
|
-
*
|
|
13
|
-
* Buffering strategy: events accumulate in memory, flushed in
|
|
14
|
-
* batches every 500ms or when 50 events queue (whichever first).
|
|
15
|
-
* Each flush is a single POST /ingest using the candidate's
|
|
16
|
-
* correlationId as the sessionId. Failed batches are retried
|
|
17
|
-
* once; persistent failure logs + drops -- preflight telemetry
|
|
18
|
-
* is best-effort, not load-bearing for the verdict.
|
|
19
|
-
*
|
|
20
|
-
* The wizard's actual functional flow does not depend on these
|
|
21
|
-
* events succeeding -- if the server is down, the candidate
|
|
22
|
-
* still completes preflight normally and the runtime SDK starts.
|
|
23
|
-
* The dashboard simply shows "no preflight data" for that
|
|
24
|
-
* session.
|
|
25
|
-
*/
|
|
1
|
+
import { type CandidateIssueCapture } from "./useCandidateIssues.js";
|
|
26
2
|
import { type Ref } from "vue";
|
|
27
3
|
import type { CheckRow, EventKind } from "@a4anthony/proctorkit-sdk";
|
|
28
4
|
export interface UsePreflightTelemetryOptions {
|
|
5
|
+
/** @internal Shared with the wizard's component-owned errors. */
|
|
6
|
+
issues?: CandidateIssueCapture;
|
|
29
7
|
/**
|
|
30
8
|
* Customer-provided opaque ID linking the wizard, the runtime
|
|
31
9
|
* SDK, and the dashboard. Stored as `ProctoringSession.id` on
|
|
@@ -98,6 +76,8 @@ export declare const usePreflightTelemetry: (options: UsePreflightTelemetryOptio
|
|
|
98
76
|
markRetry: (row: string) => void;
|
|
99
77
|
/** Force a flush of buffered events. Call before navigation
|
|
100
78
|
* / unmount to make sure preflight.completed lands. */
|
|
101
|
-
flush: (
|
|
79
|
+
flush: (options?: {
|
|
80
|
+
requireAcknowledgement?: boolean;
|
|
81
|
+
}) => Promise<void>;
|
|
102
82
|
};
|
|
103
83
|
//# sourceMappingURL=usePreflightTelemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePreflightTelemetry.d.ts","sourceRoot":"","sources":["../../src/wizard/usePreflightTelemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePreflightTelemetry.d.ts","sourceRoot":"","sources":["../../src/wizard/usePreflightTelemetry.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAiC,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAC9D,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EAEV,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,4BAA4B;IAC3C,iEAAiE;IACjE,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,CAAC;IACF;;;OAGG;IACH,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAaD,eAAO,MAAM,qBAAqB,GAChC,SAAS,4BAA4B,KACpC;IACD,qEAAqE;IACrE,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnE,+DAA+D;IAC/D,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;4DACwD;IACxD,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAiJ1E,CAAC"}
|
|
@@ -12,7 +12,12 @@
|
|
|
12
12
|
import { type Ref } from "vue";
|
|
13
13
|
import { type UsePreflightCheckOptions } from "../usePreflightCheck.js";
|
|
14
14
|
import { type WizardStep } from "./wizard-steps.js";
|
|
15
|
+
import type { DisplayDiagnosticReporter } from "./display-diagnostics.js";
|
|
15
16
|
export interface UseWizardOptions extends UsePreflightCheckOptions {
|
|
17
|
+
/** @internal Diagnostic observer; cannot authorize a pass. */
|
|
18
|
+
onDisplayDiagnostic?: DisplayDiagnosticReporter;
|
|
19
|
+
/** @internal Frozen simulations do not observe the real machine's displays. */
|
|
20
|
+
monitorDisplayChanges?: boolean;
|
|
16
21
|
/**
|
|
17
22
|
* Skip the auto-mount run. When false, the system step won't
|
|
18
23
|
* auto-start its checks on mount; callers drive it explicitly
|
|
@@ -39,8 +44,11 @@ export declare const useWizardSteps: (options?: UseWizardOptions) => {
|
|
|
39
44
|
activeIndex: Ref<number, number>;
|
|
40
45
|
totalSteps: import("vue").ComputedRef<number>;
|
|
41
46
|
advance: () => void;
|
|
47
|
+
completeStep: (step: WizardStep) => void;
|
|
48
|
+
completedSteps: Ref<WizardStep[], WizardStep[]>;
|
|
42
49
|
goTo: (step: WizardStep) => void;
|
|
43
50
|
reset: () => void;
|
|
51
|
+
verifyDisplaySetup: (trigger?: import("./display-diagnostics.js").DisplayTrigger) => Promise<boolean>;
|
|
44
52
|
engine: import("vue").ShallowRef<import("@a4anthony/proctorkit-sdk").SystemCheck, import("@a4anthony/proctorkit-sdk").SystemCheck>;
|
|
45
53
|
rows: Ref<{
|
|
46
54
|
kind: import("@a4anthony/proctorkit-sdk").CheckKind;
|
|
@@ -113,8 +121,9 @@ export declare const useWizardSteps: (options?: UseWizardOptions) => {
|
|
|
113
121
|
retry: () => Promise<import("@a4anthony/proctorkit-sdk").PreflightReport>;
|
|
114
122
|
runSystemClass: () => Promise<void>;
|
|
115
123
|
retrySystemClass: () => Promise<void>;
|
|
124
|
+
probeMonitor: () => Promise<void>;
|
|
116
125
|
probeMic: (deviceId?: string) => Promise<void>;
|
|
117
|
-
probeSpeaker: () => Promise<void>;
|
|
126
|
+
probeSpeaker: (options?: import("@a4anthony/proctorkit-sdk").SpeakerProbeOptions) => Promise<void>;
|
|
118
127
|
probeCamera: (deviceId?: string, existingStream?: {
|
|
119
128
|
videoElement: HTMLVideoElement;
|
|
120
129
|
}) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWizardSteps.d.ts","sourceRoot":"","sources":["../../src/wizard/useWizardSteps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAErD,OAAO,EAAqB,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGtE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,gBAAqB;;;;;
|
|
1
|
+
{"version":3,"file":"useWizardSteps.d.ts","sourceRoot":"","sources":["../../src/wizard/useWizardSteps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAErD,OAAO,EAAqB,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,+EAA+E;IAC/E,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,gBAAqB;;;;;mBA6FvC,IAAI;yBAdI,UAAU,KAAG,IAAI;;iBAsBzB,UAAU,KAAG,IAAI;iBAwBnB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBvB,CAAC;AAEF,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a4anthony/proctorkit-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Vue 3 components for the proctoring SDK — pre-flight system check wizard.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -22,10 +22,11 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@headlessui/vue": "^1.7.23",
|
|
24
24
|
"@lucide/vue": "^1.16.0",
|
|
25
|
+
"@mediapipe/tasks-vision": "1.0.1",
|
|
25
26
|
"@ricky0123/vad-web": "^0.0.30",
|
|
26
27
|
"vue-i18n": "^11.1.0",
|
|
27
|
-
"@a4anthony/proctorkit-content": "0.
|
|
28
|
-
"@a4anthony/proctorkit-sdk": "0.
|
|
28
|
+
"@a4anthony/proctorkit-content": "0.2.0",
|
|
29
|
+
"@a4anthony/proctorkit-sdk": "0.3.0"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
32
|
"@storybook/vue3-vite": "^10.4.0",
|