@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.
Files changed (177) hide show
  1. package/README.md +176 -8
  2. package/dist/ProctoredAssessment.vue.d.ts +70 -2
  3. package/dist/ProctoredAssessment.vue.d.ts.map +1 -1
  4. package/dist/ProctoringDeviceSettings.vue.d.ts +27 -1
  5. package/dist/ProctoringDeviceSettings.vue.d.ts.map +1 -1
  6. package/dist/ProctoringSystemCheck.vue.d.ts +39 -11
  7. package/dist/ProctoringSystemCheck.vue.d.ts.map +1 -1
  8. package/dist/browser-face-detector.d.ts +59 -0
  9. package/dist/browser-face-detector.d.ts.map +1 -0
  10. package/dist/check-cards/system/DisplayPermissionDialog.vue.d.ts +24 -0
  11. package/dist/check-cards/system/DisplayPermissionDialog.vue.d.ts.map +1 -0
  12. package/dist/check-cards/system/DisplayRecovery.vue.d.ts +25 -0
  13. package/dist/check-cards/system/DisplayRecovery.vue.d.ts.map +1 -0
  14. package/dist/check-cards/system/SystemCheckCard.vue.d.ts +13 -1
  15. package/dist/check-cards/system/SystemCheckCard.vue.d.ts.map +1 -1
  16. package/dist/check-cards/system/display-progress-story.d.ts +468 -0
  17. package/dist/check-cards/system/display-progress-story.d.ts.map +1 -0
  18. package/dist/check-cards/system/display-recovery-story.d.ts +290 -0
  19. package/dist/check-cards/system/display-recovery-story.d.ts.map +1 -0
  20. package/dist/demo-runner/QuestionCard.vue.d.ts.map +1 -1
  21. package/dist/detect-face.d.ts +22 -95
  22. package/dist/detect-face.d.ts.map +1 -1
  23. package/dist/i18n/merge.d.ts.map +1 -1
  24. package/dist/index.d.ts +19 -8
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +9637 -2485
  27. package/dist/media-controls/AudioPlayer.vue.d.ts +43 -20
  28. package/dist/media-controls/AudioPlayer.vue.d.ts.map +1 -1
  29. package/dist/media-controls/AudioRecorder.vue.d.ts +171 -11
  30. package/dist/media-controls/AudioRecorder.vue.d.ts.map +1 -1
  31. package/dist/media-controls/RecorderUploadIndicator.vue.d.ts +17 -0
  32. package/dist/media-controls/RecorderUploadIndicator.vue.d.ts.map +1 -0
  33. package/dist/media-controls/VideoPlayer.vue.d.ts +36 -13
  34. package/dist/media-controls/VideoPlayer.vue.d.ts.map +1 -1
  35. package/dist/media-controls/VideoRecorder.vue.d.ts +90 -10
  36. package/dist/media-controls/VideoRecorder.vue.d.ts.map +1 -1
  37. package/dist/media-controls/audio-recorder-messages.d.ts +15 -0
  38. package/dist/media-controls/audio-recorder-messages.d.ts.map +1 -0
  39. package/dist/media-controls/local-media-playback-client.d.ts +2 -6
  40. package/dist/media-controls/local-media-playback-client.d.ts.map +1 -1
  41. package/dist/media-controls/local-media-recording-client.d.ts.map +1 -1
  42. package/dist/media-controls/media-recovery-story.d.ts +9 -0
  43. package/dist/media-controls/media-recovery-story.d.ts.map +1 -0
  44. package/dist/media-controls/storybook-mock-client.d.ts +2 -0
  45. package/dist/media-controls/storybook-mock-client.d.ts.map +1 -1
  46. package/dist/media-controls/types.d.ts +63 -7
  47. package/dist/media-controls/types.d.ts.map +1 -1
  48. package/dist/media-controls/ui-config.d.ts +2 -2
  49. package/dist/media-controls/ui-config.d.ts.map +1 -1
  50. package/dist/media-controls/useLiveInputCheck.d.ts +18 -0
  51. package/dist/media-controls/useLiveInputCheck.d.ts.map +1 -0
  52. package/dist/media-controls/useMediaClipRecorder.d.ts +90 -12
  53. package/dist/media-controls/useMediaClipRecorder.d.ts.map +1 -1
  54. package/dist/media-controls/useMediaFilePlayback.d.ts +8 -1
  55. package/dist/media-controls/useMediaFilePlayback.d.ts.map +1 -1
  56. package/dist/media-controls/useMinimumVisibleUpload.d.ts +18 -0
  57. package/dist/media-controls/useMinimumVisibleUpload.d.ts.map +1 -0
  58. package/dist/proctored-assessment/PreparationGate.vue.d.ts +16 -0
  59. package/dist/proctored-assessment/PreparationGate.vue.d.ts.map +1 -0
  60. package/dist/proctored-assessment/preparation-feedback.d.ts +7 -0
  61. package/dist/proctored-assessment/preparation-feedback.d.ts.map +1 -0
  62. package/dist/proctored-assessment/replay-failure-queue.d.ts +18 -0
  63. package/dist/proctored-assessment/replay-failure-queue.d.ts.map +1 -0
  64. package/dist/proctored-assessment/replay-failure-queue.test.d.ts +2 -0
  65. package/dist/proctored-assessment/replay-failure-queue.test.d.ts.map +1 -0
  66. package/dist/proctored-assessment/request-deadline.d.ts +1 -0
  67. package/dist/proctored-assessment/request-deadline.d.ts.map +1 -1
  68. package/dist/proctored-assessment/resume-microphone-route.d.ts +13 -0
  69. package/dist/proctored-assessment/resume-microphone-route.d.ts.map +1 -0
  70. package/dist/proctored-assessment/resume-microphone-route.test.d.ts +2 -0
  71. package/dist/proctored-assessment/resume-microphone-route.test.d.ts.map +1 -0
  72. package/dist/proctored-assessment/resume-probe.d.ts +13 -0
  73. package/dist/proctored-assessment/resume-probe.d.ts.map +1 -1
  74. package/dist/proctored-assessment/resume-speaker-confirmation.d.ts +27 -0
  75. package/dist/proctored-assessment/resume-speaker-confirmation.d.ts.map +1 -0
  76. package/dist/proctored-assessment/resume-speaker-route.d.ts +32 -0
  77. package/dist/proctored-assessment/resume-speaker-route.d.ts.map +1 -0
  78. package/dist/proctored-assessment/session-start.d.ts +2 -2
  79. package/dist/proctored-assessment/types.d.ts +14 -4
  80. package/dist/proctored-assessment/types.d.ts.map +1 -1
  81. package/dist/proctored-assessment/usePreparationRetryTiming.d.ts +13 -0
  82. package/dist/proctored-assessment/usePreparationRetryTiming.d.ts.map +1 -0
  83. package/dist/proctored-assessment/useResumeDisplayGuard.d.ts +20 -0
  84. package/dist/proctored-assessment/useResumeDisplayGuard.d.ts.map +1 -0
  85. package/dist/proctoring-client.d.ts +6 -2
  86. package/dist/proctoring-client.d.ts.map +1 -1
  87. package/dist/proctoring-system-check-contract.d.ts +2 -0
  88. package/dist/proctoring-system-check-contract.d.ts.map +1 -1
  89. package/dist/runtime-devices/DevicePickerItem.vue.d.ts +58 -0
  90. package/dist/runtime-devices/DevicePickerItem.vue.d.ts.map +1 -0
  91. package/dist/runtime-devices/PickerMessage.vue.d.ts +17 -0
  92. package/dist/runtime-devices/PickerMessage.vue.d.ts.map +1 -0
  93. package/dist/runtime-devices/ProctoringDevicePicker.vue.d.ts +89 -0
  94. package/dist/runtime-devices/ProctoringDevicePicker.vue.d.ts.map +1 -0
  95. package/dist/runtime-devices/device-picker-messages.d.ts +42 -0
  96. package/dist/runtime-devices/device-picker-messages.d.ts.map +1 -0
  97. package/dist/runtime-devices/microphone-attention.d.ts +48 -0
  98. package/dist/runtime-devices/microphone-attention.d.ts.map +1 -0
  99. package/dist/runtime-devices/microphone-check-messages.d.ts +13 -0
  100. package/dist/runtime-devices/microphone-check-messages.d.ts.map +1 -0
  101. package/dist/runtime-devices/runtime-device-activity.d.ts +16 -0
  102. package/dist/runtime-devices/runtime-device-activity.d.ts.map +1 -0
  103. package/dist/runtime-devices/runtime-device-selection.d.ts +11 -0
  104. package/dist/runtime-devices/runtime-device-selection.d.ts.map +1 -0
  105. package/dist/runtime-devices/useRuntimeDevice.d.ts +72 -0
  106. package/dist/runtime-devices/useRuntimeDevice.d.ts.map +1 -0
  107. package/dist/runtime-devices/useTrackLoss.d.ts +15 -0
  108. package/dist/runtime-devices/useTrackLoss.d.ts.map +1 -0
  109. package/dist/style.css +367 -14
  110. package/dist/text-answer/ProctoredTextarea.vue.d.ts +8 -1
  111. package/dist/text-answer/ProctoredTextarea.vue.d.ts.map +1 -1
  112. package/dist/text-answer/useProctoredText.d.ts +5 -2
  113. package/dist/text-answer/useProctoredText.d.ts.map +1 -1
  114. package/dist/ui/ProctoringAlert.vue.d.ts.map +1 -1
  115. package/dist/ui/ProctoringFileUpload.vue.d.ts +3 -3
  116. package/dist/ui/ProctoringFileUpload.vue.d.ts.map +1 -1
  117. package/dist/ui/ProctoringInput.vue.d.ts +3 -3
  118. package/dist/ui/ProctoringInput.vue.d.ts.map +1 -1
  119. package/dist/ui/ProctoringSelect.vue.d.ts +2 -2
  120. package/dist/ui/ProctoringSelect.vue.d.ts.map +1 -1
  121. package/dist/usePreflightCheck.d.ts +4 -3
  122. package/dist/usePreflightCheck.d.ts.map +1 -1
  123. package/dist/vision_bundle-8xEDyfqS.js +4160 -0
  124. package/dist/wizard/BrowserDisplayPermissionGuide.vue.d.ts +11 -0
  125. package/dist/wizard/BrowserDisplayPermissionGuide.vue.d.ts.map +1 -0
  126. package/dist/wizard/BrowserPermissionLocation.vue.d.ts +9 -0
  127. package/dist/wizard/BrowserPermissionLocation.vue.d.ts.map +1 -0
  128. package/dist/wizard/CameraStep.vue.d.ts +10 -1
  129. package/dist/wizard/CameraStep.vue.d.ts.map +1 -1
  130. package/dist/wizard/CandidateHeadshotField.vue.d.ts.map +1 -1
  131. package/dist/wizard/CandidateIntakeStep.vue.d.ts +3 -0
  132. package/dist/wizard/CandidateIntakeStep.vue.d.ts.map +1 -1
  133. package/dist/wizard/ChecklistShell.vue.d.ts +3 -0
  134. package/dist/wizard/ChecklistShell.vue.d.ts.map +1 -1
  135. package/dist/wizard/FinalStep.vue.d.ts +6 -2
  136. package/dist/wizard/FinalStep.vue.d.ts.map +1 -1
  137. package/dist/wizard/MediaDeviceSelect.vue.d.ts +11 -1
  138. package/dist/wizard/MediaDeviceSelect.vue.d.ts.map +1 -1
  139. package/dist/wizard/MicStep.vue.d.ts +24 -3
  140. package/dist/wizard/MicStep.vue.d.ts.map +1 -1
  141. package/dist/wizard/PermissionDeniedPanel.vue.d.ts +9 -4
  142. package/dist/wizard/PermissionDeniedPanel.vue.d.ts.map +1 -1
  143. package/dist/wizard/ResumeCheck.vue.d.ts +16 -2
  144. package/dist/wizard/ResumeCheck.vue.d.ts.map +1 -1
  145. package/dist/wizard/SpeakerStep.vue.d.ts +17 -4
  146. package/dist/wizard/SpeakerStep.vue.d.ts.map +1 -1
  147. package/dist/wizard/SystemStep.vue.d.ts +9 -0
  148. package/dist/wizard/SystemStep.vue.d.ts.map +1 -1
  149. package/dist/wizard/WizardShell.vue.d.ts +3 -3
  150. package/dist/wizard/WizardShell.vue.d.ts.map +1 -1
  151. package/dist/wizard/candidate-intake-draft.d.ts +9 -0
  152. package/dist/wizard/candidate-intake-draft.d.ts.map +1 -0
  153. package/dist/wizard/display-diagnostics.d.ts +21 -0
  154. package/dist/wizard/display-diagnostics.d.ts.map +1 -0
  155. package/dist/wizard/event-telemetry.d.ts +24 -0
  156. package/dist/wizard/event-telemetry.d.ts.map +1 -0
  157. package/dist/wizard/media-device-list.d.ts +8 -1
  158. package/dist/wizard/media-device-list.d.ts.map +1 -1
  159. package/dist/wizard/microphone-preflight-trace.d.ts +10 -0
  160. package/dist/wizard/microphone-preflight-trace.d.ts.map +1 -0
  161. package/dist/wizard/microphone-preflight-trace.test.d.ts +2 -0
  162. package/dist/wizard/microphone-preflight-trace.test.d.ts.map +1 -0
  163. package/dist/wizard/resume-check-stories/shared.d.ts +35 -11
  164. package/dist/wizard/resume-check-stories/shared.d.ts.map +1 -1
  165. package/dist/wizard/speaker-test-tone.d.ts +29 -4
  166. package/dist/wizard/speaker-test-tone.d.ts.map +1 -1
  167. package/dist/wizard/useCandidateIssues.d.ts +30 -0
  168. package/dist/wizard/useCandidateIssues.d.ts.map +1 -0
  169. package/dist/wizard/useCandidateIssues.test.d.ts +2 -0
  170. package/dist/wizard/useCandidateIssues.test.d.ts.map +1 -0
  171. package/dist/wizard/useLiveDisplayCheck.d.ts +8 -0
  172. package/dist/wizard/useLiveDisplayCheck.d.ts.map +1 -0
  173. package/dist/wizard/usePreflightTelemetry.d.ts +6 -26
  174. package/dist/wizard/usePreflightTelemetry.d.ts.map +1 -1
  175. package/dist/wizard/useWizardSteps.d.ts +10 -1
  176. package/dist/wizard/useWizardSteps.d.ts.map +1 -1
  177. 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":"AAkQA,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;;AAwZ7B,wBASG"}
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"}
@@ -1,79 +1,11 @@
1
1
  /**
2
- * Helpers for wiring the deep-camera face detector against the NestJS
3
- * preflight proxy.
2
+ * The session-scoped preflight camera check.
4
3
  *
5
- * The SDK exposes `detectFace` as a host-pluggable callback because
6
- * each customer's compliance / model preferences differ. For hosts
7
- * using the reference proctoring backend (NestJS proxying the Python
8
- * sidecar at `packages/face-detect/`), this module hands them a
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" | "detector-error";
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 deep-camera
111
- * detector lives on the same host at `/preflight/detect-face`.
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
- * Unlike `createNestDetectFace`, this does not call the anonymous
131
- * detect-only endpoint. It posts the JPEG to the session-scoped
132
- * camera-check endpoint, where the backend stores the exact frame,
133
- * runs face detection, links the photo to the preflight outcome, and
134
- * returns the verdict.
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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,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,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;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,GAAG,gBAAgB,CAAC;IACpE,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;AAUD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,GAAI,WAAW,MAAM,KAAG,MACX,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,2BAA2B,KACnC,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAqC1D,CAAC;AAEF;;;;;;;;GAQG;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,CAqDD,CAAC"}
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"}
@@ -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,CA6GnB;AAED,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,iBAAoC,CAAC"}
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
- * - `createNestDetectFace`: one-call wiring for the NestJS face-detect
15
- * proxy. Use directly in `engineOptions.deepCamera.detectFace`.
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, } from "./text-answer/useProctoredText.js";
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, } from "./ui/ProctoringInput.vue";
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 { createNestDetectFace, createNestPreflightCameraCheck, type CreateNestDetectFaceOptions, type CreateNestPreflightCameraCheckOptions, type NestDetectFaceResult, type NestPreflightCameraCheckResult, } from "./detect-face.js";
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}