interview-widget 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -234
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -143,261 +143,66 @@ Pass this object to `InterviewWidgetProvider` via the `config` prop. Tables list
|
|
|
143
143
|
|
|
144
144
|
### Top-level
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
<th>Default</th>
|
|
152
|
-
<th>Description</th>
|
|
153
|
-
</tr>
|
|
154
|
-
</thead>
|
|
155
|
-
<tbody>
|
|
156
|
-
<tr>
|
|
157
|
-
<td>api</td>
|
|
158
|
-
<td><code>object</code></td>
|
|
159
|
-
<td>see below</td>
|
|
160
|
-
<td>Backend/API configuration</td>
|
|
161
|
-
</tr>
|
|
162
|
-
<tr>
|
|
163
|
-
<td>ui</td>
|
|
164
|
-
<td><code>object</code></td>
|
|
165
|
-
<td>see below</td>
|
|
166
|
-
<td>UI customization tokens</td>
|
|
167
|
-
</tr>
|
|
168
|
-
<tr>
|
|
169
|
-
<td>interview</td>
|
|
170
|
-
<td><code>object</code></td>
|
|
171
|
-
<td>see below</td>
|
|
172
|
-
<td>Interview behavior settings (timers, STT, TTS)</td>
|
|
173
|
-
</tr>
|
|
174
|
-
</tbody>
|
|
175
|
-
</table>
|
|
146
|
+
| Prop | Type | Default | Description |
|
|
147
|
+
| --------- | -------- | --------- | ---------------------------------------------- |
|
|
148
|
+
| api | `object` | see below | Backend/API configuration |
|
|
149
|
+
| ui | `object` | see below | UI customization tokens |
|
|
150
|
+
| interview | `object` | see below | Interview behavior settings (timers, STT, TTS) |
|
|
176
151
|
|
|
177
152
|
### api
|
|
178
153
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
<th>Default</th>
|
|
185
|
-
<th>Description</th>
|
|
186
|
-
</tr>
|
|
187
|
-
</thead>
|
|
188
|
-
<tbody>
|
|
189
|
-
<tr>
|
|
190
|
-
<td>baseUrl</td>
|
|
191
|
-
<td><code>string</code></td>
|
|
192
|
-
<td>"/api"</td>
|
|
193
|
-
<td>Base URL for backend endpoints</td>
|
|
194
|
-
</tr>
|
|
195
|
-
<tr>
|
|
196
|
-
<td>authToken</td>
|
|
197
|
-
<td><code>string</code></td>
|
|
198
|
-
<td>undefined</td>
|
|
199
|
-
<td>Optional bearer token appended as Authorization header</td>
|
|
200
|
-
</tr>
|
|
201
|
-
<tr>
|
|
202
|
-
<td>retryConfig</td>
|
|
203
|
-
<td><code>object</code></td>
|
|
204
|
-
<td>see below</td>
|
|
205
|
-
<td>Retry policy for fetch calls</td>
|
|
206
|
-
</tr>
|
|
207
|
-
</tbody>
|
|
208
|
-
</table>
|
|
154
|
+
| Prop | Type | Default | Description |
|
|
155
|
+
| ----------- | -------- | --------- | ------------------------------------------------------ |
|
|
156
|
+
| baseUrl | `string` | "/api" | Base URL for backend endpoints |
|
|
157
|
+
| authToken | `string` | undefined | Optional bearer token appended as Authorization header |
|
|
158
|
+
| retryConfig | `object` | see below | Retry policy for fetch calls |
|
|
209
159
|
|
|
210
160
|
retryConfig
|
|
211
161
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
<th>Default</th>
|
|
218
|
-
<th>Description</th>
|
|
219
|
-
</tr>
|
|
220
|
-
</thead>
|
|
221
|
-
<tbody>
|
|
222
|
-
<tr>
|
|
223
|
-
<td>attempts</td>
|
|
224
|
-
<td><code>number</code></td>
|
|
225
|
-
<td>3</td>
|
|
226
|
-
<td>Number of retry attempts</td>
|
|
227
|
-
</tr>
|
|
228
|
-
<tr>
|
|
229
|
-
<td>backoff</td>
|
|
230
|
-
<td><code>"fixed" | "exponential"</code></td>
|
|
231
|
-
<td>"exponential"</td>
|
|
232
|
-
<td>Backoff strategy</td>
|
|
233
|
-
</tr>
|
|
234
|
-
<tr>
|
|
235
|
-
<td>baseDelay</td>
|
|
236
|
-
<td><code>number (ms)</code></td>
|
|
237
|
-
<td>1000</td>
|
|
238
|
-
<td>Base delay between retries in milliseconds</td>
|
|
239
|
-
</tr>
|
|
240
|
-
</tbody>
|
|
241
|
-
</table>
|
|
162
|
+
| Prop | Type | Default | Description |
|
|
163
|
+
| --------- | -------------------------- | ------------- | ------------------------------------------ |
|
|
164
|
+
| attempts | `number` | 3 | Number of retry attempts |
|
|
165
|
+
| backoff | `"fixed" \| "exponential"` | "exponential" | Backoff strategy |
|
|
166
|
+
| baseDelay | `number (ms)` | 1000 | Base delay between retries in milliseconds |
|
|
242
167
|
|
|
243
168
|
### ui
|
|
244
169
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
<th>Type</th>
|
|
250
|
-
<th>Default</th>
|
|
251
|
-
<th>Description</th>
|
|
252
|
-
</tr>
|
|
253
|
-
</thead>
|
|
254
|
-
<tbody>
|
|
255
|
-
<tr>
|
|
256
|
-
<td>baseColor</td>
|
|
257
|
-
<td><code>string (hex)</code></td>
|
|
258
|
-
<td>"#3B82F6"</td>
|
|
259
|
-
<td>Primary brand color used by the widget</td>
|
|
260
|
-
</tr>
|
|
261
|
-
<tr>
|
|
262
|
-
<td>borderRadius</td>
|
|
263
|
-
<td><code>string (CSS)</code></td>
|
|
264
|
-
<td>"8px"</td>
|
|
265
|
-
<td>Global corner radius for components</td>
|
|
266
|
-
</tr>
|
|
267
|
-
</tbody>
|
|
268
|
-
</table>
|
|
170
|
+
| Prop | Type | Default | Description |
|
|
171
|
+
| ------------ | -------------- | --------- | -------------------------------------- |
|
|
172
|
+
| baseColor | `string (hex)` | "#3B82F6" | Primary brand color used by the widget |
|
|
173
|
+
| borderRadius | `string (CSS)` | "8px" | Global corner radius for components |
|
|
269
174
|
|
|
270
175
|
### interview
|
|
271
176
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
<th>Default</th>
|
|
278
|
-
<th>Description</th>
|
|
279
|
-
</tr>
|
|
280
|
-
</thead>
|
|
281
|
-
<tbody>
|
|
282
|
-
<tr>
|
|
283
|
-
<td>timers</td>
|
|
284
|
-
<td><code>object</code></td>
|
|
285
|
-
<td>see below</td>
|
|
286
|
-
<td>Per-phase and global timing configuration</td>
|
|
287
|
-
</tr>
|
|
288
|
-
<tr>
|
|
289
|
-
<td>stt</td>
|
|
290
|
-
<td><code>object</code></td>
|
|
291
|
-
<td>see below</td>
|
|
292
|
-
<td>Speech-to-Text provider settings</td>
|
|
293
|
-
</tr>
|
|
294
|
-
<tr>
|
|
295
|
-
<td>tts</td>
|
|
296
|
-
<td><code>object</code></td>
|
|
297
|
-
<td>see below</td>
|
|
298
|
-
<td>Text-to-Speech provider settings</td>
|
|
299
|
-
</tr>
|
|
300
|
-
</tbody>
|
|
301
|
-
</table>
|
|
177
|
+
| Prop | Type | Default | Description |
|
|
178
|
+
| ------ | -------- | --------- | ----------------------------------------- |
|
|
179
|
+
| timers | `object` | see below | Per-phase and global timing configuration |
|
|
180
|
+
| stt | `object` | see below | Speech-to-Text provider settings |
|
|
181
|
+
| tts | `object` | see below | Text-to-Speech provider settings |
|
|
302
182
|
|
|
303
183
|
#### timers
|
|
304
184
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
</tr>
|
|
313
|
-
</thead>
|
|
314
|
-
<tbody>
|
|
315
|
-
<tr>
|
|
316
|
-
<td>thinkingDuration</td>
|
|
317
|
-
<td><code>number (s)</code></td>
|
|
318
|
-
<td>30</td>
|
|
319
|
-
<td>Timebox for the Thinking phase</td>
|
|
320
|
-
</tr>
|
|
321
|
-
<tr>
|
|
322
|
-
<td>answeringDuration</td>
|
|
323
|
-
<td><code>number (s)</code></td>
|
|
324
|
-
<td>120</td>
|
|
325
|
-
<td>Timebox for the Answering phase</td>
|
|
326
|
-
</tr>
|
|
327
|
-
<tr>
|
|
328
|
-
<td>editingDuration</td>
|
|
329
|
-
<td><code>number (s)</code></td>
|
|
330
|
-
<td>30</td>
|
|
331
|
-
<td>Timebox for the Editing phase</td>
|
|
332
|
-
</tr>
|
|
333
|
-
<tr>
|
|
334
|
-
<td>totalInterviewDuration</td>
|
|
335
|
-
<td><code>number (s)</code></td>
|
|
336
|
-
<td>600</td>
|
|
337
|
-
<td>Overall interview time cap</td>
|
|
338
|
-
</tr>
|
|
339
|
-
<tr>
|
|
340
|
-
<td>minimumTimeForNextQuestion</td>
|
|
341
|
-
<td><code>number (s)</code></td>
|
|
342
|
-
<td>120</td>
|
|
343
|
-
<td>Minimum time required to allow starting the next question</td>
|
|
344
|
-
</tr>
|
|
345
|
-
</tbody>
|
|
346
|
-
</table>
|
|
185
|
+
| Prop | Type | Default | Description |
|
|
186
|
+
| -------------------------- | ------------ | ------- | --------------------------------------------------------- |
|
|
187
|
+
| thinkingDuration | `number (s)` | 30 | Timebox for the Thinking phase |
|
|
188
|
+
| answeringDuration | `number (s)` | 120 | Timebox for the Answering phase |
|
|
189
|
+
| editingDuration | `number (s)` | 30 | Timebox for the Editing phase |
|
|
190
|
+
| totalInterviewDuration | `number (s)` | 600 | Overall interview time cap |
|
|
191
|
+
| minimumTimeForNextQuestion | `number (s)` | 120 | Minimum time required to allow starting the next question |
|
|
347
192
|
|
|
348
193
|
#### stt
|
|
349
194
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
<th>Default</th>
|
|
356
|
-
<th>Description</th>
|
|
357
|
-
</tr>
|
|
358
|
-
</thead>
|
|
359
|
-
<tbody>
|
|
360
|
-
<tr>
|
|
361
|
-
<td>provider</td>
|
|
362
|
-
<td><code>"groq" | "deepgram"</code></td>
|
|
363
|
-
<td>"groq"</td>
|
|
364
|
-
<td>STT vendor to use</td>
|
|
365
|
-
</tr>
|
|
366
|
-
<tr>
|
|
367
|
-
<td>model</td>
|
|
368
|
-
<td><code>"whisper-large-v3-turbo" | string</code></td>
|
|
369
|
-
<td>"whisper-large-v3-turbo"</td>
|
|
370
|
-
<td>STT model identifier</td>
|
|
371
|
-
</tr>
|
|
372
|
-
<tr>
|
|
373
|
-
<td>language</td>
|
|
374
|
-
<td><code>string</code></td>
|
|
375
|
-
<td>"en"</td>
|
|
376
|
-
<td>Language code passed to the STT engine</td>
|
|
377
|
-
</tr>
|
|
378
|
-
</tbody>
|
|
379
|
-
</table>
|
|
195
|
+
| Prop | Type | Default | Description |
|
|
196
|
+
| -------- | ------------------------------------ | ------------------------ | -------------------------------------- |
|
|
197
|
+
| provider | `"groq" \| "deepgram"` | "groq" | STT vendor to use |
|
|
198
|
+
| model | `"whisper-large-v3-turbo" \| string` | "whisper-large-v3-turbo" | STT model identifier |
|
|
199
|
+
| language | `string` | "en" | Language code passed to the STT engine |
|
|
380
200
|
|
|
381
201
|
#### tts
|
|
382
202
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
<th>Prop</th>
|
|
387
|
-
<th>Type</th>
|
|
388
|
-
<th>Default</th>
|
|
389
|
-
<th>Description</th>
|
|
390
|
-
</tr>
|
|
391
|
-
</thead>
|
|
392
|
-
<tbody>
|
|
393
|
-
<tr>
|
|
394
|
-
<td>provider</td>
|
|
395
|
-
<td><code>"piper"</code></td>
|
|
396
|
-
<td>"piper"</td>
|
|
397
|
-
<td>TTS vendor to use</td>
|
|
398
|
-
</tr>
|
|
399
|
-
</tbody>
|
|
400
|
-
</table>
|
|
203
|
+
| Prop | Type | Default | Description |
|
|
204
|
+
| -------- | --------- | ------- | ----------------- |
|
|
205
|
+
| provider | `"piper"` | "piper" | TTS vendor to use |
|
|
401
206
|
|
|
402
207
|
## How it works
|
|
403
208
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "interview-widget",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"description": "Advanced React interview widget with STT, TTS, camera access, and ML-powered analysis",
|
|
6
6
|
"main": "dist/widget.umd.js",
|
|
7
7
|
"module": "dist/widget.es.js",
|