Files
Reactive-Resume/apps/web/package.json
T
Amruth Pillai e1d5b9ba9b feat(web): the assistant beside the document, and Improve in every text field
The assistant opens beside the resume or letter it works on: a third column
at 1280px and wider, in place of the left panel from 1024px, a drawer below
that, and full screen on phones. The bar's button and Mod+J toggle it.

The panel sets up a provider in place, suggests what to ask, streams replies
with Stop and Continue, asks clarifying questions, and shows proposed edits as
change sets with page marks, the outline's "n proposed" pill and the page
caption. Context chips decide whether the next message shares the document and
the posting. Errors keep the message with Retry and Switch model, past
conversations are grouped by document with their outcomes, and the
conversation can be copied as a transcript.

Improve in the rich-text toolbar suggests a stronger verb, a result, a shorter
line or the user's own request for the line holding the caret, and replaces it
only on Replace.

The Agents pages, the builder's assistant sheet and the application copilot
panel are removed; /agent links redirect to the document with the assistant
open. Command palette Ask, Job match's missing terms, Applications' Prepare for
next step and Copy for a job all open the assistant on the right document.
Removes the unused react-resizable-panels and @shadcn/helpers dependencies.
2026-09-29 00:11:16 +02:00

119 lines
4.0 KiB
JSON

{
"name": "web",
"version": "0.0.0",
"type": "module",
"private": true,
"scripts": {
"build": "vite build",
"dev": "vite dev",
"serve": "vite preview",
"start": "vite preview",
"typecheck": "tsgo --noEmit",
"test": "vitest run --passWithNoTests",
"test:coverage": "vitest run --coverage --passWithNoTests",
"test:ci": "vitest run --coverage --reporter=default --reporter=github-actions --reporter=json --reporter=junit --outputFile.json=reports/vitest-results.json --outputFile.junit=reports/vitest-junit.xml --passWithNoTests",
"test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests",
"lingui:extract": "lingui extract --clean --overwrite"
},
"dependencies": {
"@ai-sdk/react": "^4.0.121",
"@base-ui/react": "^1.8.0",
"@better-auth/api-key": "^1.7.6",
"@better-auth/infra": "^0.4.11",
"@better-auth/oauth-provider": "^1.7.6",
"@better-auth/passkey": "^1.7.6",
"@codemirror/autocomplete": "^6.20.3",
"@codemirror/commands": "^6.11.1",
"@codemirror/lang-css": "^6.3.1",
"@codemirror/language": "^6.12.4",
"@codemirror/lint": "^6.9.7",
"@codemirror/search": "^6.7.2",
"@codemirror/state": "^6.7.6",
"@codemirror/view": "^6.43.13",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@fontsource-variable/manrope": "^5.3.0",
"@lingui/core": "^6.8.0",
"@lingui/react": "^6.8.0",
"@orpc/client": "^1.15.4",
"@orpc/server": "^1.15.4",
"@orpc/tanstack-query": "^1.15.4",
"@phosphor-icons/react": "^2.1.10",
"@react-pdf/renderer": "^4.9.0",
"@reactive-resume/ai": "workspace:*",
"@reactive-resume/api": "workspace:*",
"@reactive-resume/auth": "workspace:*",
"@reactive-resume/docx": "workspace:*",
"@reactive-resume/fonts": "workspace:*",
"@reactive-resume/import": "workspace:*",
"@reactive-resume/pdf": "workspace:*",
"@reactive-resume/resume": "workspace:*",
"@reactive-resume/schema": "workspace:*",
"@reactive-resume/ui": "workspace:*",
"@reactive-resume/utils": "workspace:*",
"@tailwindcss/vite": "^4.3.3",
"@tanstack/react-form": "^1.33.5",
"@tanstack/react-hotkeys": "^0.12.1",
"@tanstack/react-query": "^5.104.0",
"@tanstack/react-router": "^1.170.40",
"@tiptap/extension-color": "^3.31.3",
"@tiptap/extension-heading": "^3.31.3",
"@tiptap/extension-highlight": "^3.31.3",
"@tiptap/extension-paragraph": "^3.31.3",
"@tiptap/extension-table": "^3.31.3",
"@tiptap/extension-text-align": "^3.31.3",
"@tiptap/extension-text-style": "^3.31.3",
"@tiptap/pm": "^3.31.3",
"@tiptap/react": "^3.31.3",
"@tiptap/starter-kit": "^3.31.3",
"@types/js-cookie": "^3.0.6",
"@uiw/color-convert": "^2.10.3",
"@uiw/react-color-colorful": "^2.10.3",
"ai": "^7.0.118",
"better-auth": "1.7.6",
"cmdk": "^1.1.1",
"es-toolkit": "^1.52.0",
"fuse.js": "^7.5.0",
"immer": "^11.1.18",
"js-cookie": "^3.0.8",
"motion": "^13.4.4",
"pdfjs-dist": "6.3.289",
"prettier": "^3.9.9",
"qrcode.react": "^4.2.0",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"react-easy-crop": "^6.2.3",
"react-markdown": "^10.1.0",
"react-window": "^2.3.3",
"remark-gfm": "^4.0.1",
"ts-pattern": "^5.9.0",
"usehooks-ts": "^3.1.1",
"zod": "^4.6.5",
"zustand": "^5.0.15"
},
"devDependencies": {
"@babel/core": "^8.0.6",
"@lingui/babel-plugin-lingui-macro": "^6.8.0",
"@lingui/cli": "^6.8.0",
"@lingui/format-po": "^6.8.0",
"@lingui/vite-plugin": "^6.8.0",
"@reactive-resume/config": "workspace:*",
"@rolldown/plugin-babel": "^0.2.4",
"@tanstack/devtools-vite": "^0.8.5",
"@tanstack/react-devtools": "^0.10.13",
"@tanstack/react-query-devtools": "^5.104.0",
"@tanstack/react-router-devtools": "^1.167.2",
"@tanstack/router-plugin": "^1.168.41",
"@types/babel__core": "^7.20.5",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"@typescript/native-preview": "7.0.0-dev.20260707.2",
"@vitejs/plugin-react": "^6.1.1",
"babel-plugin-macros": "^3.1.0",
"babel-plugin-react-compiler": "^1.0.0",
"typescript": "^7.0.2",
"vite": "^8.3.1"
}
}