{"_id":"@37chengshan/ompweb","_rev":"20-a7f79e07f4060d54f063bc892f59b4b4","name":"@37chengshan/ompweb","dist-tags":{"latest":"5.1.9"},"versions":{"0.3.5":{"name":"@37chengshan/ompweb","version":"0.3.5","license":"MIT","_id":"@37chengshan/ompweb@0.3.5","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js"},"dist":{"shasum":"5d653cdfcae38ba784c81daa7d12db63cf9c2e3b","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-0.3.5.tgz","fileCount":631,"integrity":"sha512-TLMfNbhIYHX4afajVXFKDl4JMRDMdqVgtgs0iHkvFmU/kGy9ZqpbyzYkrvVJwN5dWtGmL/TlqaeopN+Q4lWXzQ==","signatures":[{"sig":"MEQCIE/hi6InGr04acbD/2KAPTD0RFgUluQsxMQVFGn/Vt+eAiA75gmV9F7vRTPdF37ovGX8fQ38z6rgGpBNx2h6wuLt/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17961416},"engines":{"node":">=22.19.0"},"gitHead":"aa63e25768bbda3f8431fe422844e0706979fb61","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","release:check":"npm run typecheck && npm run lint && npm test && npm run build"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/kahme247/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.1.0","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_0.3.5_1787881677020_0.5327839369166121","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@37chengshan/ompweb","version":"0.3.6","license":"MIT","_id":"@37chengshan/ompweb@0.3.6","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js"},"dist":{"shasum":"ae331d8441660871adb228ea3d244bbfec9377bf","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-0.3.6.tgz","fileCount":631,"integrity":"sha512-ykBSrXe4+rzifcAc2z+QdBwTb5EOU2Mt0Q9LPIp6czmt6J18mM1jjUKBX/FyKDjyNWw1xFxrc1+jxf3anyDzLw==","signatures":[{"sig":"MEUCIQDNm6H+IBbNS0wtGfSN5o1KSMTzZJ76weRLwKaPh1xGnQIgKkOW4b2iUz0Stpt3XhUw0zBJgzsh5V+z3ZgMnXuKUQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17969623},"engines":{"node":">=22.19.0"},"gitHead":"0f3d1be44d93f7cc35655e96db6aae91629b0e0b","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","release:check":"npm run typecheck && npm run lint && npm test && npm run build"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/kahme247/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.1.0","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_0.3.6_1787882458099_0.7302340818062216","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@37chengshan/ompweb","version":"4.0.0","license":"MIT","_id":"@37chengshan/ompweb@4.0.0","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js"},"dist":{"shasum":"3c375a0be881088bd45d1ecf8e58f6772715f575","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.0.tgz","fileCount":635,"integrity":"sha512-icqS5WD1tsTXtfmu1S0OPsH6QpHLi3l15r72v37QhU/3Ndp/rOyKu4i1M/Ef/KI6hL9YPE56WA3QIBfSCJsjvw==","signatures":[{"sig":"MEQCIEPL8IDV8yWFBy37A/fyKU9cemxLXpGGnvmNiuKCRPO5AiA9+0oevRgL6eN2T5019nnzklZYqfGKQWqPnQR0RPA5YQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18011696},"engines":{"node":">=22.19.0"},"gitHead":"ecbf7a1f057eefe75bc4ea032c6966cdcc1255db","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","release:check":"npm run typecheck && npm run lint && npm test && npm run build"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/kahme247/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.0_1787897203003_0.24368519053193927","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@37chengshan/ompweb","version":"4.0.1","license":"MIT","_id":"@37chengshan/ompweb@4.0.1","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"e6e9cf8e389768991bf516458f49234ed93da8d9","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.1.tgz","fileCount":653,"integrity":"sha512-ubjALe7PxBXmW+MN3SIore3JjrZUs2TZkLtBHS2jeKSNQuMpt+Ujd3HaHdlj6WVraiwaO4e/rhNrVeJMepypqA==","signatures":[{"sig":"MEYCIQCwH9cI2GICY7Yb+RHpLJIHjJBp2/tqUU/r3NAOCfVKiAIhALRlsC/XsXaj/BzhvcFKgdejhraEK0whjgoB/hyeXIjd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18338436},"engines":{"node":">=22.19.0"},"gitHead":"8be20f4e0e8b765f0c349293ab300e7374213a4b","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","release:check":"npm run typecheck && npm run lint && npm test && npm run build"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/kahme247/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.1_1787912536603_0.18731838913926158","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@37chengshan/ompweb","version":"4.0.3","license":"MIT","_id":"@37chengshan/ompweb@4.0.3","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"6dc345e0fe23094e4b191e8097123fb03c05fc9e","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.3.tgz","fileCount":3063,"integrity":"sha512-fA58BcseMAlmYezSuvImO5EKySd2FiJ+1A4opfhEh6sLbIet63GIutbhkHbBx2ZlQ7Ew0DQNv0Vz1EOksKUkIA==","signatures":[{"sig":"MEUCIQDqjYnm8UUEx2Avf5B7v/3BBpUHXXF9Oq1QDLn6tt8StAIgeJ1XxC2E2ipmlh7uDZATkECmejYEXlj/uIblFhkUI70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70424810},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"c00781ee6ea632b784935bfff06ffb96076e5159","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/kahme247/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.3_1787930008332_0.6976064774309847","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@37chengshan/ompweb","version":"4.0.4","license":"MIT","_id":"@37chengshan/ompweb@4.0.4","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"e0b1659c8b40a30b7d4e4ffc0857fa2a0ab5f4d0","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.4.tgz","fileCount":3096,"integrity":"sha512-NFG5IxdhcogC7FyGYzoaODo/29wtF7y1RYzj2fRH1T5+CGF1kC4lVRVgfL7JgMyw95hGUAHHnEtHMeQzhtcxKQ==","signatures":[{"sig":"MEYCIQDXF0KtK4jFHGh1g0dk//fRjDvg5otbVW3sTMNNIQhH4gIhAKaONrMwo3z/TTpbuFMG6psrxwJmwLs7Llv2JcdexmaM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70671181},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"5333ba66435eca2052bc1ea7a854a6d5da220b2c","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/kahme247/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.4_1787936298210_0.6138431695935509","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@37chengshan/ompweb","version":"4.0.5","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.5","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"cab16b2a3d5e697e997c4d8d78a64e3c4a5a650b","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.5.tgz","fileCount":3096,"integrity":"sha512-xDSWW+1TbIK0ItO5F1d7voL3doqCTLHJcM28LfWcl2w8EK5RZD3JEIAXneYYXSuyG0//zR4ayWIRF96E9tFE9Q==","signatures":[{"sig":"MEUCIQCytou0bRtGNfznLh/N6w5Ty9GykncjxwebWl1Gh64qywIgcYhZbc96b8Wp285nlAUphHFmS+ODKsryJVTe0PEBKI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70676404},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","provider":"github","releaseType":"release"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"f114e1401d3a30d935187500a8b9d51df371c712","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.5_1787979904991_0.11919752530597916","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"@37chengshan/ompweb","version":"4.0.7","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.7","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"6a07d9f41af1f8a9d411b5aabec8a0494256bb75","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.7.tgz","fileCount":3185,"integrity":"sha512-GHYPXS/e3kU4lOAXIJs2F8849ZodvoeL4Q5vrsmg4t+J3TOLn5Xb/j8miCAmHbUPEyLFgNgH2iFU6QAknilHBA==","signatures":[{"sig":"MEUCIQD8p9kQEym4pS8+CFOJrliMK7ZncAaeWxlMBofSPRoCpQIgP6UipUnjWEEB1gIk3O2p/k9K8zsaH95ehLAZ2JntCXo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71264707},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"7df6433d79a5dadd61d12179e5dee3ec7e8df6c9","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.7_1787995852116_0.7833280099477631","host":"s3://npm-registry-packages-npm-production"}},"4.0.8":{"name":"@37chengshan/ompweb","version":"4.0.8","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.8","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"06a31849b853fa85d36921843bbd1f3cec56a120","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.8.tgz","fileCount":3192,"integrity":"sha512-swkm1FlabT0QKPjIQo2qnjAll7A7nKAae1rfqNDTU6OuZ42ELyNNzwdNEnfQTGazPdH7pTilptpboDr6gwg79g==","signatures":[{"sig":"MEQCICIJLdWeyBd5GL0oqVWOi9vHF6quANU5U23V/foBuXD6AiB8m2Zm2fO/KKZy0u2j1Y4SS0kDLhRN9nU6I6QDC6/JTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71333614},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"a7ebcc9d6ec22e407c2279c55e5a919be213ad13","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.8_1788000320313_0.9021085663367738","host":"s3://npm-registry-packages-npm-production"}},"4.0.9":{"name":"@37chengshan/ompweb","version":"4.0.9","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.9","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"6923666d065a2f7beb093ddcbcfcb10d46db6312","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.9.tgz","fileCount":3199,"integrity":"sha512-oTJJHxB0LGEcHtEUatUCSkoclD0Okff8frFyt1+JQjFdp5wvQTRcy083GRpF2U8QCRvo/s/2byqM4GBXHVKfNw==","signatures":[{"sig":"MEUCICfnXb/wePmbrn3JwkwJIG5eaO6u3L5m6k0kTfdzChyxAiEA+w6rHEFYEy+eHyLjBoVD2op8yMJA01z7RNo+tANF/fU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71387437},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"b51aa0dd59cb5df5cc6c6debaecd9884c5cdded5","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.9_1788007713478_0.013774061651199876","host":"s3://npm-registry-packages-npm-production"}},"4.0.10":{"name":"@37chengshan/ompweb","version":"4.0.10","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.10","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"22086a66b98671543ff19243541846bacf596066","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.10.tgz","fileCount":3199,"integrity":"sha512-sMrN5ALsiHHM5vYgR0pcPNorsBgPvIjwUSFzfFxjyUtOBUrjpp6WTuqqosLrTbMWBZp8WhY/aioNqn4fscs0pg==","signatures":[{"sig":"MEQCIGdaaiVmh20SmkpmfK8mH6jXlDf9fvqBmNTy7wTxjtqFAiB1Fim4jFKS0g4a1EDAkgXLLM3kBkA/j32EIL+1RB6AlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71387685},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"dff5f7a06f0594c6d4b34b5ec84f7eabfa611d67","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.10_1788015500347_0.8179454033707532","host":"s3://npm-registry-packages-npm-production"}},"4.0.11":{"name":"@37chengshan/ompweb","version":"4.0.11","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.11","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"c89c3c72c6e6b4a6d2383477ad49cd8f0d7e10f2","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.11.tgz","fileCount":3201,"integrity":"sha512-ZCaQSo60faxObb2r2C5jTbo+Iaxas/cln4XHPXTFy/r1LeZ0NxU5T+lvdPuPNYSZxxB9/mNw8Vdq8++vqS2sjA==","signatures":[{"sig":"MEUCIQDoVZRRg9eWOBC0SnPF9pyNr/Yr/jUo83CncRWJWUXCGAIgQWw2c3WgLUUln6xoBuKLlR4kAZ2Jbdnir4uXnIC9hSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71404042},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"eb808af66731084ca456cb1d28d531ba0f658669","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.11_1788019423179_0.7379863567853899","host":"s3://npm-registry-packages-npm-production"}},"4.0.12":{"name":"@37chengshan/ompweb","version":"4.0.12","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.12","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"5a9c961041ec441a62a316c8ea056a4fb27ae8ba","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.12.tgz","fileCount":3201,"integrity":"sha512-Sm5hxwqZnFRri5vMsU0nKK2X4ljPtmnmG4NL/ZiJr1L8tyqpdkRb6T27+GsfS2wrquorVUlnsiR5CHP3VCN35Q==","signatures":[{"sig":"MEYCIQDNO9+km71R2+xBjEBTn8tcerZb8gD7xXkDI2GRVjud+QIhAMVZCKzMXu0ca7G5XPTPCnvDwNzO4jA6UED7r6oU2y6v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71423408},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"ea562d6783da50cd511b6a48de3f9f1bee3b7288","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.12_1788064012762_0.03373702712763205","host":"s3://npm-registry-packages-npm-production"}},"4.0.15":{"name":"@37chengshan/ompweb","version":"4.0.15","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@4.0.15","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"e2c5c60e5d9c56f5332d436a8bda88f436abf557","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-4.0.15.tgz","fileCount":3211,"integrity":"sha512-MeOeBMUW34sHyYIQd94i/lKEZwh/EsTsuuDl3EE5RXsATv106dtxWlqjZDUJB+PjMvij3n3NDSAkfFU+8PKLEg==","signatures":[{"sig":"MEUCIQDgr7+kAkYvsfzW6tzcYjf1LD7TsohdTiQvqMYDee8QZAIgZBOsm/jsJEvUIyNhNol+qxhvHSU4mpZ75gbRrwiDZNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71455393},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**"]},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"8ecb57182d3092862223acca493a476e4af303bb","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs","build":"next build --webpack","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","bench:session":"node scripts/perf-session-bench.mjs","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_4.0.15_1788103516349_0.43623042669925716","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@37chengshan/ompweb","version":"5.0.0","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@5.0.0","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/kahme247/ompweb#readme","bugs":{"url":"https://github.com/kahme247/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"f2b90e6c5000cf4786db3ceeb33eced3f0710f41","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-5.0.0.tgz","fileCount":3600,"integrity":"sha512-+LIrdrmDel8dnA+J14GTgFyF+AHBKTycWTIRz1TQnougdLOc/Hqp6u68Q5hGpq65hpnpsqy9VXVzC7zlOqTJ3w==","signatures":[{"sig":"MEYCIQCW/s0wFLNFxqkwJeYK0WcuUxTknsjWTTrPM8DqEgUdugIhALqPl+R5tmFWqK4MLosyWgu/07GXcymPtVPB0osD5bH5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114898150},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","runAfterFinish":true,"createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**","!**/dist-desktop/**","!**/win-arm64-unpacked/**"]},{"to":"standalone/.next","from":".next/standalone/.next"},{"to":"standalone/.omp","from":".next/standalone/.omp"},{"to":"standalone/crates","from":".next/standalone/crates"},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"}]},"engines":{"node":">=22.19.0"},"gitHead":"a5b0b2415f3a7fa74c13fab49ddf64337bf4a13f","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs hooks/*.test.mjs bin/*.test.mjs desktop/*.test.mjs","build":"next build --webpack && node scripts/postbuild-static.mjs","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","bench:session":"node scripts/perf-session-bench.mjs","desktop:build":"electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"electron-builder -mwl","desktop:build:win":"electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.21.3","cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","@types/ws":"^8.18.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_5.0.0_1788274142801_0.894521799699433","host":"s3://npm-registry-packages-npm-production"}},"5.1.2":{"name":"@37chengshan/ompweb","version":"5.1.2","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@5.1.2","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/37chengshan/ompweb#readme","bugs":{"url":"https://github.com/37chengshan/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"0dccafa729fba58cc99fbf2674bfe44e888afac4","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-5.1.2.tgz","fileCount":3655,"integrity":"sha512-ZhER9Lh8slOt006cjFHSdu5e88pX0Gr9eVz7MRGeIET1KRlT/fc0zEsaA7NUdrbTYfaHfOIzcHGJISHsCesLWw==","signatures":[{"sig":"MEUCIQDuLNL11qFo308MryR4L1mcLqCvjO69A64dOF4YbLx4NwIgd4HgMaNJ42ZxvMerrm77y2o2Kczxyn3SdzcpeYN5eQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112013205},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","runAfterFinish":true,"createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**","!**/dist-desktop/**","!**/win-arm64-unpacked/**"]},{"to":"standalone/.next","from":".next/standalone/.next"},{"to":"standalone/.omp","from":".next/standalone/.omp"},{"to":"standalone/crates","from":".next/standalone/crates"},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"},{"to":"bin","from":"build-resources/host"}]},"engines":{"node":">=22.19.0"},"gitHead":"52435062e60b9c7131c101438d71a61cd5a36be0","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node scripts/audit-client-api.mjs --check && node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs components/agents/*.test.mjs components/terminal/*.test.mjs components/panels/*.test.mjs hooks/*.test.mjs bin/*.test.mjs desktop/*.test.mjs","build":"next build --webpack && node scripts/postbuild-static.mjs","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","host:build":"cargo build --locked --manifest-path crates/Cargo.toml --bin ompweb-host","host:stage":"node scripts/stage-host.mjs","bench:session":"node scripts/perf-session-bench.mjs","desktop:build":"npm run build && npm run host:build && npm run host:stage && electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"npm run build && npm run host:build && npm run host:stage && electron-builder -mwl","desktop:build:win":"npm run build && npm run host:build && npm run host:stage && electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.21.3","cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","@types/ws":"^8.18.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_5.1.2_1788547933531_0.6032468346855109","host":"s3://npm-registry-packages-npm-production"}},"5.1.3":{"name":"@37chengshan/ompweb","version":"5.1.3","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@5.1.3","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/37chengshan/ompweb#readme","bugs":{"url":"https://github.com/37chengshan/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"d2d7b19760ede977b07ae509c8b6817886e0212e","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-5.1.3.tgz","fileCount":3672,"integrity":"sha512-pMzjUBbAXz9Bmlfd8KMXeSoV6+rnDgHls6e0msoDgJoNaruDoMS8b08XBXf+psEaQNU2ZkCXkKw3PY+lZaMvIA==","signatures":[{"sig":"MEUCICdSzrD8KGJbzby9bI5GcTR+wHjdRzJIbjS+tBy2EJq3AiEAmC2l4C7y1sa3CZf0SbTwKEZwAMbHt+hZv+J54cwPMYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112325228},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","runAfterFinish":true,"createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**","!**/dist-desktop/**","!**/win-arm64-unpacked/**"]},{"to":"standalone/.next","from":".next/standalone/.next"},{"to":"standalone/.omp","from":".next/standalone/.omp"},{"to":"standalone/crates","from":".next/standalone/crates"},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"},{"to":"bin","from":"build-resources/host"}]},"engines":{"node":">=22.19.0"},"gitHead":"744c15428e09ffd7a4ee3e1c4126d4828c60ad6f","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node scripts/audit-client-api.mjs --check && node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs components/agents/*.test.mjs components/terminal/*.test.mjs components/panels/*.test.mjs hooks/*.test.mjs bin/*.test.mjs desktop/*.test.mjs","build":"next build --webpack && node scripts/postbuild-static.mjs","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","host:build":"cargo build --locked --manifest-path crates/Cargo.toml --bin ompweb-host","host:stage":"node scripts/stage-host.mjs","bench:session":"node scripts/perf-session-bench.mjs","desktop:build":"npm run build && npm run host:build && npm run host:stage && electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"npm run build && npm run host:build && npm run host:stage && electron-builder -mwl","desktop:build:win":"npm run build && npm run host:build && npm run host:stage && electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.21.3","cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","@types/ws":"^8.18.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_5.1.3_1788585565478_0.7294442968791792","host":"s3://npm-registry-packages-npm-production"}},"5.1.4":{"name":"@37chengshan/ompweb","version":"5.1.4","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@5.1.4","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/37chengshan/ompweb#readme","bugs":{"url":"https://github.com/37chengshan/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"44e40974ec389571456416997077e06cf0b4e3fd","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-5.1.4.tgz","fileCount":3672,"integrity":"sha512-onEoJF99aQL8b/TU9N8TRY5jv1qihlIdrqwqioDEuy3doHFOw6sidaY/f/DlEIMQ225e9RNcLN4uvpU6Xvkk1g==","signatures":[{"sig":"MEUCIQCIMZWJYQRSatu7E8Qm6GOwAFpvgtYdjF3LT9Bsyt2FGgIgV2mXryWAnJC4Jqd1sjjD2pU1/dFyZy+3yPh5mFdV5CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112325237},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","runAfterFinish":true,"createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**","!**/dist-desktop/**","!**/win-arm64-unpacked/**"]},{"to":"standalone/.next","from":".next/standalone/.next"},{"to":"standalone/.omp","from":".next/standalone/.omp"},{"to":"standalone/crates","from":".next/standalone/crates"},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"},{"to":"bin","from":"build-resources/host"}]},"engines":{"node":">=22.19.0"},"gitHead":"4b625292fc6a03f6ecc54ada793d2fd2523dd37c","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node scripts/audit-client-api.mjs --check && node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs components/agents/*.test.mjs components/terminal/*.test.mjs components/panels/*.test.mjs hooks/*.test.mjs bin/*.test.mjs desktop/*.test.mjs","build":"next build --webpack && node scripts/postbuild-static.mjs","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","host:build":"cargo build --locked --manifest-path crates/Cargo.toml --bin ompweb-host","host:stage":"node scripts/stage-host.mjs","bench:session":"node scripts/perf-session-bench.mjs","desktop:build":"npm run build && npm run host:build && npm run host:stage && electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"npm run build && npm run host:build && npm run host:stage && electron-builder -mwl","desktop:build:win":"npm run build && npm run host:build && npm run host:stage && electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.21.3","cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","@types/ws":"^8.18.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_5.1.4_1788588100565_0.2541383403751103","host":"s3://npm-registry-packages-npm-production"}},"5.1.5":{"name":"@37chengshan/ompweb","version":"5.1.5","author":{"name":"37chengshan"},"license":"MIT","_id":"@37chengshan/ompweb@5.1.5","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"homepage":"https://github.com/37chengshan/ompweb#readme","bugs":{"url":"https://github.com/37chengshan/ompweb/issues"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"dist":{"shasum":"ba5250ae6cbe8fca2cb82ca0a142cd97f0385f31","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-5.1.5.tgz","fileCount":3672,"integrity":"sha512-f8AFTuyEjdMdrRFotKE06WdKYaRA0z6XFev98xf+l2Q1g5oK5oC+kc5Hy4vYi4YrCGXIbUssK7HH/+SRl5agJQ==","signatures":[{"sig":"MEUCIG/Zdma0exy6WS0EcVtr24qqo3UkMEwhPzZq6g5/kftfAiEA32I1cL9Wu/+RQ12roXCIvp98dsC2qob+WxxaGQKcZUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112345203},"main":"desktop/main.js","build":{"mac":{"icon":"public/icon.png","target":["dmg","zip"],"category":"public.app-category.developer-tools"},"win":{"icon":"public/icon.png","target":["nsis"]},"nsis":{"include":"nsis-ompweb.nsh","oneClick":false,"perMachine":false,"artifactName":"OmpWeb-Setup-${version}.${ext}","shortcutName":"OmpWeb","runAfterFinish":true,"createDesktopShortcut":true,"createStartMenuShortcut":true,"allowToChangeInstallationDirectory":true},"appId":"io.github.37chengshan.ompweb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"publish":[{"repo":"ompweb","owner":"37chengshan","private":false,"provider":"github"}],"npmRebuild":false,"directories":{"output":"dist-desktop"},"productName":"OmpWeb","extraResources":[{"to":"standalone","from":".next/standalone","filter":["**/*","!**/node_modules/**","!**/dist-desktop/**","!**/win-arm64-unpacked/**"]},{"to":"standalone/.next","from":".next/standalone/.next"},{"to":"standalone/.omp","from":".next/standalone/.omp"},{"to":"standalone/crates","from":".next/standalone/crates"},{"to":"standalone/node_modules","from":".next/standalone/node_modules"},{"to":"standalone/.next/static","from":".next/static"},{"to":"standalone/public","from":"public"},{"to":"splash.mp4","from":"templates/desktop/splash.mp4"},{"to":"bin","from":"build-resources/host"}]},"engines":{"node":">=22.19.0"},"gitHead":"67192436960b21fb5f759aeb0d2ed3e3f4d82a57","scripts":{"dev":"next dev -H 127.0.0.1 -p 30178","lint":"eslint .","test":"node scripts/audit-client-api.mjs --check && node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs components/agents/*.test.mjs components/terminal/*.test.mjs components/panels/*.test.mjs hooks/*.test.mjs bin/*.test.mjs desktop/*.test.mjs","build":"next build --webpack && node scripts/postbuild-static.mjs","start":"next start -H 127.0.0.1 -p 30177","dev:lan":"next dev -H 0.0.0.0 -p 30178","prepack":"npm run build","start:lan":"next start -H 0.0.0.0 -p 30177","typecheck":"tsc --noEmit","host:build":"cargo build --locked --manifest-path crates/Cargo.toml --bin ompweb-host","host:stage":"node scripts/stage-host.mjs","bench:session":"node scripts/perf-session-bench.mjs","desktop:build":"npm run build && npm run host:build && npm run host:stage && electron-builder --mac","desktop:start":"electron .","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:build:all":"npm run build && npm run host:build && npm run host:stage && electron-builder -mwl","desktop:build:win":"npm run build && npm run host:build && npm run host:stage && electron-builder --win"},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"repository":{"url":"git+https://github.com/37chengshan/ompweb.git","type":"git"},"_npmVersion":"11.9.0","description":"Web UI for the oh-my-pi (omp) coding agent","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.21.3","cmdk":"^1.1.1","next":"16.3.0","yaml":"^2","react":"^19.2.4","undici":"8.10.0","node-pty":"^1.2.0-beta.15","react-dom":"^19.2.4","@xterm/xterm":"^6.0.0","lucide-react":"^1.27.0","qrcode.react":"^4.2.0","@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","electron-updater":"^6.8.9","@xterm/addon-web-links":"^0.12.0","react-syntax-highlighter":"^16.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","katex":"^0.16.47","eslint":"^9","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","electron":"^44.0.0","@types/ws":"^8.18.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","typescript":"^5","@types/node":"^25","remark-math":"^6.0.0","tailwindcss":"^4.2.2","@types/react":"^19","rehype-katex":"^7.0.1","react-markdown":"^10.1.0","rehype-sanitize":"^6.0.0","@types/react-dom":"^19","electron-builder":"^26.15.3","eslint-config-next":"16.3.0","@tailwindcss/postcss":"^4.2.2","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/ompweb_5.1.5_1788603197014_0.8414767323060115","host":"s3://npm-registry-packages-npm-production"}},"5.1.9":{"name":"@37chengshan/ompweb","version":"5.1.9","description":"Web UI for the oh-my-pi (omp) coding agent","homepage":"https://github.com/37chengshan/ompweb#readme","repository":{"type":"git","url":"git+https://github.com/37chengshan/ompweb.git"},"bugs":{"url":"https://github.com/37chengshan/ompweb/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"ompweb":"bin/omp-web.js","ompweb-desktop":"bin/omp-web-desktop.js"},"scripts":{"dev":"node --require ./bin/request-peer-preload.js ./node_modules/next/dist/bin/next dev -H 127.0.0.1 -p 30178","dev:lan":"node --require ./bin/request-peer-preload.js ./node_modules/next/dist/bin/next dev -H 0.0.0.0 -p 30178","build":"next build --webpack && node scripts/postbuild-static.mjs","start":"node --require ./bin/request-peer-preload.js ./node_modules/next/dist/bin/next start -H 127.0.0.1 -p 30177","start:lan":"node --require ./bin/request-peer-preload.js ./node_modules/next/dist/bin/next start -H 0.0.0.0 -p 30177","test":"node scripts/audit-client-api.mjs --check && node --experimental-strip-types --test lib/*.test.mjs lib/omp/*.test.mjs lib/contracts/*.test.mjs components/*.test.mjs components/ui/*.test.mjs components/agents/*.test.mjs components/terminal/*.test.mjs components/panels/*.test.mjs hooks/*.test.mjs bin/*.test.mjs desktop/*.test.mjs","bench:session":"node scripts/perf-session-bench.mjs","host:build":"node scripts/build-host.mjs","host:stage":"node scripts/stage-host.mjs","host:stage:vendor":"node scripts/stage-host.mjs --vendor","typecheck":"tsc --noEmit","lint":"eslint .","prepack":"node scripts/verify-host-package.mjs && npm run build","release:check":"npm run typecheck && npm run lint && npm test && npm run build","desktop:start":"electron .","desktop:build":"npm run build && npm run host:build && npm run host:stage && electron-builder --mac","desktop:build:win":"npm run build && npm run host:build && npm run host:stage && electron-builder --win","desktop:build:all":"npm run build && npm run host:build && npm run host:stage && electron-builder -mwl"},"dependencies":{"@base-ui/react":"^1.6.0","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","cmdk":"^1.1.1","electron-updater":"^6.8.9","lucide-react":"^1.27.0","next":"16.3.0","node-pty":"^1.2.0-beta.15","qrcode.react":"^4.2.0","react":"^19.2.4","react-dom":"^19.2.4","react-syntax-highlighter":"^16.1.1","undici":"8.10.0","ws":"^8.21.3","yaml":"^2"},"devDependencies":{"@tailwindcss/postcss":"^4.2.2","@types/node":"^25","@types/react":"^19","@types/react-dom":"^19","@types/react-syntax-highlighter":"^15.5.13","@types/ws":"^8.18.1","electron":"^44.0.0","electron-builder":"^26.15.3","eslint":"^9","eslint-config-next":"16.3.0","jiti":"^2.7.0","katex":"^0.16.47","mammoth":"^1.12.0","mermaid":"^11.14.0","postcss":"^8","react-markdown":"^10.1.0","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","tailwindcss":"^4.2.2","typescript":"^5"},"main":"desktop/main.js","build":{"appId":"io.github.37chengshan.ompweb","productName":"OmpWeb","files":["desktop/**","bin/**","next.config.ts","package.json","public/**"],"directories":{"output":"dist-desktop"},"mac":{"target":["dmg","zip"],"category":"public.app-category.developer-tools","icon":"public/icon.png"},"win":{"target":["nsis"],"icon":"public/icon.png"},"nsis":{"oneClick":false,"allowToChangeInstallationDirectory":true,"perMachine":false,"createDesktopShortcut":true,"createStartMenuShortcut":true,"runAfterFinish":true,"shortcutName":"OmpWeb","artifactName":"OmpWeb-Setup-${version}.${ext}"},"linux":{"target":["AppImage"],"category":"Development","executableName":"ompweb"},"extraResources":[{"from":".next/standalone","to":"standalone","filter":["**/*","!**/node_modules/**","!**/dist-desktop/**","!**/win-arm64-unpacked/**"]},{"from":".next/standalone/.next","to":"standalone/.next"},{"from":".next/standalone/.omp","to":"standalone/.omp"},{"from":".next/standalone/crates","to":"standalone/crates"},{"from":".next/standalone/node_modules","to":"standalone/node_modules"},{"from":".next/static","to":"standalone/.next/static"},{"from":"public","to":"standalone/public"},{"from":"templates/desktop/splash.mp4","to":"splash.mp4"},{"from":"build-resources/host","to":"bin"}],"publish":[{"provider":"github","owner":"37chengshan","repo":"ompweb","private":false}],"npmRebuild":false},"author":{"name":"37chengshan"},"_id":"@37chengshan/ompweb@5.1.9","_integrity":"sha512-uMW69JYroi2MbpXWhNPWa/2ehh0s5WB7EOflG0nL9SFybiayH5FkeUnRqet8EbMVQ+aRNFCtJ/epfka+pBqX8g==","_resolved":"/tmp/ompweb-5.1.9-release-package/37chengshan-ompweb-5.1.9.tgz","_from":"file:/tmp/ompweb-5.1.9-release-package/37chengshan-ompweb-5.1.9.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-uMW69JYroi2MbpXWhNPWa/2ehh0s5WB7EOflG0nL9SFybiayH5FkeUnRqet8EbMVQ+aRNFCtJ/epfka+pBqX8g==","shasum":"c420deec05f192e0d0bf3e61a2462ee070f19405","tarball":"https://registry.npmjs.org/@37chengshan/ompweb/-/ompweb-5.1.9.tgz","fileCount":781,"unpackedSize":80243703,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMtf6T6XBt9A75TheROyfz4ufo959Y+c6JveAQkm1GbwIgMGN/POJu2hVRrvJmUZTc/PgGbCcTKkROKope4ncYqBU="}]},"_npmUser":{"name":"37chengshan","email":"chiking114514@gmail.com"},"directories":{},"maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ompweb_5.1.9_1788614135266_0.1054659407043681"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-28T01:47:56.791Z","modified":"2026-09-05T13:15:36.093Z","0.3.5":"2026-08-28T01:47:57.389Z","0.3.6":"2026-08-28T02:00:58.448Z","4.0.0":"2026-08-28T06:06:43.359Z","4.0.1":"2026-08-28T10:22:16.947Z","4.0.3":"2026-08-28T15:13:28.845Z","4.0.4":"2026-08-28T16:58:18.697Z","4.0.5":"2026-08-29T05:05:05.482Z","4.0.7":"2026-08-29T09:30:52.582Z","4.0.8":"2026-08-29T10:45:20.773Z","4.0.9":"2026-08-29T12:48:33.955Z","4.0.10":"2026-08-29T14:58:20.833Z","4.0.11":"2026-08-29T16:03:44.008Z","4.0.12":"2026-08-30T04:26:53.288Z","4.0.15":"2026-08-30T15:25:16.864Z","5.0.0":"2026-09-01T14:49:03.478Z","5.1.2":"2026-09-04T18:52:14.469Z","5.1.3":"2026-09-05T05:19:26.148Z","5.1.4":"2026-09-05T06:01:41.211Z","5.1.5":"2026-09-05T10:13:17.724Z","5.1.9":"2026-09-05T13:15:35.926Z"},"bugs":{"url":"https://github.com/37chengshan/ompweb/issues"},"author":{"name":"37chengshan"},"license":"MIT","homepage":"https://github.com/37chengshan/ompweb#readme","repository":{"type":"git","url":"git+https://github.com/37chengshan/ompweb.git"},"description":"Web UI for the oh-my-pi (omp) coding agent","maintainers":[{"name":"37chengshan","email":"chiking114514@gmail.com"}],"readme":"# ompweb\n\n<p align=\"center\">\n  <img src=\"public/icon.png\" width=\"96\" height=\"96\" alt=\"ompweb logo\" />\n</p>\n\n<p align=\"center\">\n  <strong>专为 <a href=\"https://github.com/can1357/oh-my-pi\">oh-my-pi (omp)</a> 打造的现代化、高性能、本地优先的 Web 工作区与原生桌面应用</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"./README.md\">English</a> | <a href=\"./README.zh-CN.md\">简体中文</a> | <a href=\"./README.ja.md\">日本語</a> | <a href=\"https://discord.gg/evqgGzRfM5\">Discord 社区</a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/Node.js-%3E%3D22.19.0-brightgreen.svg\" alt=\"Node.js version\" />\n  <img src=\"https://img.shields.io/badge/Next.js-16.3-black.svg\" alt=\"Next.js version\" />\n  <img src=\"https://img.shields.io/badge/Electron-44.0-blue.svg\" alt=\"Electron version\" />\n  <img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License\" />\n</p>\n\n---\n\n## 📖 项目简介\n\n**ompweb** 是 [oh-my-pi (omp)](https://github.com/can1357/oh-my-pi) AI 编程智能体的全功能图形化工作台与原生桌面客户端。\n\n它以**本地优先（Local-first）**为核心设计理念，无缝接入你本地现有的 omp 运行时（直接读取 `~/.omp/agent/sessions/` 会话历史）。通过提供直观现代的图形界面，ompweb 将 AI 编程体验从单一的命令行终端拓展为一个支持**多会话分支管理**、**实时多智能体协同**、**全功能交互式 Web PTY 终端**、**可视化 MCP 与技能生态管理**、**代码与富媒体协同浏览**、**Git 多工作树切换**的强大集成开发环境。\n\n![ompweb 演示动图](docs/demo.gif)\n\n<details>\n<summary>📸 查看界面截图（浅色 / 深色双主题）</summary>\n\n| 浅色模式 (Light Theme) | 深色模式 (Dark Theme) |\n| :---: | :---: |\n| ![ompweb 浅色模式](docs/screenshot-light.png) | ![ompweb 深色模式](docs/screenshot-dark.png) |\n\n</details>\n\n---\n\n## ⚡ 快速开始\n\nompweb 提供灵活多样的启动方式，无论是浏览器 Web 模式、独立的桌面原生应用，还是源码本地运行，均可开箱即用。\n\n### 方式一：Web 模式启动\n\n#### 1. 免安装即开即用（最快体验）\n\n只要你的电脑安装了 Node.js (>= 22.19.0) 与 [omp](https://github.com/can1357/oh-my-pi)：\n\n```bash\nnpx @37chengshan/ompweb@latest\n```\n\n服务启动后将监听 `http://127.0.0.1:30177` 并自动在系统默认浏览器中打开页面。\n\n#### 2. 全局安装为系统 CLI 工具\n\n```bash\n# 全局安装\nnpm install -g @37chengshan/ompweb\n\n# 随时在终端启动\nompweb\n```\n\n> 💡 **镜像源提示**：若使用 npmmirror 等国内镜像遇到新版本 `E404` 延迟，可指定官方 registry：\n> ```bash\n> npm install -g @37chengshan/ompweb --registry=https://registry.npmjs.org\n> ```\n\n#### 3. 常用启动参数与环境变量\n\n```bash\nompweb --port 8080                        # 自定义监听端口\nompweb --hostname 0.0.0.0                 # 允许局域网受信任设备访问\nompweb --password \"your-strong-password\"  # 开启网页访问密码保护\nompweb --no-open                          # 启动后不自动唤起浏览器（适合远程服务器或后台服务）\n\n# 亦支持通过环境变量传递参数：\nPORT=8080 OMP_WEB_PASSWORD=\"your-strong-password\" ompweb\n```\n\n---\n\n### 方式二：下载桌面原生应用 (Desktop App)\n\nompweb 提供了由 Electron 封装的独立桌面客户端，具备系统托盘常驻、Dock 状态展示、独立的窗口生命周期管理以及启动动画。\n\n#### 1. 直接下载安装包\n\n前往 [GitHub Releases](https://github.com/37chengshan/ompweb/releases) 页面，下载对应系统的安装文件：\n- **macOS**：`.dmg` 安装包（原生支持 Apple Silicon 及 Intel 架构）\n- **Windows**：`.exe` 安装程序 (NSIS)\n- **Linux**：`.AppImage` 单文件可执行包\n\n#### 2. 本地构建桌面端安装包\n\n```bash\n# 1. 克隆代码仓库并安装依赖\ngit clone https://github.com/37chengshan/ompweb.git\ncd ompweb\nnpm install\n\n# 2. 启动桌面客户端开发预览\nnpm run desktop:start\n\n# 3. 打包生成各平台独立安装包\nnpm run desktop:build      # 打包 macOS (.dmg)\nnpm run desktop:build:win  # 打包 Windows (.exe)\nnpm run desktop:build:all  # 同时打包所有平台 (macOS, Windows, Linux)\n```\n\n---\n\n### 方式三：源码本地开发启动\n\n```bash\ngit clone https://github.com/37chengshan/ompweb.git\ncd ompweb\nnpm install\nnpm run dev\n# 浏览器访问 http://127.0.0.1:30178\n```\n\n---\n\n## 🌟 核心功能特性\n\n### 1. 💬 智能会话管理与版本分支导航 (Session Hub & Branching)\n- **多项目智能分类**：自动识别工作区项目根目录，按项目智能归集和展示会话历史。\n- **会话内分支导航器 (Branch Navigator)**：支持在会话内部任意历史节点上自由切换与“从此处继续”，低成本探索不同的编码方案。\n- **安全会话分叉 (Fork Session)**：可从任意用户提问节点将对话克隆为全新独立会话文件，不影响主干上下文。\n- **原生 Gzip 归档与导出**：与 OMP 原生 `archive/sessions/<cwd>/<file>.jsonl.gz` 格式完全兼容，支持会话搜索、重命名、自动标题生成与单文件 HTML 导出。\n- **全维度实时遥测**：实时统计当前会话的 Token 消耗、费用账单、运行耗时、上下文利用率（Context Gauge）及 omp 实时 TPS 输出速率。\n\n### 2. 🖥️ 内置全功能交互式 Web PTY 终端 (Integrated PTY Terminal)\n- **真实系统伪终端分配**：基于 `node-pty` 分配底层系统终端（macOS/Linux 下为交互式 `zsh`/`bash`，Windows 下为 `cmd.exe`），完整支持 ANSI 256/TrueColor 色彩渲染、光标定位、Tab 自动补全与实时回显。\n- **安全队列与资源保护**：严格保证按键顺序的 FIFO 序列与 5 秒抢占超时防护；全局限制最大 8 个终端会话，闲置 30 分钟自动回收清理。\n\n### 3. 🤖 多智能体协作与计划执行看板 (Multi-Agent & Plan Kanban)\n- **输入附着式计划看板 (Todo Plan Panel)**：常驻于输入框上方，实时展示当前任务计划、子步骤清单与执行状态。\n- **Subagent 实时监控**：子智能体卡片配备脉冲呼吸灯，动态展示子任务的工具调用、Token 用量、耗时与重试状态。\n- **执行摘要与完整日志**：一键调出专属子智能体详情弹窗，查看最终产出摘要或逐字节分页审阅完整 Transcript。\n- **内置 Agent-MCP 多智能体调度器**：原生集成 Python 多智能体调度守护进程，内置 `designer`、`librarian`、`reviewer`、`scout`、`security-reviewer`、`sonic`、`task` 等多领域角色智能体预设。\n\n### 4. 📂 工作区协同与富媒体深度预览 (Workspace & Rich Media)\n- **Git Worktrees 多分支切换**：侧边栏无缝切换 Git 工作树分支，文件树与会话上下文即时随之联动。\n- **一键系统文件管理器定位**：支持在工作区或文件节点点击 “Reveal in Finder / Explorer / File Manager”，内置 8 秒超时保护与路径防逃逸校验。\n- **多格式富媒体预览器**：左侧浏览代码文件树，右侧多标签页快速预览源代码（代码高亮与行号）、Markdown（KaTeX 数学公式、Mermaid 拓扑图）、PDF、DOCX、图片（支持灯箱放大缩放）及音视频资源。\n\n### 5. ⚙️ 可视化 MCP 与技能生态 (Visual MCP & Skills Hub)\n- **双模 MCP 管理器**：支持可视化表单与原始 JSON 双向切换，内置 Python stdio、NPX stdio、Remote HTTP、Brave Search、PostgreSQL、GitHub、Fetch 等常用模板。\n- **技能市场与全网检索**：自动扫描项目及全局技能（`.omp/skills` 等），支持通过 `skills.sh` 检索全网技能并一键安装/更新。\n- **插件管理**：直观查看、开启、禁用或升级已安装的 `omp plugin` 插件。\n\n### 6. 🔑 模型矩阵与原生 OMP 配置 (Models & Native Settings)\n- **可视化模型配置与连通性测试**：直接编辑 `~/.omp/agent/models.yml`，支持多 Provider 切换与模型一键连通性测试。\n- **原生参数微调**：在界面设置中直接调整 Advisor 顾问策略、审批模式、Bash 执行策略、Thinking 思考深度、上下文压缩算法、记忆库与自动学习等。\n- **快捷斜杠指令 (Slash Commands)**：内置 `/goal`、`/plan`、`/terminal`、`/theme`、`/mcp`、`/review`、`/fix`、`/test`、`/explain` 等丰富指令模板。\n\n### 7. 🎨 主题工作室与无障碍美学 (Theme Studio & UX)\n- **18+ 预设主题与调色板**：经典纸感（Warm Paper）、Ember Dark、Nord、OLED 纯黑、抹茶、Sepia、Dracula，以及 6 款带有流体背景动效的动态主题（Aurora、Dawn、Cosmic、Ocean、Sakura、Bamboo）。\n- **字体与动效定制**：支持自定义字体族与字号缩放倍率，深度适配操作系统的 `prefers-reduced-motion` 减弱动效偏好。\n- **⌘K 快速命令面板**：使用 `⌘K` / `Ctrl+K` 快速在项目、会话与系统功能间全局瞬移。\n- **多语言国际化**：原生支持简体中文、English、日本語，全量文本覆盖且自动识别系统语言。\n\n---\n\n## 🏗️ 架构设计与安全性\n\n```mermaid\ngraph TD\n    subgraph Clients[\"展示层与客户端\"]\n        Browser[\"Web 浏览器<br/>(React 19 / Next.js 16)\"]\n        Electron[\"桌面外壳 (Electron 44)<br/>系统托盘 · 自动检测更新 · 启动动画\"]\n        RemoteClient[\"远程 Web / 移动端<br/>(HMAC-SHA256 挑战-应答认证)\"]\n    end\n\n    subgraph WebServer[\"Next.js 应用层 (Node.js 22+)\"]\n        Routes[\"API 路由与 SSR 页面<br/>(/api/agent, /api/terminal, /api/native-settings)\"]\n        HostClient[\"HostClient (IPC 客户端)<br/>类型化契约 & 严格防御性门禁\"]\n        StaticCache[\"会话快速索引与读取缓存\"]\n    end\n\n    subgraph NativeDaemon[\"ompweb-host 原生守护进程 (Rust)\"]\n        IPC[\"高速有界 IPC 通信<br/>(Unix Domain Socket / Windows 命名管道)\"]\n        GitService[\"Git 核心服务<br/>(diff, status, commit, branches, push)\"]\n        PtyService[\"PTY 终端服务<br/>(虚拟终端调度、有界缓冲、动态尺寸伸缩)\"]\n        SessionScan[\"会话扫描与投影引擎<br/>(前缀滑动窗口流式索引 <15ms)\"]\n        SettingsService[\"配置代理服务<br/>(485 项 OMP 配置单帧 NDJSON 通信)\"]\n        RemoteRuntime[\"远程运行时与操作账本<br/>(WS v1 协议, 24小时幂等流水账)\"]\n        Supervisor[\"核心进程守护者<br/>(omp 进程托管、崩溃自愈、--resume 重放)\"]\n        StorageEngine[\"SQLite Journal 与设备注册表<br/>(崩溃安全与设备状态持久化)\"]\n    end\n\n    subgraph Engine[\"OMP AI Agent 核心引擎\"]\n        OmpBinary[\"omp 核心进程 (--mode rpc-ui)<br/>AI 工具执行、规划与推理\"]\n        SessionFiles[\"本地会话目录 (~/.omp/agent/sessions/)<br/>(JSONL 对话树 & Gzip 归档)\"]\n        ModelsConfig[\"模型配置文件 (~/.omp/agent/models.yml)<br/>(Anthropic, OpenAI, OpenRouter 等)\"]\n    end\n\n    Browser -->|HTTP / SSE| Routes\n    Electron -->|托管内置服务| Routes\n    RemoteClient -->|安全 WebSocket| RemoteRuntime\n\n    Routes --> HostClient\n    Routes --> StaticCache\n    HostClient -->|有界 NDJSON IPC| IPC\n\n    IPC --> GitService\n    IPC --> PtyService\n    IPC --> SessionScan\n    IPC --> SettingsService\n    IPC --> RemoteRuntime\n    IPC --> Supervisor\n\n    Supervisor -->|stdio RPC| OmpBinary\n    SessionScan -->|零拷贝极速读取| SessionFiles\n    StaticCache -->|读取| SessionFiles\n    SettingsService -->|配置代理 CLI / RPC| OmpBinary\n    RemoteRuntime --> StorageEngine\n    OmpBinary --> ModelsConfig\n```\n\n> 🧭 **[在线交互式架构图 (GitHub Pages 实时体验)](https://37chengshan.github.io/ompweb/)** · **[本地 HTML 离线文件](docs/ompweb-architecture.html)**\n\n- **Rust 原生守护进程（ompweb-host）核心权能**：底层高频 I/O 与安全敏感域（Git diff/status、PTY 虚拟终端、GB 级会话投影秒级索引、原生配置代理及进程自愈守护）全面由自研 Rust 原生服务执行，内存占用极低且实现亚毫秒级响应。\n- **数据主权完全归属用户**：ompweb 不自建私有数据格式，不持久化敏感 API Key，所有对话与凭证均由已安装的 `omp` 二进制和 `~/.omp/agent/` 原生驱动。\n- **默认本地回环绑定**：默认仅监听 `127.0.0.1`，杜绝未经授权的公网暴露风险。\n- **安全密码认证**：配置 `OMP_WEB_PASSWORD` 后自动对所有前端页面及 API 开启 Signed Cookie 鉴权阻断。\n- **严格的文件访问白名单**：文件预览与读取接口受到严格的路径规范化和真实路径（`realpath`）校验，彻底防止跨目录遍历与符号链接逃逸。\n\n---\n\n## 🛠️ 配置环境变量说明\n\n| 变量名 | 说明 | 默认值 / 示例 |\n| :--- | :--- | :--- |\n| `PORT` / `-p` / `--port` | Web 服务监听端口 | `30177` |\n| `OMP_WEB_HOSTNAME` / `-H` / `--hostname` | 监听主机地址 | `127.0.0.1` |\n| `OMP_WEB_PASSWORD` / `--password` | Web 访问密码保护 | *(未设置即无需密码)* |\n| `OMP_WEB_NO_OPEN` | 启动后是否跳过自动打开浏览器 | `0` (`1` 表示不自动打开) |\n| `OMP_WEB_OMP_BIN` | 指定 `omp` 二进制可执行文件的绝对路径 | 自动从 `PATH` 环境变量中查找 |\n| `PI_CODING_AGENT_DIR` | 指定 OMP 数据与配置存放根目录 | `~/.omp/agent` |\n| `HTTP_PROXY` / `HTTPS_PROXY` | 后端请求所使用的代理配置 | *(根据系统网络环境指定)* |\n\n---\n\n## 🧑‍💻 本地开发与质量保证\n\n```bash\nnpm run dev           # 启动开发服务器 (端口 30178)\nnpm run typecheck     # 执行 TypeScript 类型校验 (tsc --noEmit)\nnpm run lint          # 执行 ESLint 语法与规范检查\nnpm test              # 运行内置原生 Node.js 测试套件 (450+ 测试用例)\nnpm run release:check # 发布前全量自动化质量验收 (Typecheck + Lint + Test + Build)\n```\n\n---\n\n## 📄 开源协议\n\n本项目遵循 [MIT 许可证](./LICENSE)。\n","readmeFilename":"README.zh-CN.md"}