interview-widget 0.1.0 → 0.1.1

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 (2) hide show
  1. package/README.md +243 -48
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -143,66 +143,261 @@ Pass this object to `InterviewWidgetProvider` via the `config` prop. Tables list
143
143
 
144
144
  ### Top-level
145
145
 
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) |
146
+ <table width="100%">
147
+ <thead>
148
+ <tr>
149
+ <th>Prop</th>
150
+ <th>Type</th>
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>
151
176
 
152
177
  ### api
153
178
 
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 |
179
+ <table width="100%">
180
+ <thead>
181
+ <tr>
182
+ <th>Prop</th>
183
+ <th>Type</th>
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>
159
209
 
160
210
  retryConfig
161
211
 
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 |
212
+ <table width="100%">
213
+ <thead>
214
+ <tr>
215
+ <th>Prop</th>
216
+ <th>Type</th>
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>
167
242
 
168
243
  ### ui
169
244
 
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 |
245
+ <table width="100%">
246
+ <thead>
247
+ <tr>
248
+ <th>Prop</th>
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>
174
269
 
175
270
  ### interview
176
271
 
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 |
182
-
183
- timers
184
-
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 |
192
-
193
- stt
194
-
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 |
200
-
201
- tts
202
-
203
- | Prop | Type | Default | Description |
204
- | -------- | --------- | ------- | ----------------- |
205
- | provider | `"piper"` | "piper" | TTS vendor to use |
272
+ <table width="100%">
273
+ <thead>
274
+ <tr>
275
+ <th>Prop</th>
276
+ <th>Type</th>
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>
302
+
303
+ #### timers
304
+
305
+ <table width="100%">
306
+ <thead>
307
+ <tr>
308
+ <th>Prop</th>
309
+ <th>Type</th>
310
+ <th>Default</th>
311
+ <th>Description</th>
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>
347
+
348
+ #### stt
349
+
350
+ <table width="100%">
351
+ <thead>
352
+ <tr>
353
+ <th>Prop</th>
354
+ <th>Type</th>
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>
380
+
381
+ #### tts
382
+
383
+ <table width="100%">
384
+ <thead>
385
+ <tr>
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>
206
401
 
207
402
  ## How it works
208
403
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "interview-widget",
3
3
  "type": "module",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
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",