interview-widget 0.0.9 → 0.1.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 (2) hide show
  1. package/README.md +39 -49
  2. package/package.json +5 -4
package/README.md CHANGED
@@ -127,11 +127,6 @@ export default function App() {
127
127
  | `onInterviewEnd` | `() => void` | `undefined` | Called when the interview completes or the user exits |
128
128
  | `className` | `string` | `""` | Additional CSS classes applied to the outer widget container |
129
129
 
130
- Notes:
131
-
132
- - Internally uses an InterviewController that orchestrates the full flow using the configured API/STT/TTS/Timer.
133
- - The interview id is currently derived internally; integrate with your backend by configuring the API base and auth.
134
-
135
130
  ### <InterviewWidgetProvider />
136
131
 
137
132
  Wrap your app (or the widget) to provide configuration. See full config reference below.
@@ -148,71 +143,66 @@ Pass this object to `InterviewWidgetProvider` via the `config` prop. Tables list
148
143
 
149
144
  ### Top-level
150
145
 
151
- | Prop | Type | Default | Description |
152
- | --------- | ------ | --------- | ---------------------------------------------- |
153
- | api | object | see below | Backend/API configuration |
154
- | ui | object | see below | UI customization tokens |
155
- | interview | object | see below | Interview behavior settings (timers, STT, TTS) |
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) |
156
151
 
157
152
  ### api
158
153
 
159
- | Prop | Type | Default | Description |
160
- | ----------- | ------ | --------- | ------------------------------------------------------ |
161
- | baseUrl | string | "/api" | Base URL for backend endpoints |
162
- | authToken | string | undefined | Optional bearer token appended as Authorization header |
163
- | retryConfig | object | see below | Retry policy for fetch calls |
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 |
164
159
 
165
160
  retryConfig
166
161
 
167
- | Prop | Type | Default | Description |
168
- | --------- | ------------------------ | ------------- | ------------------------------------------ |
169
- | attempts | number | 3 | Number of retry attempts |
170
- | backoff | "fixed" \| "exponential" | "exponential" | Backoff strategy |
171
- | baseDelay | number (ms) | 1000 | Base delay between retries in milliseconds |
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 |
172
167
 
173
168
  ### ui
174
169
 
175
- | Prop | Type | Default | Description |
176
- | ------------ | ------------ | --------- | -------------------------------------- |
177
- | baseColor | string (hex) | "#3B82F6" | Primary brand color used by the widget |
178
- | borderRadius | string (CSS) | "8px" | Global corner radius for components |
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 |
179
174
 
180
175
  ### interview
181
176
 
182
- | Prop | Type | Default | Description |
183
- | ------ | ------ | --------- | ----------------------------------------- |
184
- | timers | object | see below | Per-phase and global timing configuration |
185
- | stt | object | see below | Speech-to-Text provider settings |
186
- | tts | object | see below | Text-to-Speech provider settings |
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 |
187
182
 
188
183
  timers
189
184
 
190
- | Prop | Type | Default | Description |
191
- | -------------------------- | ---------- | ------- | --------------------------------------------------------- |
192
- | thinkingDuration | number (s) | 30 | Timebox for the Thinking phase |
193
- | answeringDuration | number (s) | 120 | Timebox for the Answering phase |
194
- | editingDuration | number (s) | 30 | Timebox for the Editing phase |
195
- | totalInterviewDuration | number (s) | 600 | Overall interview time cap |
196
- | minimumTimeForNextQuestion | number (s) | 120 | Minimum time required to allow starting the next question |
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 |
197
192
 
198
193
  stt
199
194
 
200
- | Prop | Type | Default | Description |
201
- | -------- | ---------------------------------- | ------------------------ | -------------------------------------- |
202
- | provider | "groq" \| "deepgram" | "groq" | STT vendor to use |
203
- | model | "whisper-large-v3-turbo" \| string | "whisper-large-v3-turbo" | STT model identifier |
204
- | language | "en" | "en" | Language code passed to the STT engine |
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 |
205
200
 
206
201
  tts
207
202
 
208
- | Prop | Type | Default | Description |
209
- | -------- | ------- | ------- | ----------------- |
210
- | provider | "piper" | "piper" | TTS vendor to use |
211
-
212
- Notes on defaults:
213
-
214
- - Base defaults come from `src/utils/constants.ts` (`defaultConfig`).
215
- - `totalInterviewDuration` and `minimumTimeForNextQuestion` default to 600s and 120s respectively via the TimerService if not explicitly provided.
203
+ | Prop | Type | Default | Description |
204
+ | -------- | --------- | ------- | ----------------- |
205
+ | provider | `"piper"` | "piper" | TTS vendor to use |
216
206
 
217
207
  ## How it works
218
208
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "interview-widget",
3
3
  "type": "module",
4
- "version": "0.0.9",
4
+ "version": "0.1.0",
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",
@@ -54,11 +54,12 @@
54
54
  },
55
55
  "keywords": [
56
56
  "react",
57
- "chat",
57
+ "interview",
58
58
  "widget",
59
59
  "cdn",
60
- "embed"
60
+ "embed",
61
+ "interview-widget"
61
62
  ],
62
- "author": "Your Name",
63
+ "author": "Jaber Hossain Pranto",
63
64
  "license": "MIT"
64
65
  }