Add RxResume v4/v5 dual support (#230)

* feat(settings): add rxresume mode and v5 api key settings

* feat(server): add mode-aware rxresume adapter with auto v5-first selection

* refactor(server): route settings profile and pdf generation through rxresume adapter

* feat(api): support rxresume v4/v5 in onboarding and settings routes with ok/meta responses

* feat(client): add rxresume mode selector and v5 api key setup flow

* docs: document rxresume auto mode with v5-first self-hosted setup

* test: verify dual-mode rxresume support and ci parity checks

* comments

* services folder

* correct types for v5

* tests and docs fix

* Fix RxResume auto fallback and route API consistency

* warning for both being set

* simpler response

* onboarding component improvements, v5 check still not working

* fix list resume endpoint...

* fix api endpoints to latest v5 docs

* don't show the entire project field on v5

* remove auto entirely

* formatting

* ci green

* v5 has a different resume schema

* remove redundant check

* remove requirement that only one must be specified

* consolidate sections

* base resume can be v4 or v5

* saving now works

* status indicator

* actually render some pills

* reason for failure

* fix apikey verification

* dedupe isValidatingMode

* reefactoor

* simplification?

* refactor?

* ci passing

* remove auto from docs

* tailoring is schema dependent

* skills object tighter

* remove redundant text

* fix lint

* mode
This commit is contained in:
Shaheer Sarfaraz
2026-02-25 02:26:15 +00:00
committed by GitHub
parent 70f8afd294
commit 7514aa1b28
51 changed files with 4164 additions and 1247 deletions
+25 -14
View File
@@ -78,24 +78,32 @@ At generation time:
Before connecting Reactive Resume to JobOps:
1. Create your account on **RxResume v4** at [v4.rxresu.me/auth/register](https://v4.rxresu.me/auth/register).
2. Use a **native email + password** account (not Google/GitHub/other OAuth login).
3. Generate/store that password so JobOps can use it for API login.
1. Choose a mode in **Settings → Reactive Resume**:
- `v5` (API key)
- `v4` (email/password)
2. For **v5** (recommended for self-hosted/latest), generate an API key and configure `rxresumeApiKey` or `RXRESUME_API_KEY`.
3. For **v4**, create a native email/password account at [v4.rxresu.me/auth/register](https://v4.rxresu.me/auth/register) and configure `rxresumeEmail` + `rxresumePassword`.
JobOps cannot use OAuth-based RxResume logins for this integration.
Important:
### 1) Configure RxResume credentials
- Explicit `v4` and `v5` modes do not silently fall back.
- OAuth-only logins are not supported for the v4 email/password integration.
Configure in Settings:
### 1) Configure Reactive Resume access
- `rxresumeEmail`
- `rxresumePassword`
Configure in **Settings → Reactive Resume**:
- `rxresumeMode` (`v5` or `v4`)
- `rxresumeApiKey` (for v5)
- `rxresumeEmail` + `rxresumePassword` (for v4)
Or via environment variables:
- `RXRESUME_MODE` (`v5` or `v4`)
- `RXRESUME_API_KEY` (for v5)
- `RXRESUME_EMAIL`
- `RXRESUME_PASSWORD`
- optional `RXRESUME_URL` (defaults to `https://v4.rxresu.me`)
- optional `RXRESUME_URL` (works for both modes; v5 OpenAPI path is added automatically)
### 2) Select base resume
@@ -176,7 +184,7 @@ curl -X PATCH "http://localhost:3001/api/settings" \
```
```bash
# List available RxResume resumes
# List available Reactive Resume resumes
curl "http://localhost:3001/api/settings/rx-resumes"
```
@@ -194,14 +202,17 @@ curl -X POST "http://localhost:3001/api/jobs/<jobId>/generate-pdf"
### RxResume controls are disabled
- Ensure RxResume credentials are configured.
- Ensure the selected mode has credentials configured.
- `v5`: set a valid API key.
- `v4`: set email + password.
- Save settings, then refresh resumes in the Reactive Resume section.
### No resumes appear in dropdown
- Confirm credentials are valid for [v4.rxresu.me](https://v4.rxresu.me)/your configured RxResume URL.
- Confirm the RxResume account is a native email/password account (not OAuth-only).
- Confirm the selected RxResume account actually has resumes.
- Confirm the selected mode matches your Reactive Resume deployment.
- For `v5`, confirm `RXRESUME_API_KEY` / `rxresumeApiKey` is valid for your self-hosted instance.
- For `v4`, confirm credentials are valid for [v4.rxresu.me](https://v4.rxresu.me) (or your configured v4 URL) and are not OAuth-only.
- Confirm the selected Reactive Resume account actually has resumes.
### Project list is empty in settings