108 Commits

Author SHA1 Message Date
Shaheer Sarfaraz
0e6f0bcf88
Inputs getting unset fix (#91)
* codex 5.3 one shot

* prevent cursor changing position
2026-02-05 19:43:10 +00:00
Shaheer Sarfaraz
6353a23f6f
Small wins style tickets (#88)
* wrap text

* version check!

* initial commit for "remove below score" in pipeline, or manually

* comments
2026-02-05 19:17:14 +00:00
Devin Collins
d18464548e
feat: add salary display and missing salary penalty scoring (#86) 2026-02-05 07:35:17 +00:00
Shaheer Sarfaraz
82b261c7bc
Refactor LLM service into modular adapters and policies (#83)
* llm migration

* orchestrator runer

* Decompose runPipeline steps

* dedupe

* refactor(settings): unify settings conversion metadata and round-trip tests

* refactor(llm): extract shared provider strategy factory

* refactor(settings-ui): add reusable numeric setting section

* test(orchestrator): stabilize usePipelineSources localStorage setup

* comments
2026-02-04 21:48:28 +00:00
Shaheer Sarfaraz
b94f85b149
Reduce low risk duplication (#79)
* clean up helpers

* shared in it's own top level folder

* workspaces setup

* build fix

* disable workspaces?

* run ci

* rename job-flow to gradcracker

* optional dependencies

* formatting?

* more optional modules

* allow post install runs

* node bump

* remove post install

* add optionals

* add more

* formatting

* comments, but im unsure

* run typescript DIRECTLY

* better build

* camoufox simplification

* lint

* build process doesn't exist

* build fix

* lockfile

* type check everything, build only for client

* rename steps correctly

* import from package!

* fix formatting

* don't fetch twice

* fix concern
2026-02-02 21:30:14 +00:00
Shaheer Sarfaraz
179deffe13
Database backups (#75)
* initial commit

* test fix

* manual test

* copilot comments

* code quality skill

* comments

* fix types problem

* formatting

* tests now correct for new backup method

* UTC dates
2026-02-02 00:07:39 +00:00
Devin Collins
65952259ce
feat: add remote jobs filter for JobSpy (#70)
* feat(types): add jobspyIsRemote to TypeScript type definitions

- Add jobspyIsRemote boolean fields to AppSettings interface
- Follow three-field pattern: value, default, override
- Update test fixture with default values (false)

* feat(validation): add jobspyIsRemote validation schema

Add Zod validation schema for jobspyIsRemote boolean setting to ensure type safety in the settings API endpoint.

* feat(db): add jobspyIsRemote to database repository setting keys

* feat(api): add jobspyIsRemote storage to settings API route

* feat(service): add jobspyIsRemote to settings service with environment variable support

* feat(jobspy): add isRemote parameter to JobSpy service interface

* feat(pipeline): pass isRemote setting to JobSpy service

* feat(python): add is_remote parameter to JobSpy scraper script

* feat(ui): add Remote Jobs checkbox to JobSpy settings

* feat(ui): add Remote badge to job display

- Display Remote badge when job.isRemote === true
- Position badge next to Source badge in JobHeader
- Use Badge component with outline variant
- Badge does not display when isRemote is false or null

* docs(env): add JOBSPY_IS_REMOTE environment variable documentation

- Added JobSpy section to .env.example with JOBSPY_IS_REMOTE variable
- Documents remote-only job filtering option with default value of 0 (disabled)
- Follows existing .env.example format with clear section headers and descriptions

* test(remote-jobs): verify end-to-end functionality with comprehensive feedback loops
2026-01-31 16:48:17 +00:00
Shaheer Sarfaraz
3be0d25c87
Starting work on Dashboard! (#65)
* initial commit

* fix build issues and configurable time duration

* show in nav

* Positive response rate by posting freshness

* load today's jobs for charts

* fix infinite refetching with onboarding gate

* application to response rate

* refactor charts to their own directory

* bar hover color

* Duration selector embedded in navbar

* always load env

* remove warning about low conversion rate

* trend graph for applications per day

* better copy

* remove freshness response chart

* bottom line chart color and tooltip improved

* introduce check all command

* fix lint

* tests added and CI passing
2026-01-30 11:40:17 +00:00
Shaheer Sarfaraz
b4641ad9cb
Customise llm base url (#68)
* backend initial commit

* frontend initial commit

* better copy

* make lmstudio work

* enum of providers

* better error messages

* llm model settings stay in one place

* llm settings should be under the model accordion

* skip llm key step in onboarding if provider is set to local

* onboarding now factors in new llm provider flow

* fix tests

* fix typecheck
2026-01-29 16:20:12 +00:00
Shaheer Sarfaraz
6e771ce728
Timeline introduced (#38)
* initial implementation

* onboarding doesn't pop until invalid values are present

* link to job page

* proactive inputs working slightly

* onboarding gate reinstated

* better proactive buttons

* fully manual tracking for now.

* edit and delete timeline events

* status showing correctly

* tests update

* tests

* Update orchestrator/src/server/services/applicationTracking.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/server/services/applicationTracking.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/server/services/applicationTracking.test.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/client/pages/job/Timeline.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update orchestrator/src/client/pages/JobPage.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add tests for application tracking routes and remove unused actionId from client API

* remove unnecessary await from synchronous transitionStage calls and improve test isolation

* relax externalUrl validation to allow non-URL metadata

* add toast notifications for data loading and event logging in JobPage

* comments

* fix: resolve type error in sponsor-matching.test.ts

* fix ci

* tests fix for github

* lint

* github comments

* build fix

* dedupe

* format

* types fix

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* formatting

* title and group id are discrete fields

* backfill

* hide view button on page

* show relevant dropdown options

* confetti!

* remove redundant

* confirm delete is a custom element now

* formatting

* fix styling

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 23:49:11 +00:00
DaKheera47
9d53dd6477 fix test fiels 2026-01-27 15:12:58 +00:00
DaKheera47
b3c8a04b71 fix working files 2026-01-27 15:12:53 +00:00
DaKheera47
d4e83c0674 gem3 flash lint fix 2026-01-25 13:14:59 +00:00
DaKheera47
5c2eef2fc8 ran check:fix in orchestrator 2026-01-25 12:41:44 +00:00
DaKheera47
ca5486fcb4 country dropdown 2026-01-25 12:24:28 +00:00
copilot-swe-agent[bot]
9f5380fa69 Add clarifying note about job title-only search limitation
Co-authored-by: DaKheera47 <53654735+DaKheera47@users.noreply.github.com>
2026-01-24 05:18:22 +00:00
DaKheera47
b2c42fadef fix: fix filter race condition and dedup filter source logic 2026-01-23 13:47:04 +00:00
DaKheera47
d7cbf81808 button shows how many selected 2026-01-23 13:43:37 +00:00
DaKheera47
3652abab3e codex oneshots ftw! 2026-01-23 13:39:28 +00:00
Shaheer Sarfaraz
442e600b58
Update orchestrator/src/client/pages/settings/components/ReactiveResumeSection.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-23 12:36:07 +00:00
DaKheera47
3f37029dfd address comments 2026-01-23 12:08:17 +00:00
DaKheera47
a268bfdd59 onboarding UI ensures that we have a resume base id when we're in the app 2026-01-23 11:59:02 +00:00
DaKheera47
7a358db317 settings page can pull and save resume details from v4 api template 2026-01-23 11:06:25 +00:00
DaKheera47
44779c96fa Merge branch 'main' into reactive-resume-v5 2026-01-22 22:57:37 +00:00
DaKheera47
9e7bd43a42 default model should be google/gemini-3-flash-preview 2026-01-22 22:20:21 +00:00
DaKheera47
2e92ebd44c fix comments 2026-01-22 16:56:41 +00:00
DaKheera47
0dc12eebc3 fix default set 2026-01-22 16:32:07 +00:00
DaKheera47
45ecfc1f86 allow either one or both to be set for basicAuth 2026-01-22 16:31:00 +00:00
DaKheera47
0844071b7a dedupe 2026-01-22 16:31:00 +00:00
Shaheer Sarfaraz
6913607eef
typo fix
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-22 16:25:52 +00:00
DaKheera47
fc527b6cc8 checkbox didn't enable the save button, and disabling the toggle wipes the credentials in the backend upon saving 2026-01-22 12:46:43 +00:00
DaKheera47
c416e5c7ff better copy 2026-01-22 12:37:16 +00:00
DaKheera47
31dfc7afd6 webhook sections combined 2026-01-22 12:36:53 +00:00
DaKheera47
a81b1f0e58 use settings input component 2026-01-22 12:24:14 +00:00
DaKheera47
0424a29008 correct keys, and keys separated correctly 2026-01-22 12:04:20 +00:00
DaKheera47
7e1f9454d4 Initial commit for env in UI 2026-01-22 11:45:17 +00:00
DaKheera47
504ab45867 show values even if default is set 2026-01-21 21:46:36 +00:00
Shaheer Sarfaraz
b4476d1334
Update orchestrator/src/client/pages/settings/components/ResumeProjectsSection.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-21 21:28:53 +00:00
DaKheera47
610fc48a91 introduce EffectiveDefault<T> 2026-01-21 19:47:11 +00:00
DaKheera47
eb41c6237b objects for each section 2026-01-21 19:34:55 +00:00
DaKheera47
b0a8fbcde4 Initial commit for refactor 2026-01-21 19:01:25 +00:00
DaKheera47
6bd1593e13 fix tests 2026-01-21 15:40:24 +00:00
DaKheera47
6a3a25578a use person name from base.json for file downloads 2026-01-21 14:48:17 +00:00
DaKheera47
164256326f Ready panel can edit now 2026-01-21 13:17:09 +00:00
Shaheer Sarfaraz
2d0d91cd2e
Update orchestrator/src/client/pages/settings/components/DisplaySettingsSection.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-20 23:32:35 +00:00
DaKheera47
158e4b108b reduce prop drilling 2026-01-20 22:46:50 +00:00
DaKheera47
29b259352f UI intagration into header top section 2026-01-20 22:40:43 +00:00
DaKheera47
30385cfe24 sponsor match is binary 2026-01-20 22:16:53 +00:00
DaKheera47
1fd6a4b4c2 initial commit 2026-01-20 22:11:09 +00:00
DaKheera47
1934b42438 keep fallback to base.json, but tell user to use API key first 2026-01-20 13:44:42 +00:00