{"bin":{"agent-canvas":"bin/agent-canvas.mjs"},"msw":{"workerDirectory":["public"]},"bugs":{"url":"https://github.com/OpenHands/OpenHands/issues"},"dist":{"shasum":"a2ee81d7722af5c18e4ee372d493590de93af044","tarball":"https://registry.npmjs.org/@openhands/agent-canvas/-/agent-canvas-1.27.1.tgz","fileCount":11654,"integrity":"sha512-cfB3tsg9bN1AdhExLjXwW9RmE1v1+UImgV4uID/jwc2gYhz1+mqtxP8OwsHtjrFHnaIkX+26822UcJ2O3Njixg==","signatures":[{"sig":"MEYCIQDefskNGzkC5NfPcaEbRdpl1LxIsdd4cSFu1Pv6wErkZgIhAM7JY7bKuw3T55wig/4z1nwZmflwFijn15qhltdI83gF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFRs77sl4xEkB22YWLTYCF1ATqAnmkPY9O/bwJMl4CeLAiB0TZp3Zod/Llhggyj4zZdNhmlhM3kYabEmce0JN3+uWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@openhands%2fagent-canvas@1.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77167157},"main":"./dist/index.cjs","name":"@openhands/agent-canvas","type":"module","types":"./dist/index.d.ts","volta":{"node":"24.21.0"},"module":"./dist/index.js","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./i18n":{"types":"./dist/i18n/index.d.ts","import":"./dist/i18n/index.js","require":"./dist/i18n/index.cjs"},"./files":{"types":"./dist/components/files/index.d.ts","import":"./dist/components/files/index.js","require":"./dist/components/files/index.cjs"},"./browser":{"types":"./dist/components/browser/index.d.ts","import":"./dist/components/browser/index.js","require":"./dist/components/browser/index.cjs"},"./sidebar":{"types":"./dist/components/sidebar/index.d.ts","import":"./dist/components/sidebar/index.js","require":"./dist/components/sidebar/index.cjs"},"./settings":{"types":"./dist/components/settings/index.d.ts","import":"./dist/components/settings/index.js","require":"./dist/components/settings/index.cjs"},"./terminal":{"types":"./dist/components/terminal/index.d.ts","import":"./dist/components/terminal/index.js","require":"./dist/components/terminal/index.cjs"},"./conversation":{"types":"./dist/components/conversation/index.d.ts","import":"./dist/components/conversation/index.js","require":"./dist/components/conversation/index.cjs"},"./package.json":"./package.json"},"gitHead":"f07aebdf5cdd71f4a05ebcf30f8bef5e4e3b70b9","license":"MIT","private":false,"scripts":{"dev":"node --env-file-if-exists=.env scripts/dev-with-automation.mjs","lint":"npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}","test":"npm run make-i18n && vitest run","build":"npm run build:app","start":"npx sirv-cli build/ --single","desktop":"npm run build:app && electron electron","dev_wsl":"VITE_WATCH_USE_POLLING=true vite","prelint":"npm run make-i18n","prepare":"husky","preview":"vite preview","dev:mock":"npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev","lint:fix":"eslint src --fix && prettier --write src/**/*.{ts,tsx}","test:e2e":"playwright test --pass-with-no-tests","build:app":"npm run make-i18n && react-router build","build:lib":"npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true vite build && tsc -p tsconfig.lib.json","make-i18n":"node scripts/make-i18n-translations.cjs","typecheck":"react-router typegen && tsc","build:mock":"npm run make-i18n && cross-env VITE_MOCK_API=true react-router build","dev:static":"node --env-file-if-exists=.env scripts/dev-static.mjs","predesktop":"node scripts/brand-dev-electron.mjs","dev:minimal":"node --env-file-if-exists=.env scripts/dev-safe.mjs","download-uv":"node scripts/download-uv.mjs","postinstall":"node -e \"if (process.env.npm_config_global === 'true') { console.log('\\n\\x1b[32m\\x1b[1m\\u2713 @openhands/agent-canvas installed!\\x1b[0m\\n\\nTo start Agent Canvas, run:\\n\\n  \\x1b[36m\\x1b[1magent-canvas\\x1b[0m\\n\\nThis launches the full stack at \\x1b[36mhttp://localhost:8000\\x1b[0m.\\n\\nDocs: https://docs.openhands.dev/openhands/usage/agent-canvas/setup\\n') }\"","build:docker":"node scripts/docker-build.mjs","dev:frontend":"npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev","build:desktop":"npm run build:app && node scripts/download-uv.mjs && node scripts/download-node.mjs && electron-builder --config electron-builder.config.mjs --publish never","download-node":"node scripts/download-node.mjs","test:coverage":"npm run make-i18n && vitest run --coverage","test:e2e:live":"node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs","test:mutation":"npm run make-i18n && stryker run","generate-icons":"node scripts/generate-icons.mjs","typecheck:staged":"react-router typegen && npx tsc --noEmit --skipLibCheck","dev:extra-backend":"node --env-file-if-exists=.env scripts/dev-extra-backend.mjs","test:e2e:mock-llm":"playwright test --config=playwright.mock-llm.config.ts","test:mutation:diff":"npm run make-i18n && node scripts/stryker-diff.mjs","test:e2e:bind-policy":"playwright test --config=playwright.bind-policy.config.ts","example:acp-docker:env":"node scripts/gen-acp-docker-env.mjs","build:desktop:universal":"npm run build:app && cross-env ELECTRON_ARCH=universal node scripts/download-uv.mjs && cross-env ELECTRON_ARCH=universal node scripts/download-node.mjs && cross-env ELECTRON_ARCH=universal electron-builder --config electron-builder.config.mjs --publish never","test:e2e:mock-llm:docker":"playwright test --config=playwright.mock-llm-docker.config.ts","test:mutation:incremental":"npm run make-i18n && stryker run --incremental","check-translation-completeness":"node scripts/check-translation-completeness.cjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"67cc364b-9d3e-44b3-85d4-67a13aed8459"}},"homepage":"https://github.com/OpenHands/OpenHands#readme","overrides":{"dompurify":"3.4.14","typed-rest-client":{"qs":"6.15.3"},"@vercel/static-config":{"ajv":"8.20.0"}},"repository":{"url":"git+https://github.com/OpenHands/OpenHands.git","type":"git"},"_npmVersion":"11.19.0","description":"Agent Canvas UI for OpenHands - run AI coding agents with a visual interface","directories":{},"lint-staged":{"src/**/*":["npm run check-translation-completeness"],"src/**/*.{ts,tsx}":["node scripts/run-staged-typecheck.mjs"],"src/**/*.{ts,tsx,js}":["eslint --fix","prettier --write"]},"maintainers":[{"name":"malhotra5","email":"rohit@openhands.dev"},{"name":"jlav","email":"joe.laverty@openhands.dev"},{"name":"rbren","email":"robert@all-hands.dev"}],"_nodeVersion":"24.21.0","dependencies":{"ws":"8.21.0","clsx":"2.1.1","sirv":"3.0.2","uuid":"14.0.1","vite":"8.0.16","axios":"1.18.0","isbot":"5.2.1","react":"19.3.0","httpxy":"0.5.5","i18next":"26.4.2","winston":"3.19.0","zustand":"5.0.14","sirv-cli":"3.0.1","downshift":"9.4.0","driver.js":"1.3.6","react-dom":"19.3.0","posthog-js":"1.415.0","rehype-raw":"7.0.0","remark-gfm":"4.0.1","react-icons":"5.6.0","shell-quote":"1.9.0","@xterm/xterm":"6.0.0","lucide-react":"1.25.0","react-router":"7.18.2","@heroui/react":"2.8.10","framer-motion":"12.38.0","monaco-editor":"0.56.0","react-i18next":"17.0.14","remark-breaks":"4.0.0","react-markdown":"10.1.0","tailwind-merge":"3.7.0","react-hot-toast":"2.6.0","rehype-sanitize":"6.0.0","@xterm/addon-fit":"0.11.0","unist-util-visit":"5.1.0","@tailwindcss/vite":"4.3.3","@react-router/node":"7.18.2","@types/shell-quote":"1.7.5","@uidotdev/usehooks":"2.4.1","tailwind-scrollbar":"4.0.2","@react-router/serve":"7.18.2","@monaco-editor/react":"4.7.0","i18next-http-backend":"4.0.2","@openhands/extensions":"0.30.0","@tanstack/react-query":"5.103.1","class-variance-authority":"0.7.1","react-syntax-highlighter":"16.1.1","winston-daily-rotate-file":"5.0.0","@microlink/react-json-view":"1.31.25","@openhands/typescript-client":"1.54.0","i18next-browser-languagedetector":"8.2.1"},"_hasShrinkwrap":false,"packageManager":"npm@10.5.0","devDependencies":{"msw":"2.15.0","husky":"9.1.7","jsdom":"30.0.1","eslint":"9.39.5","vitest":"5.0.0","globals":"16.5.0","electron":"43.3.0","prettier":"3.8.3","@types/ws":"8.18.1","cross-env":"10.1.0","png2icons":"2.0.1","@eslint/js":"9.39.4","typescript":"6.0.3","@types/node":"26.2.0","lint-staged":"17.3.0","tailwindcss":"4.3.3","@shadcn/lint":"0.2.1","@types/mdast":"4.0.4","@types/react":"19.3.0","@eslint/eslintrc":"3.3.6","@playwright/test":"1.63.0","@types/react-dom":"19.3.0","electron-builder":"26.15.3","vite-plugin-svgr":"5.2.0","@react-router/dev":"7.18.2","@tailwindcss/node":"4.3.3","@vitest/coverage-v8":"5.0.0","eslint-plugin-react":"7.37.5","@testing-library/dom":"10.4.2","@vercel/react-router":"1.3.3","@stryker-mutator/core":"9.6.1","eslint-plugin-i18next":"6.1.5","@testing-library/react":"16.3.3","eslint-config-prettier":"10.1.8","eslint-plugin-import-x":"4.17.1","eslint-plugin-jsx-a11y":"6.10.2","eslint-plugin-prettier":"5.5.6","@tailwindcss/typography":"0.5.20","postcss-prefix-selector":"2.1.1","@testing-library/jest-dom":"7.0.1","@typescript-eslint/parser":"8.67.0","eslint-plugin-react-hooks":"7.1.1","@testing-library/user-event":"14.6.7","eslint-plugin-unused-imports":"4.4.1","@tanstack/eslint-plugin-query":"5.103.1","@stryker-mutator/vitest-runner":"9.6.1","@types/react-syntax-highlighter":"15.5.13","@typescript-eslint/eslint-plugin":"8.67.0","eslint-import-resolver-typescript":"4.4.5"},"peerDependencies":{"react":"19.3.0","react-dom":"19.3.0","react-router":"7.18.2"},"_npmOperationalInternal":{"tmp":"tmp/agent-canvas_1.27.1_1791834910190_0.6983432125977194","host":"s3://npm-registry-packages-npm-production"},"_id":"@openhands/agent-canvas@1.27.1","version":"1.27.1"}