Jobber/orchestrator/package.json
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

98 lines
3.2 KiB
JSON

{
"name": "job-ops-orchestrator",
"version": "1.0.0",
"type": "module",
"description": "Unified orchestrator for job application pipeline",
"main": "dist/server/index.js",
"scripts": {
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
"dev:server": "tsx watch src/server/index.ts",
"dev:client": "vite --host",
"ci": "biome ci",
"check": "biome check",
"check:fix": "biome check --write",
"check:types": "tsc --noEmit",
"format": "biome format",
"format:fix": "biome format --write",
"build": "npm run build:client && npm run build:server",
"build:server": "tsc -p tsconfig.server.json && tsc-alias -p tsconfig.server.json",
"build:client": "vite build",
"start": "node dist/server/index.js",
"db:migrate": "tsx src/server/db/migrate.ts",
"db:clear": "tsx src/server/db/clear.ts",
"db:drop": "tsx src/server/db/clear.ts --drop",
"pipeline:run": "tsx src/server/pipeline/run.ts",
"test": "vitest",
"test:run": "vitest run"
},
"dependencies": {
"@hookform/resolvers": "^5.2.2",
"@paralleldrive/cuid2": "^3.0.6",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-checkbox": "^1.3.2",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-progress": "^1.1.8",
"@radix-ui/react-radio-group": "^1.3.8",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-separator": "^1.1.8",
"@radix-ui/react-slot": "^1.2.4",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-tooltip": "^1.2.8",
"@tailwindcss/vite": "^4.1.18",
"@types/canvas-confetti": "^1.9.0",
"better-sqlite3": "^11.6.0",
"canvas-confetti": "^1.9.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cors": "^2.8.5",
"dotenv": "^17.2.3",
"drizzle-orm": "^0.38.2",
"express": "^4.18.2",
"lucide-react": "^0.561.0",
"next-themes": "^0.4.6",
"react-hook-form": "^7.71.1",
"react-markdown": "^10.1.0",
"react-transition-group": "^4.4.5",
"remark-gfm": "^4.0.1",
"sonner": "^2.0.7",
"tailwind-merge": "^3.4.0",
"tailwindcss-animate": "^1.0.7",
"vaul": "^1.1.2",
"zod": "^3.23.8"
},
"devDependencies": {
"@biomejs/biome": "2.3.12",
"@tailwindcss/postcss": "^4.1.18",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.1",
"@types/better-sqlite3": "^7.6.8",
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21",
"@types/jsdom": "^27.0.0",
"@types/node": "^22.10.1",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/react-transition-group": "^4.4.12",
"@vitejs/plugin-react": "^4.3.4",
"autoprefixer": "^10.4.22",
"concurrently": "^9.1.0",
"drizzle-kit": "^0.30.1",
"jsdom": "^25.0.1",
"postcss": "^8.5.6",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-router-dom": "^7.0.2",
"tailwindcss": "^4.1.18",
"tsc-alias": "^1.8.16",
"tsx": "^4.19.2",
"tw-animate-css": "^1.4.0",
"typescript": "^5.7.2",
"vite": "^6.0.3",
"vitest": "^4.0.16"
}
}