{"_id":"@changfenhuang/dsh-genui","_rev":"18-ef11bc9fefd02f7fb8331e3440ff280a","name":"@changfenhuang/dsh-genui","dist-tags":{"preview":"0.11.2-preview.1","latest":"0.11.3"},"versions":{"0.9.1":{"name":"@changfenhuang/dsh-genui","version":"0.9.1","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.1","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"c356663b759f06b28e0abbf1532db605d65dc14c","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.1.tgz","fileCount":106,"integrity":"sha512-frXf1svqGiLakZKjpCgnRftnrNLcmkgYedTq09pL/6jEmMRscgT+E47FZtOStcdPnMw9lopCwYateUwaUsUw5w==","signatures":[{"sig":"MEUCIQDzQZ3m2zGhGslMVefu8u3PvMFT13R8h5Ki6fWPZjkAIgIgGdEz48caFDotNXVPjnXGiGwaSBxQd4tnYxblOGmapB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6009153},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"38851ba570355919512067c7d771c0bbd97d015b","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"changfenhuang","email":"changfenhuang@gmail.com"},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.6.2","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.13.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.1_1787540758852_0.46423148933700187","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@changfenhuang/dsh-genui","version":"0.9.2","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.2","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"6a2784e1767b2f29f6db79ee5fc3940cc7f70dd8","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.2.tgz","fileCount":106,"integrity":"sha512-/EK3vjHER54KHGCpcJB0Kj6sH8CwIzKJW98XLO5IWW5laP3qv/EejNBT1ZpAFpRHV85SrsgEMfnta+E+kl4XeQ==","signatures":[{"sig":"MEQCIGuEB3Wi3yxS7+au9RDdzHWmmCp+hqEofzkgoCstk7VBAiAwGBavznCr2xAni5qa6HTuOil8DM+A2OAzVA4LiWsh3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6010229},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"8183de81da25ab50dd63d005d22a566a91250d30","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"changfenhuang","email":"changfenhuang@gmail.com"},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.6.2","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.13.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.2_1787542026351_0.4130797226595686","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@changfenhuang/dsh-genui","version":"0.9.3","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.3","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"ef5dd5db42cd0b770f2bfb9cd5c293a1abc5971b","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.3.tgz","fileCount":106,"integrity":"sha512-uCqlhsYtVz15H0Z8eSQxBf4rUJCaBRcaOGoMRXgX0bY9p8VcuY/B+cLFVhl1R3d3NkHiVI6cf6QUWYa5jWRLkw==","signatures":[{"sig":"MEUCIFhrx+FiQXKD4lEYRx63KP8RraEB+0tx8LOTH4hE7qsHAiEA/vH31Rrw9DzncaXvObmtMBx+HtzfUvF8ILJGJOlv5NI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6017451},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"16a314916c07854315f27dd9fc3040e408883ae3","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.0","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.19.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.3_1787769702784_0.30147905667565444","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@changfenhuang/dsh-genui","version":"0.9.6","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.6","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"b642a5a9d3d736742d4da54227ea4e17f62801b0","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.6.tgz","fileCount":117,"integrity":"sha512-rWRz3Z/BgeMQKI/Ut9im73jXu4OmyBjMR/aRTnpx2VAPQw1073xJIxK3WH1shKLYLjzumxlB3tR1Sgm8VSi0KA==","signatures":[{"sig":"MEYCIQCO97ywOh37Ui+3ymT1ce+845d2nZLaSLY/wKiJDUEbcQIhAOnGInrf/g8BF660HXD5XB8I8lnAYehi2qdpw+ZKCbuj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6095913},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"d8e82c59cfb5b966dedf2a30911a0fa2c0844182","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.19.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.6_1787853559910_0.29134736689667884","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"@changfenhuang/dsh-genui","version":"0.9.7","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.7","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"b37997d6b587883dda1d08d13ba86536f98ca5e9","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.7.tgz","fileCount":121,"integrity":"sha512-kP3qkvlTc/qfkE2RtZIGKGkw4hdvbeM85/7kqpXMQm9H6sBDrmkHbrKGXJiebtw4mTDhO+MhiKTjAHUyn5RXcw==","signatures":[{"sig":"MEYCIQCLrRiicNChs5x+KLgFVMqOFiVMid4YxzERIsi/QH/GKQIhAOVgTwYvabTCJuoDhvaPlI5gKsAHxK9qL0USqrEMyhFm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6129812},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"074b9333eb1d292430076cd98af911c3643d8c86","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.19.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-skill":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.7_1788318273276_0.16593981230623567","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"@changfenhuang/dsh-genui","version":"0.9.8","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.8","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"4a712efa59f08106dcb0709fd220d9e978821900","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.8.tgz","fileCount":121,"integrity":"sha512-9hZz+IfAT3tH4TYAIF7xUlpGShtfYzTqC4EvyOnfmNyu0nZVbT3ZM32K2sY0gs4rZ2QEEyKjF+Tb5bSGd8JE3Q==","signatures":[{"sig":"MEUCIQC3uWI4zT+AK7/vmJy69uZ4BzzIDE0r3eTOyqlHBNCwsQIgDs10Ayf5ESWMmKiIqrzoUP6UCw28QAZ/fEbkhkCAROE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAjChAo1Lcon4Odvil1k2a7PEH/S0ZEe1hwvEQVm8/KnAiAdYG9a47sPS4aAgCt+9VUFO70yfY+IkbazDsstvsvJaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6133282},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"680693eda677926942c11a499c476c55587d97c1","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-skill":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.8_1788571474913_0.7106974591832986","host":"s3://npm-registry-packages-npm-production"}},"0.9.9-preview.1":{"name":"@changfenhuang/dsh-genui","version":"0.9.9-preview.1","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.9-preview.1","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"4bebb0b8d67dd5e729ee5ae5b3fae458ff5d7fe4","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.9-preview.1.tgz","fileCount":121,"integrity":"sha512-LLqj/7YpWn2fuauSJHLZk2bAYIuWY+4avfsVjx1G4Uk6CUTlMiWP9C8aEuOLqaVXrY6coT2hK4DfOrR+bazUDw==","signatures":[{"sig":"MEYCIQD2m7vMks04g85tC2Ok+1NoIvopX02pIDyBIC+mOzT1rAIhAI6XsyMoMHOe1klMbESkSkVq29flE9GdEiDX+0l7RBRq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE4E5WXRXvAcuWeiuNkToBlXmUhbMdpBVVXpQGc6imp7AiEAo1MWCQdORRrCNN6Q7cvdxzPIq94Q/N1WxyxdOIj8cBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.9-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6133451},"main":"lib/index.js","type":"module","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"16f9015dfa882c849d9c5c3dddb3fa4f3a90e47f","scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-skill":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-tools":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-session":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.8 || >=0.1.1-rc.0 <0.2.0 || ^0.1.2-rc.1 || ^0.1.3-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.9-preview.1_1788571606231_0.21724089935434088","host":"s3://npm-registry-packages-npm-production"}},"0.9.10-preview.1":{"name":"@changfenhuang/dsh-genui","version":"0.9.10-preview.1","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.10-preview.1","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"9bd14fe074ff6f278bf6a6adb57f66bb17759d06","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.10-preview.1.tgz","fileCount":137,"integrity":"sha512-j6zG+jPp1MkSZEvt8ZSfDqcrZV+EFjWCH/bRfry/Ow3gYdi3z1USENXqrBX1h4BeaMVrr4YCWw1fK2HX3YA5Rw==","signatures":[{"sig":"MEUCIHXAmointN7hQkba9Y0aMQ+YKDRvuF0qC2UjTgGtK9dNAiEAl+cxjsRNO93FBugSJ4aEU7AzlHQjlW72ajr6fmp+DSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCYFRES0o+Cg1MzJXBfcbQyzAFYAtqaJG/oPGKZgE+KfwIgBGDQEFjxdp6zsoofKaZlNngZ40ZHNbmumfSVPL4T8KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.10-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6244651},"main":"lib/index.js","type":"module","_from":"file:/tmp/genui-pack-upH8st/changfenhuang-dsh-genui-0.9.10-preview.1.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/tmp/genui-pack-upH8st/changfenhuang-dsh-genui-0.9.10-preview.1.tgz","_integrity":"sha512-j6zG+jPp1MkSZEvt8ZSfDqcrZV+EFjWCH/bRfry/Ow3gYdi3z1USENXqrBX1h4BeaMVrr4YCWw1fK2HX3YA5Rw==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.10-preview.1_1788895634762_0.997911374028817","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"@changfenhuang/dsh-genui","version":"0.9.9","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.9.9","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"6120b7196dd542bf08bf414b1fe00e4ed32bb6f0","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.9.9.tgz","fileCount":137,"integrity":"sha512-SHQ9FC3+HpIKqmbj0GNP1otMQtDvhCLAvN6lDxHNF7UKhyyabDo5yYdHNzPl8iI3No9/XgKzu3F1egLTl+VNMg==","signatures":[{"sig":"MEYCIQD1WpJxzuF1Yp/EcNnIlT+Ori7eWqX+QUn++d4glEi7IAIhAI52SS872qSDFMuBvEiq+RMYZ+KbRiZ5zMUmBLykJbip","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICAFT0E/gbuJGwES6K7Y3k5EI4hvREASt06lQDaPIPp6AiBrCJzsCJGCEb5reTqCIxXL5kyuAJeTIMEcQ+ox8yk9DQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6244503},"main":"lib/index.js","type":"module","_from":"file:/tmp/genui-pack-QAmXey/changfenhuang-dsh-genui-0.9.9.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/tmp/genui-pack-QAmXey/changfenhuang-dsh-genui-0.9.9.tgz","_integrity":"sha512-SHQ9FC3+HpIKqmbj0GNP1otMQtDvhCLAvN6lDxHNF7UKhyyabDo5yYdHNzPl8iI3No9/XgKzu3F1egLTl+VNMg==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.9.9_1788895653958_0.40495596767719144","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@changfenhuang/dsh-genui","version":"0.10.0","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.10.0","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"a0a4c6599827423e92185aaeb37617167f3092f5","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.10.0.tgz","fileCount":142,"integrity":"sha512-pLZ8K1zNTxtfHb5KojJlvQi5NDLt59KWtNj9NwcGMj/suQZkX6nhXdl9yilcQCpD3dQT3xHRlh7sY17WZ08Vsw==","signatures":[{"sig":"MEYCIQCkuCrDT95AN4VNIx42whsox+I8SyOjrI8pMzFH8PsRFAIhAO9vc19MKHMdnF63SilSIyig08yOhEpRYP67g/Xale0r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCwlj+SYUz7arsiakTrUua7TQpIdP/W7gIM5Q9ZOWw+PwIgaZxSLUEb8sVAAZUQbMw4ucnMcO2XnH5mnOWYDyol2qE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7029951},"main":"lib/index.js","type":"module","_from":"file:/tmp/genui-pack-VvgKnA/changfenhuang-dsh-genui-0.10.0.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/tmp/genui-pack-VvgKnA/changfenhuang-dsh-genui-0.10.0.tgz","_integrity":"sha512-pLZ8K1zNTxtfHb5KojJlvQi5NDLt59KWtNj9NwcGMj/suQZkX6nhXdl9yilcQCpD3dQT3xHRlh7sY17WZ08Vsw==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.10.0_1789143726881_0.13294876845995107","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@changfenhuang/dsh-genui","version":"0.11.0","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.0","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"8129c058fc03070f3b00a59d5d98f67c0cf149a1","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.0.tgz","fileCount":144,"integrity":"sha512-2MwjSkkf1n2mJtgebKqFHgH7nsQ4Fw1zDq5TZL0/Qb8tzQy3A2TBX3CH11zVxuBRwjewputElxSWQOAxxgG+2g==","signatures":[{"sig":"MEQCID+ss9tJibXZ/lEIns6KCUCX4SGiqs7to94QvA+mR37nAiBqByrCYkbVoVIc0kc/inXcLC82iDDLkEHpRylT3KODUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIASqsSoU9050fE/IgFyvQAO813ShCAC4t6yLO/4aqfIkAiEAskTsjJI2cuQeCsOpyqpe+KPJSw9Sz+tsfNAf51MOp4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7303841},"main":"lib/index.js","type":"module","_from":"file:/tmp/genui-pack-qbh7Ad/changfenhuang-dsh-genui-0.11.0.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/tmp/genui-pack-qbh7Ad/changfenhuang-dsh-genui-0.11.0.tgz","_integrity":"sha512-2MwjSkkf1n2mJtgebKqFHgH7nsQ4Fw1zDq5TZL0/Qb8tzQy3A2TBX3CH11zVxuBRwjewputElxSWQOAxxgG+2g==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"katex":"0.16.47","react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.0_1789449338088_0.5840017335694865","host":"s3://npm-registry-packages-npm-production"}},"0.11.1-preview.1":{"name":"@changfenhuang/dsh-genui","version":"0.11.1-preview.1","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.1-preview.1","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"03ebae4523409587ff451b3637b10b652bfd0ce1","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.1-preview.1.tgz","fileCount":144,"integrity":"sha512-qg3m+RHOvaDB5UFqP0UUoWLvZKJtAmE0x3AyhHVBJQsvLOTkZDRFWwAKB9k8qJEEhfXM674C/TtRUWMEgJUrTg==","signatures":[{"sig":"MEQCIF4J9fET9fUqsdgNuqgI0oygqwkeikOCe2OunU7sBFsnAiAO6BykN95VBTaWLTQImC7wCWCtssty2b3ooc0BtuIBtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCpn2DLbJQdKapk+8bc6tNfQ/8yNyF/UnPR+1sS/PjY9wIgSXNXz0rFtT7yVbWLj7ttrCuADEkX0rjiC6/OswgQOyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.1-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7304415},"main":"lib/index.js","type":"module","_from":"file:/tmp/genui-pack-F9KpsU/changfenhuang-dsh-genui-0.11.1-preview.1.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/tmp/genui-pack-F9KpsU/changfenhuang-dsh-genui-0.11.1-preview.1.tgz","_integrity":"sha512-qg3m+RHOvaDB5UFqP0UUoWLvZKJtAmE0x3AyhHVBJQsvLOTkZDRFWwAKB9k8qJEEhfXM674C/TtRUWMEgJUrTg==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"katex":"0.16.47","react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.1-preview.1_1789451904957_0.9435717095771108","host":"s3://npm-registry-packages-npm-production"}},"0.11.1-preview.2":{"name":"@changfenhuang/dsh-genui","version":"0.11.1-preview.2","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.1-preview.2","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"1f765b09d2dd01af2fa6fad02ae0f0b88e8ca035","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.1-preview.2.tgz","fileCount":146,"integrity":"sha512-2POeRZu+nq/c9Ujbg4ezdgBYIq7reWFO+vpiF/KmWKrJnluT772W3CMIB17qbpdvNEkRcIOLWRIxBjXkP15zPw==","signatures":[{"sig":"MEQCIAp1+VrXpSjOCA3tMBJVTJ4Ka76fM+vtlLd3OZrxnfktAiAetBE5SkHJOo7/mJU2VSaAyH7CZmS8EtzyFrAw6lvEaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDzDOsr1Ngj4d+xu3+QBcH2ixkOGVk6zEypHMsr1SGm9AiA95+bjGlFJB7v9t2Bxm7I+ZK+irHJFmX56gX0Xfo6Dog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.1-preview.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7382134},"main":"lib/index.js","type":"module","_from":"file:/tmp/genui-pack-wnN3BO/changfenhuang-dsh-genui-0.11.1-preview.2.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"rm -rf lib && tsc -p tsconfig.json && tsdown","check":"rm -rf lib && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/tmp/genui-pack-wnN3BO/changfenhuang-dsh-genui-0.11.1-preview.2.tgz","_integrity":"sha512-2POeRZu+nq/c9Ujbg4ezdgBYIq7reWFO+vpiF/KmWKrJnluT772W3CMIB17qbpdvNEkRcIOLWRIxBjXkP15zPw==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.19.1","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"katex":"0.16.47","react":"^18.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-agent":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.1-preview.2_1789528916687_0.49671273817023365","host":"s3://npm-registry-packages-npm-production"}},"0.11.1-preview.3":{"name":"@changfenhuang/dsh-genui","version":"0.11.1-preview.3","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.1-preview.3","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"5d4e4d42e71aecd84fff6e0d54247e80a80dc198","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.1-preview.3.tgz","fileCount":166,"integrity":"sha512-qKwIsevZStua5GFFfWK0BHtnjktle20Lia2zVD4xdnVZT8aX+my0jOVNeRVi9V9c0fSH0VEUM5Sw7q6hHAgqcg==","signatures":[{"sig":"MEYCIQCzLPqRZ755IPzGHa9Hn8GWnRDqCMUdxgkx5588elF1TAIhAI97Usj9Ij24S6uQ3jEkjCejQCMWVupN1mblAsooCJLi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD22P0jG1Fkdy8zhZxyF4txq0z0/Pw6UKv3y4z2gCbsJwIhALltzJx+HLA2j9dNsSO8fD4s0HjcpltzSo84TiBsPtKz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.1-preview.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7676854},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-h4BaKv/changfenhuang-dsh-genui-0.11.1-preview.3.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"node scripts/clean.mjs && tsc -p tsconfig.json && tsdown","check":"node scripts/clean.mjs && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs","check:host-api":"node scripts/check-host-api.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-h4BaKv/changfenhuang-dsh-genui-0.11.1-preview.3.tgz","_integrity":"sha512-qKwIsevZStua5GFFfWK0BHtnjktle20Lia2zVD4xdnVZT8aX+my0jOVNeRVi9V9c0fSH0VEUM5Sw7q6hHAgqcg==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.20.0","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.20.0","dependencies":{"katex":"0.16.47","react":"^18.3.1","mdast-util-from-markdown":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","echarts-wordcloud":"2.1.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-agent":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.1-preview.3_1790180084079_0.0017010332912201775","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@changfenhuang/dsh-genui","version":"0.11.1","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.1","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"255afc983a567ee50e03d4d948fea753e5a018cf","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.1.tgz","fileCount":166,"integrity":"sha512-mB/7v7yRKvnjKOXv+Vu8y8MJpMLHNLf6pf+pA+hG+rsdvSA/lHvcfv3eR/oa1/Yzge3VhqfJJoMFtp73Dgf5ig==","signatures":[{"sig":"MEUCIEdgUqYdec2O+eb7nKR+4DsbOVBgThuSpY76iFSNrClRAiEAlInRCIbwbdS1sE+lxkyma2/mZWy5ebvaHQRNym0Llw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDIiPLxqtk98W+Vq21ywvwLJ2jl8m6Y/UCee3+FT7J/7wIhAJC+PffdLXTV90C+o21rKDHD5O26AULK77Eu0oAjQGIL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7680807},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-xQnKYH/changfenhuang-dsh-genui-0.11.1.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"node scripts/clean.mjs && tsc -p tsconfig.json && tsdown","check":"node scripts/clean.mjs && tsc -p tsconfig.json && vitest run && tsdown","prepack":"node scripts/prepack.mjs","check:host-api":"node scripts/check-host-api.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-xQnKYH/changfenhuang-dsh-genui-0.11.1.tgz","_integrity":"sha512-mB/7v7yRKvnjKOXv+Vu8y8MJpMLHNLf6pf+pA+hG+rsdvSA/lHvcfv3eR/oa1/Yzge3VhqfJJoMFtp73Dgf5ig==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.20.0","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.21.0","dependencies":{"katex":"0.16.47","react":"^18.3.1","mdast-util-from-markdown":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","echarts-wordcloud":"2.1.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-agent":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.1_1790247775149_0.917421426133453","host":"s3://npm-registry-packages-npm-production"}},"0.11.2-preview.1":{"name":"@changfenhuang/dsh-genui","version":"0.11.2-preview.1","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.2-preview.1","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"88989b6adba8ed8834fe3c52723d7dec0c4eb057","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.2-preview.1.tgz","fileCount":204,"integrity":"sha512-RgMZuAKqhV/m8A17RUA3/nLMaEGp2A4aLuSo6NXMB3afv3ArkXc1GExNTba7+7hrYCrUtoqcLwisM6iFOYu0QQ==","signatures":[{"sig":"MEUCIFG9aUS1aAngQVjMZmXCKVcIMiA0QWW0T0/BwbwDOAmEAiEAz0RjmljRydeUzQrHvhwXMJE4KiHAYKWX6Mo2kL7V3Y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCK+kKZf4vhoDPuHnFAec9cqlGgbIylW3DJ4fCjrtIQ+wIgPbT+ih0F9QJPxkOfndRhF+U8RUaNKUP6PPJDn9aHdRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.2-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8809409},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-AABrAO/changfenhuang-dsh-genui-0.11.2-preview.1.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/standalone":"./lib/assets/standalone-runtime.js","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"node scripts/clean.mjs && tsc -p tsconfig.json && tsdown","check":"node scripts/clean.mjs && tsc -p tsconfig.json && vitest run && tsdown && node scripts/check-standalone.mjs","prepack":"node scripts/prepack.mjs","check:host-api":"node scripts/check-host-api.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-AABrAO/changfenhuang-dsh-genui-0.11.2-preview.1.tgz","_integrity":"sha512-RgMZuAKqhV/m8A17RUA3/nLMaEGp2A4aLuSo6NXMB3afv3ArkXc1GExNTba7+7hrYCrUtoqcLwisM6iFOYu0QQ==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.20.0","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.21.0","dependencies":{"katex":"0.16.47","react":"^18.3.1","mdast-util-from-markdown":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","readmeFilename":"README.zh-CN.md","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","echarts-wordcloud":"2.1.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-agent":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.2-preview.1_1790394225086_0.6503711218889061","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@changfenhuang/dsh-genui","version":"0.11.2","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"license":"MIT","_id":"@changfenhuang/dsh-genui@0.11.2","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"homepage":"https://github.com/omdsh-dev/dsh-genui","bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"dist":{"shasum":"4174ef474fe5b389d0f1ebddde2cc503e2b2ff61","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.2.tgz","fileCount":204,"integrity":"sha512-clSBedbh8+/EMpMAul+yT0qbWz0CWx95HUW5VdZUQJ02rp+PVuxQy1DhK4Do3JtZR5pHIzM0bzXjt6BEgEQ3Vg==","signatures":[{"sig":"MEUCIDavnu2B+0HCQWWFmBgtxnG61Ft1VRfRa8ncGzGfKpAcAiEArbylPOOUNGxOpjYWOpfoxjM12P2fuaiVwQOX9wgC7HY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCfiUfInH84gtBMFpdNVDiFCcXdeQf8wVc2imlVNSaIjQIgUK95vRdIFPVb/E9Db21M34hpR+guAryOa84u1sbhinQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8809510},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-6XJJ5D/changfenhuang-dsh-genui-0.11.2.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/standalone":"./lib/assets/standalone-runtime.js","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"scripts":{"test":"vitest run","build":"node scripts/clean.mjs && tsc -p tsconfig.json && tsdown","check":"node scripts/clean.mjs && tsc -p tsconfig.json && vitest run && tsdown && node scripts/check-standalone.mjs","prepack":"node scripts/prepack.mjs","check:host-api":"node scripts/check-host-api.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"_resolved":"/home/runner/work/dsh-genui/dsh-genui/.e2e-artifacts-pack-6XJJ5D/changfenhuang-dsh-genui-0.11.2.tgz","_integrity":"sha512-clSBedbh8+/EMpMAul+yT0qbWz0CWx95HUW5VdZUQJ02rp+PVuxQy1DhK4Do3JtZR5pHIzM0bzXjt6BEgEQ3Vg==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.20.0","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"_nodeVersion":"24.21.0","dependencies":{"katex":"0.16.47","react":"^18.3.1","mdast-util-from-markdown":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","echarts-wordcloud":"2.1.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-agent":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-genui_0.11.2_1790562340541_0.6023594549039508","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"_id":"@changfenhuang/dsh-genui@0.11.3","dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"}},"bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"dist":{"shasum":"e770ae07c217da641d5affc0fe1c6cd2c6c17732","tarball":"https://registry.npmjs.org/@changfenhuang/dsh-genui/-/dsh-genui-0.11.3.tgz","fileCount":204,"integrity":"sha512-r63qe4XFlvysoeihhTk1JKLnZjTNWuKZ0jx18mDz+ewU+pYNvEEfkTJx+7Oxp6MMHutpTD4QaqS9Q2uv8pl6Kw==","signatures":[{"sig":"MEYCIQCl1lvHkIAfJR6B4uMcDcsy2xoE1Ut7HMu4KYe/YMjK/QIhAIsVk/Q39NszFC7Jo1Nm5pn59GBHBBY/MGAX9FuUoE8Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBJUwBmummpsbJ1ppMF9dRwKJqnG7bYFlbe7P/d9TWqBAiEA4i3JQV8lj0vUI3HbBtFItW7nZNyBaJ68mcl4qLwD09k="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@changfenhuang%2fdsh-genui@0.11.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8811102},"main":"lib/index.js","name":"@changfenhuang/dsh-genui","type":"module","_from":"file:/tmp/dsh-genui-pack-bXWbne/changfenhuang-dsh-genui-0.11.3.tgz","types":"lib/types/plugin/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0","pnpm":">=11.7.0 <12"},"exports":{".":{"types":"./lib/types/plugin/index.d.ts","default":"./lib/index.js"},"./embed":"./src/client/embed.ts","./skill":"./SKILL.md","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/plugin/invariant.d.ts","default":"./lib/invariant.js"},"./assets/three":"./src/client/asset-three.ts","./package.json":"./package.json","./assets/echarts":"./src/client/asset-echarts.ts","./assets/mermaid":"./src/client/asset-mermaid.ts","./assets/standalone":"./lib/assets/standalone-runtime.js","./assets/echarts-core":"./src/client/asset-echarts-core.ts"},"license":"MIT","scripts":{"test":"vitest run","build":"node scripts/clean.mjs && tsc -p tsconfig.json && tsdown","check":"node scripts/clean.mjs && tsc -p tsconfig.json && vitest run && tsdown && node scripts/check-standalone.mjs","prepack":"node scripts/prepack.mjs","check:host-api":"node scripts/check-host-api.mjs"},"version":"0.11.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"d98b08cc-8e02-4f45-b900-632ddc38fdc0"}},"homepage":"https://github.com/omdsh-dev/dsh-genui","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"_resolved":"/tmp/dsh-genui-pack-bXWbne/changfenhuang-dsh-genui-0.11.3.tgz","_integrity":"sha512-r63qe4XFlvysoeihhTk1JKLnZjTNWuKZ0jx18mDz+ewU+pYNvEEfkTJx+7Oxp6MMHutpTD4QaqS9Q2uv8pl6Kw==","repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"_npmVersion":"11.20.0","description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","directories":{},"maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"katex":"0.16.47","react":"^18.3.1","mdast-util-from-markdown":"2.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"tsx":"^4.0.0","vite":"^6.0.0","yaml":"^2.4.2","jsdom":"^25.0.0","three":"^0.180.0","semver":"^7.8.5","tsdown":"^0.22.2","vitest":"^3.0.0","echarts":"^5.6.0","mermaid":"11.16.0","react-dom":"^18.3.1","typescript":"^5.6.0","@types/node":"^22.19.0","@types/katex":"0.16.8","@types/react":"^18.0.0","@types/three":"^0.185.4","lightningcss":"^1.25.0","@types/react-dom":"^18.0.0","echarts-wordcloud":"2.1.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"0.1.2-rc.1","@testing-library/dom":"^10.4.1","@deepseek-ai/dsh-jobs":"0.1.2-rc.1","@deepseek-ai/dsh-agent":"0.1.2-rc.1","@deepseek-ai/dsh-brand":"0.1.2-rc.1","@deepseek-ai/dsh-deque":"0.1.2-rc.1","@deepseek-ai/dsh-scope":"0.1.2-rc.1","@deepseek-ai/dsh-skill":"0.1.2-rc.1","@deepseek-ai/dsh-tools":"0.1.2-rc.1","@testing-library/react":"^16.0.0","@deepseek-ai/dsh-sandbox":"0.1.2-rc.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-storage":"0.1.2-rc.1","@deepseek-ai/dsh-timeout":"0.1.2-rc.1","@deepseek-ai/dsh-settings":"0.1.2-rc.1","@deepseek-ai/dsh-subagent":"0.1.2-rc.1","@deepseek-ai/dsh-tool-todo":"0.1.2-rc.1","@deepseek-ai/dsh-util-time":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-attachment":"0.1.2-rc.1","@deepseek-ai/dsh-home-paths":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-credentials":"0.1.2-rc.1","@deepseek-ai/dsh-util-crypto":"0.1.2-rc.1","@deepseek-ai/dsh-util-values":"0.1.2-rc.1","@deepseek-ai/dsh-atomic-write":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-code-runtime":"0.1.2-rc.1","@deepseek-ai/dsh-agent-presets":"0.1.2-rc.1","@deepseek-ai/dsh-session-query":"0.1.2-rc.1","@deepseek-ai/dsh-session-title":"0.1.2-rc.1","@deepseek-ai/dsh-system-prompt":"0.1.2-rc.1","@deepseek-ai/dsh-user-approval":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-chat":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-tool":"0.1.2-rc.1","@deepseek-ai/dsh-file-reference":"0.1.2-rc.1","@deepseek-ai/dsh-native-command":"0.1.2-rc.1","@deepseek-ai/dsh-sandbox-policy":"0.1.2-rc.1","@deepseek-ai/dsh-storage-domain":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.3","@deepseek-ai/cordis-plugin-include":"1.0.7","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection":"0.1.2-rc.1","@deepseek-ai/dsh-agent-default-model":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-util-workspace-path":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-input-trigger":"0.1.2-rc.1","@deepseek-ai/dsh-session-projection-cache":"0.1.2-rc.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-agent":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-skill":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-tools":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-invariants":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-util-values":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-store":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-system-prompt":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-chat":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-tool":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-slots":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-session":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-renderer":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-api-session-controller":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-conversation":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0"},"peerDependenciesMeta":{"@deepseek-ai/cordis":{"optional":true},"@deepseek-ai/dsh-llm":{"optional":true},"@deepseek-ai/dsh-skill":{"optional":true},"@deepseek-ai/dsh-tools":{"optional":true},"@deepseek-ai/dsh-session":{"optional":true},"@deepseek-ai/dsh-invariants":{"optional":true},"@deepseek-ai/dsh-util-values":{"optional":true},"@deepseek-ai/dsh-client-store":{"optional":true},"@deepseek-ai/dsh-system-prompt":{"optional":true},"@deepseek-ai/dsh-client-ui-chat":{"optional":true},"@deepseek-ai/dsh-client-ui-tool":{"optional":true},"@deepseek-ai/dsh-client-ui-slots":{"optional":true},"@deepseek-ai/dsh-client-ui-session":{"optional":true},"@deepseek-ai/dsh-client-ui-renderer":{"optional":true},"@deepseek-ai/dsh-api-session-controller":{"optional":true},"@deepseek-ai/dsh-client-ui-conversation":{"optional":true},"@deepseek-ai/dsh-client-ui-input-trigger":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-genui_0.11.3_1790670112461_0.6140481446469352"}}},"time":{"created":"2026-08-24T03:05:58.512Z","modified":"2026-09-29T08:21:52.932Z","0.9.1":"2026-08-24T03:05:59.024Z","0.9.2":"2026-08-24T03:27:06.516Z","0.9.3":"2026-08-26T18:41:42.993Z","0.9.6":"2026-08-27T17:59:20.112Z","0.9.7":"2026-09-02T03:04:33.485Z","0.9.8":"2026-09-05T01:24:35.032Z","0.9.9-preview.1":"2026-09-05T01:26:46.350Z","0.9.10-preview.1":"2026-09-08T19:27:14.889Z","0.9.9":"2026-09-08T19:27:34.090Z","0.10.0":"2026-09-11T16:22:07.011Z","0.11.0":"2026-09-15T05:15:38.270Z","0.11.1-preview.1":"2026-09-15T05:58:25.370Z","0.11.1-preview.2":"2026-09-16T03:21:56.873Z","0.11.1-preview.3":"2026-09-23T16:14:44.207Z","0.11.1":"2026-09-24T11:02:55.275Z","0.11.2-preview.1":"2026-09-26T03:43:45.253Z","0.11.2":"2026-09-28T02:25:40.701Z","0.11.3":"2026-09-29T08:21:52.623Z"},"bugs":{"url":"https://github.com/omdsh-dev/dsh-genui/issues"},"license":"MIT","homepage":"https://github.com/omdsh-dev/dsh-genui","keywords":["dsh","deepseek-harness","generative-ui","plugin","ui"],"repository":{"url":"git+https://github.com/omdsh-dev/dsh-genui.git","type":"git"},"description":"GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi","maintainers":[{"name":"changfenhuang","email":"changfenhuang@gmail.com"}],"readme":"# 🎨 dsh-genui\n\n<div align=\"center\">\n\n[English](./README.md) · **简体中文**\n\n<br>\n\n[**打开在线产品站**](https://omdsh-dev.github.io/dsh-genui/) · [**看真实演示**](#观看真实界面) · [**安装到 DSH**](#-快速开始)\n\n</div>\n\n> 让模型的回答长出界面——文字还在，可交互的 UI 已经能用。\n>\n> 🔌 生态：仓库已挂 `#dsh` · `#dsh-plugin` topic，欢迎 @dsh-plugin 收录。\n\n`dsh-genui` 把模型回答变成**安全、可交互的 DSH 界面**。你问「这个月订单怎么样」，回答除了文字，还可以直接带上可排序的数据面板、原生音视频、可拖动的函数图、本地判题或常驻会话面板。\n\n## 先看真实证据\n\n| 你想做什么 | 直接看这里 | 可以确认什么 |\n|---|---|---|\n| 先看完整 DSH 流程 | [40 秒真实录屏](#40-秒完整演示) | 组件确实出现在 DSH 的真实对话里。 |\n| 看具体界面是什么样 | [三类真实输出](#一条-dsh-回答里的三类真实输出) | 监控、函数绘图和可组合的布局组件。 |\n| 立刻在自己的 DSH 里试 | [快速开始](#-快速开始) | npm 公开包安装、验证提示词与激活检查。 |\n| 学会 JSON 界面描述 | [组件语法](./SKILL.md) | 受白名单约束的 `dsh-ui` 组件规范。 |\n\n## 观看真实界面\n\n> **不是概念图。** 本节的录屏与截图均来自 `dsh-genui` 在 DSH 界面中的实际渲染；先看它真正长什么样，再决定是否安装。\n\n### 40 秒完整演示\n\n<div align=\"center\">\n\nhttps://github.com/user-attachments/assets/f5db33ec-7471-4d4a-a85b-79c9962ab4ef\n\n</div>\n\n<p align=\"center\">\n  <a href=\"./assets/demo.mp4\"><img src=\"./assets/demo-thumb.png\" width=\"92%\" alt=\"dsh-genui 完整演示录屏封面\"></a>\n  <br><em>若 GitHub 播放器不可用，点击封面即可下载原始 MP4。</em>\n</p>\n\n录屏依次经过回答内嵌面板、表单、函数绘图、Mermaid 与面向 3D 的组件。播放器不会自动播放；若没有加载，请打开[原始 MP4](./assets/demo.mp4)，四幕提示词见 [demo-prompts.md](./demo-prompts.md)。\n\n### 一条 DSH 回答里的三类真实输出\n\n#### 1. 监控面板就是回答的一部分，不是另开一个仪表盘\n\n<p align=\"center\">\n  <img src=\"./assets/showcase-panel.png\" width=\"92%\" alt=\"真实 DSH 对话中渲染的 dsh-genui 监控面板\">\n  <br><em>真实输出：刷新/重置、时间范围、统计卡、图表和服务表都活在助手回答里。</em>\n</p>\n\n#### 2. 改参数时，函数图在本地即时重绘\n\n<p align=\"center\">\n  <img src=\"./assets/showcase-plot.png\" width=\"76%\" alt=\"带可拖动参数滑块的真实 dsh-genui 函数图\">\n  <br><em>真实输出：`plot` 绘制曲线；拖动滑块、重置和动画控制都直接更新图形。</em>\n</p>\n\n#### 3. 布局原语可以组成有层级的工作界面\n\n<p align=\"center\">\n  <img src=\"./assets/showcase.png\" width=\"76%\" alt=\"真实 dsh-genui 排版和卡片组件组合\">\n  <br><em>真实输出：文字、网格、卡片、行列原语可组合成模型能够声明的界面层级。</em>\n</p>\n\n---\n\n## ⚠️ 先看这里：双通道渲染（无需修改宿主源码）\n\n本插件自带**两套渲染通道**；宿主激活浏览器模块后，插件会自动选择：\n\n- **Registry 通道**：宿主提供 `fence-registry` 扩展点（新版 dsh 构建）时，围栏经宿主流式渲染管线注册，行为与宿主无缝；\n- **DOM 通道**：宿主没有该扩展点（包括支持范围内的原版 DSH 构建）时，插件观察会话 DOM 自行挂载渲染树。自 0.7.2 起**支持流式渲染**：模型写到哪渲染到哪，首个完成的组件立即出现，不用等整段回复写完。自 0.8.3 起围栏发现**多表面兼容**：同时匹配标准 `md-code-block` 表面、部分宿主构建使用的 deepsuite 风格 `.code-block` / `.code-block-small` 表面，并以「label+`<pre>`」结构兜底——任何 banner 标注 `dsh-ui` 且含 `<pre>` 正文的元素都能被识别。即使你的 dsh 构建用了别的类名，围栏照常渲染（控制台会有一条一次性提示说明宿主 DOM 发生漂移）。\n- **DSH 0.1.7 通用代码块**：宿主最终 DOM 没有提供围栏 language metadata 时，dsh-genui 会从公开 ChatSnapshot 读取当前 assistant 的原始 Markdown，并且只接管 `dsh-ui` 围栏。DOM 负责确定挂载位置。source 数据暂时不可用时，assistant 已结束的通用 CodeBlock 才能通过严格的 canonical GenUI 规范校验进入最终兜底。\n\n无论走哪条通道，组件、交互、面板、持久化行为完全一致。\n\nCI 的 packed host smoke 会把实际生成的 npm tarball 安装到真实 DSH 宿主，并验证宿主启动与界面渲染。source-backed 围栏识别由 integration tests 覆盖；该 smoke 不代表真实模型回复验收。真实模型 E2E 需要配置模型凭据。\n\n本仓库已经包含两条渲染通道、服务端插件和浏览器构建产物；宿主仍负责**激活客户端模块**，并提供 `slots` 与 `sessions` 服务。`client.js` 返回 200 或出现在 ModuleLoader 缓存里，只能证明文件下载成功；真正激活后一定会打印 `[genui] client active; fence-channel=registry|dom`。没有这行时应先核对包名/网页配置/宿主激活链，`data-streaming`、`data-chat-anchor-key` 等页面属性只是可选信息，不是安装前提。\n\n---\n\n## ✨ 装之前 vs 装之后\n\n| 普通回答 | 装了 dsh-genui |\n|---|---|\n| \"本月收入 ¥128,430，环比 +12.4%，建议关注转化率。\" | 一行分析 + 旁边直接渲染：收入/订单/转化率三张统计卡、趋势图、进度条 |\n| 想再看别的？再打一段字问一遍 | 面板上就有「刷新」「切换视图」按钮，点一下，模型更新数据 |\n\n## 🚀 快速开始\n\n前置条件，缺一不可：\n\n1. **dsh `^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || >=0.2.0-rc.1 <0.3.0-0`**（DSH `0.2.0-rc.1` 当前属于预发布版本；已验证宿主角色：minimum `dsh-v0.1.2-rc.1`、current `dsh-v0.1.7-rc.2`、next `dsh-v0.2.0-rc.1`；使用 DSH `<=0.1.1-rc.x` 的用户请使用 dsh-genui `0.9.8`）\n2. **`pnpm` 在 PATH 上**：`dsh plugin` 命令依赖它。没有就 `corepack enable`（或 `npm i -g pnpm`），然后**新开一个终端**，确认 `pnpm -v` 有输出\n\n安装并在 DSH 中激活（一行命令，自动带上全部依赖）：\n\n```sh\n# npm 公开包安装（无需 npm 账号）\ndsh plugin --profile web add @changfenhuang/dsh-genui\n```\n\n如果只想把它作为 Node 依赖加入现有项目：\n\n```sh\nnpm install @changfenhuang/dsh-genui\n```\n\n> `npm install` 只添加依赖，不会把插件注册到 DSH；在 DSH 中使用时仍应执行上面的 `dsh plugin add`。\n\n> ⚠️ **别用 `link:` 装一个刚 clone 的目录**——`link:` 不会安装插件的依赖（mermaid / three / react），装完渲染器会挂。正常安装请使用上面的 npm 命令；只有本地开发迭代才用 `link:`（见下文）。\n\n### 从旧 `@omdsh-dev` 包名迁移\n\n如果你在 v0.9.2 之前通过 `github:omdsh-dev/dsh-genui` 安装过，pnpm 可能仍把依赖保存在旧的 `@omdsh-dev/dsh-genui` 键下，但仓库当前声明的包名已经是 `@changfenhuang/dsh-genui`。加载器按 profile 的依赖键解析插件，后续重装时就可能报 `Cannot find package '@changfenhuang/dsh-genui'`。请用当前包名重新添加一次：\n\n```sh\ndsh plugin --profile web remove @omdsh-dev/dsh-genui\ndsh plugin --profile web add @changfenhuang/dsh-genui\n```\n\n这次迁移只针对改名前留下的 GitHub 源安装。此后新装统一使用上面的 npm 命令，并采用当前依赖键。\n\n### 60 秒验证安装\n\n命令完成后，重启 dsh web 并对浏览器硬刷新。在**新**会话中输入：\n\n```text\n用 dsh-ui 画一个带可排序服务表的统计看板。\n```\n\n正常情况下，回答会原地变成仪表盘，而不是显示成代码块。想做最明确的技术确认时，打开浏览器控制台：成功激活会打印 `[genui] client active; fence-channel=registry|dom`。\n\n### 开发者迭代（link 模式）\n\n```sh\ncd dsh-genui\npnpm install\ndsh plugin --profile web add link:$PWD\n```\n\n## 🧩 能力地图\n\n| 界面方向 | 第一次怎么试 | 可以直接观察到的行为 |\n|---|---|---|\n| 数据 | 让它做订单或服务监控看板 | `stat`、`table`、`chart`、`progress` 直接出现；已支持的数值表格按数值排序。 |\n| 媒体 | 让它引用一段音频或视频 | 浏览器可访问的媒体直接内嵌播放，带封面/比例和失败状态。 |\n| 探索 | 让它用 `plot` 画带参数的函数 | 拖动滑块，本地立即重绘曲线。 |\n| 反馈 | 让它出一道小测 | 判题和解析在本地完成；需要模型参与的下一步才使用 `action`。 |\n| 工作区 | 使用 `/panel` 或 `panel: true` | 常驻、可调高的会话 dock 在原地更新。 |\n\n下面是完整能力说明。所有行为都受白名单 `dsh-ui` 规范约束；JSON 写法请看 [SKILL.md](./SKILL.md)。\n\n- **回答即界面**：组件嵌在回答里，边生成边出现，不用等整段写完\n- **30+ 组件**：卡片、表格、图表、表单、标签页、折叠面板、文件树、时间线、diff……\n- **原生音视频**：浏览器可访问的 http(s) 或同源相对地址直接嵌入回答；用户主动控制播放，视频支持封面与画面比例，失败时原位提示\n- **ECharts 集成**：`echart` 节点渲染完整的 ECharts 图表，自动适配主题色、提示框和图例。两种模式：**预设简写**（`preset: 'bar' | 'line' | 'area' | 'pie' | 'scatter'` + `data`/`series`）可从 `chart` 节点快速升级；**完整选项**（`option` 字段）支持自定义图表类型、dataZoom、visualMap 等高级 ECharts 功能。echarts 引擎（~1 MB）按需懒加载——主包不含引擎，没有 `echart` 节点的对话不会下载它- **函数图**：`plot` 画曲线，参数滑块拖动实时重绘，支持自动动画\n\n- **测验**：`quiz` 点选判题 + 解析 + 重试；带 `action` 时答案同时回传模型（判题仍本地即时）\n- **本地判卷（交卷）**：多道选择题 = 每题的 `radio` 加 `group` + `answer`（正确答案）+ `explanation`（解析），再加一个 `submit` 交卷按钮——用户全部选完点一次，**分数、每题对错、解析当场在 UI 里出现，零模型往返**；题目随即锁定，「重新作答」本地重置（可选 `resetAction` 通知模型）。题目没带答案时才退回聚合 action（`fields` 收集所有带 `id` 的输入）\n- **状态持久化**：答案、交卷锁定、输入值按「会话 + 内容指纹」自动保存——刷新页面/重开会话原样恢复，重渲染相同内容保留用户状态，新内容自动从头开始；上限 200 块 LRU 淘汰\n- **表单语义**：`input` 回车 / `textarea` Ctrl+Enter 即时提交（`submit:true`），不用等失焦；带 `id` 的字段值进 submit 的 `fields` 收集\n- **秘密禁令**：GenUI 不得索取密码、API Key、访问令牌、恢复码或其他秘密；密码输入即使出现也保持打码、不持久化、不进表单收集\n- **本地优先原则**：UI 自己能完成的状态变化（判卷、判题、重置、展开、选中）一律本地即时完成；action 只用于必须模型参与的事（生成新内容、执行工具、下一步建议）\n- **诚实交互**：交互组件必须带 `action`；不带 `action` 的按钮渲染为禁用态（消灭\"看着能点、点了没反应\"的假按钮）；带 `action` 的按钮点击后立即显示「已触发」本地反馈（只证明本地事件已触发，不代表模型已收到）\n- **事件循环**：按钮、复选框、单选、开关、下拉、输入、文本域、提交和测验等离散交互按一次手势一次事件立即回传模型；`slider` 连续拖动保留尾沿防抖，同一滑块只回传最终值，不同 `id` 的滑块互不合并。\n- **工具通道**：`render_ui` 工具把同一份 spec 渲染成工具行卡片（交付物型 UI 走工具、回答型 UI 走围栏）\n- **会话面板**：composer 上方常驻 dock，`render_ui` / `panel: true` 围栏原地更新同一块界面；`/panel` 命令客户端直开（`/panel <指令>` 转模型定制、`/panel clear` 清空）；顶边框可拖拽调高；`append: true` 增量合并——同名标签页追加内容、新标签页新增；整面板默认最多 200 节点 / 200 条追加，达到上限后模型应发送 `replace` 重建\n- **围栏自修**：默认开启；在 profile 的 cordis.patch.yml 中本插件条目的 `config:` 下设置 `fenceFeedback: false` 可以关闭。回答最终的 dsh-ui 围栏无法渲染时，插件借宿主的轮内转向（steer）把逐节点诊断送回**同一轮**，模型重发修好的围栏；每轮至多一次、每个围栏至多一次、子代理不触发，不会循环。\n- **自愈与上限**：每个围栏过规格守卫——坏节点静默丢弃（同围栏其余组件照常渲染，单个坏组件不再拖垮整条围栏）、数值钳位、字符串截断，整树 ≤200 节点 / 8 层嵌套，病态 spec 不会拖垮界面\n- **统一组件协议**：`card.label` → `title`、`table.data`/`table.items` → `rows`、`callout.kind`/`callout.desc` → `tone`/`content`（tone 值 `danger` → `error`）、`steps.items` → `steps`、`keyvalue.items` → `pairs`（记录内 `label` → `key`）、`file-tree.nodes` → `items`（记录内 `label` → `name`、有 children 时缺省 `dir`）等原生字段别名会在校验和渲染前确定性归一化；根级组件数组视为 `items`、双重编码的 JSON 字符串解一层；`validate_dsh_ui` 会报告归一化结果，并对原生组件未知字段给出警告，同时保持自定义 renderer 节点的透明兼容。\n- **图错误自愈**：mermaid 渲染失败自动修复重试（剥反引号、引号化中文/空格标签、去 `<br/>`），仍失败才降级源码；错误图永不直接上屏\n- **可访问性**：tabs/折叠/开关/进度条带完整 ARIA 与键盘导航（方向键切页、Home/End 跳转）\n- **零打扰**：不装插件时围栏只是代码块，不报错、不污染会话\n\n## 🏆 新手引导：模板中心与探索成就（0.9.4+）\n\n- **模板中心**：会话面板 dock 顶部的「模板」按钮——11 个分类示例（仪表盘/方案对比/上手流程/随堂测验/趋势图/标签页/清单/FAQ/架构图/3D/文件树），点击即内嵌预览（示例由 GenUI 本身渲染），「试用」一键把指令插入输入框、发送即让模型生成；「复制指令」可带走。\n- **探索成就**：同一 dock 的「成就」按钮——12 个成就（初次相见 → 蓝图之魂），按渲染/交互/面板/模板埋点计数，解锁弹 toast，成就页由 `dsh-ui` 渲染自己的列表；只存计数（localStorage），绝不读取消息内容；隐藏成就（传说）解锁前显示「？」。\n- **首次提示**：第一块面板出现时显示 6 秒一次性提示（指向「模板」按钮），不打扰式引导。\n\n组件 JSON 语法见 [SKILL.md](./SKILL.md)。宿主提供公开 skill registry 时，插件会自动注册内置 `genui` skill，因此新会话无需向 `~/.dsh` 复制文件即可获得完整组件与字段目录。\n\n`chart` 保持三种图形的紧凑渲染器：使用 `kind: 'bars' | 'line' | 'donut'`，且 `data[].value` 必须是有限数字。`validate_dsh_ui` 会明确报告误用的 `variant`、不支持的 kind 和非法数据字段；`render_ui` 对同样错误直接失败，不再静默渲染默认柱图。未知扩展字段仍允许存在。\n\n## 📄 示例\n\n模型输出这段围栏（写给浏览器看的，你不用读懂）：\n\n```dsh-ui\n{\"title\":\"订单概览\",\"items\":[\n  {\"type\":\"stat\",\"label\":\"总收入\",\"value\":\"¥128,430\",\"delta\":\"+12.4%\"},\n  {\"type\":\"stat\",\"label\":\"订单数\",\"value\":\"1,024\",\"delta\":\"-3.1%\"}\n]}\n```\n\n你看到的是两张统计卡片。\n\n### ECharts 示例\n\n```dsh-ui\n{\"title\":\"Q1 收入\",\"items\":[\n  {\"type\":\"echart\",\"title\":\"月度收入\",\"preset\":\"bar\",\"data\":[\n    {\"label\":\"1月\",\"value\":98},\n    {\"label\":\"2月\",\"value\":112},\n    {\"label\":\"3月\",\"value\":128}\n  ]}\n]}\n```\n\n你看到的是一张带提示框和坐标轴的主题色柱状图——由 ECharts 渲染，按需懒加载。\n\n## 🔧 原理\n\n模型把界面描述写成 JSON 放进 `dsh-ui` 围栏，浏览器端渲染器（`src/client`）通过主仓 `fence-registry` 接口认领这门语言并渲染。组件是白名单的，模型塞不进 HTML/脚本；函数表达式走独立解析器，不用 eval。\n\n主渲染包保持轻量（≈110 KB min / 28 KB gzip），mermaid、three.js 与 echarts 引擎单独打包为按需资产（首次用到时经插件自注册的 HTTP 路由加载），启动时只下载渲染核心。\n\n## ❓ 常见问题\n\n- **显示成代码块？** 先在浏览器控制台找 `[genui] client active; fence-channel=registry|dom`。没有这行，即使 `client.js` 返回 200，也只是下载了文件、没有激活：请对齐网页配置依赖名、`package.json.name`、`cordis.patch.yml`、ModuleLoader id 和配置中的 bundle 名。出现这行后再查围栏标签/正文；宿主没有 registry 时会自动走 DOM 通道。\n- **渲染 dsh-ui fence 时聊天界面白屏？** 此版 dsh-genui 要求 DSH `^0.1.2-rc.1 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1`；使用 DSH `<=0.1.1-rc.x` 的用户请使用 dsh-genui `0.9.8`。\n- **`dsh: pnpm not found on PATH`？** 装 pnpm 后**新开终端**再试（`corepack enable` 或 `npm i -g pnpm`）。\n- **npm 安装返回 404？** npm 包是公开的，无需登录。先执行 `npm view @changfenhuang/dsh-genui version` 核对包名与公共 registry；若新版本刚发布仍返回 404，稍后重试。\n- **装了但 scene3d/mermaid/echarts 不渲染？** 引擎（mermaid / three / echarts）不再内联进 client.js——它们在首次用到时按需加载（`/plugins/@changfenhuang/dsh-genui/assets/*.js`，插件自带 HTTP 路由托管）。先重启 dsh web + 硬刷新（Cmd+Shift+R）；仍不渲染就卸掉重装（`dsh plugin --profile web remove @changfenhuang/dsh-genui` 后再 add）。旧版宿主缺少资产路由时会降级显示源码/加载失败提示，更新 dsh 即可。\n- **模型不主动输出？** 重启后新会话生效；或直接说\"用 dsh-ui 输出\"。\n- **clone 后没有 lib/？** `pnpm install && pnpm run check` 自己构建。\n\n## 🧑‍💻 开发\n\n### 嵌入其他应用\n\n支持 CSS Modules 和 TypeScript 的浏览器构建器可以从 `@changfenhuang/dsh-genui/embed` 导入 `GenuiBlock`、`GenuiActionContext`、`ErrorBoundary` 和 `processGenuiSpec`，复用同一份组件、样式与规格校验，无需加载 DSH 的插件入口。\n\n嵌入宿主通过 `initialState` / `onStateChange` 接管持久化，使用稳定的 `stateKey` 区分界面，通过 `GenuiActionContext.Provider` 接收动作。改变 `stateKey` 会开始新的交互生命周期；同一界面的后续刷新保留输入。设置 `onStateChange` 后不读写浏览器的交互状态存储。\n\n调用 `setGenuiAssetBase` 设置本地引擎目录；从公开的 `@changfenhuang/dsh-genui/assets/mermaid`、`assets/three`、`assets/echarts-core`、`assets/echarts` 构建对应脚本。模型指引从 `@changfenhuang/dsh-genui/skill` 读取。宿主只补自己的交付通道和设计变量；渲染器仍使用本包与 `@deepseek-ai/dsh-client-ui-primitives` 的组件。构建时提供 React、CSS Modules、KaTeX 字体及所用引擎依赖。\n\n### 导出 GenUI 成果文件\n\n已完成的 GenUI 区块提供“导出 → HTML”和“GenUI JSON”。`.html` 文件内含渲染器、样式、KaTeX WOFF2 字体和规格实际需要的图形引擎，本地控件可以继续使用，模型动作按钮会禁用。相对媒体地址会按导出页面的地址转换为绝对地址；离线打开时，网络媒体仍需连接原站点。`.genui.json` 保留原媒体地址、规范化规格、可持久化交互状态、语言和主题。自定义组件会禁用 HTML 导出，导出错误会显示在菜单旁。宿主可从 `@changfenhuang/dsh-genui/embed` 使用 `createGenuiArtifact`、`parseGenuiArtifact`、`serializeGenuiArtifact` 和 `buildStandaloneHtml`；`@changfenhuang/dsh-genui/assets/standalone` 指向可供复制或提供下载的运行文件。\n\n```sh\npnpm install\npnpm run check   # 类型检查 + 全量测试 + 构建\n```\n\n安装锁定依赖后，检查脚本（`pnpm run check` 或 `npm run check`）使用固定的 DSH `0.1.2-rc.1` 发布包。\n\n已验证宿主角色为 minimum `dsh-v0.1.2-rc.1`、current `dsh-v0.1.7-rc.2`、next `dsh-v0.2.0-rc.1`。DSH `0.2.0-rc.1` 当前属于预发布版本。CI 保持四条主要 lane：Node 22 + current，以及 Node 24 + minimum/current/next。DSH 发布新版本后，替换对应固定标签。\n\n`pnpm run check:host-api dsh-v0.1.7-rc.2` 与 `pnpm run check:host-api dsh-v0.2.0-rc.1` 会安装对应 DSH 发布包，运行 TypeScript 类型检查与 tsdown 构建。每条 CI 宿主 lane 随后会把生成的 tarball 安装到固定版本的 DSH 宿主并运行 packed smoke。\n\n运行 `node scripts/verify-pack.mjs --keep` 可保留已验收的 tarball，便于检查或运行 e2e；默认的 `node scripts/verify-pack.mjs` 会在验收后清理临时目录。\n\n### 真机 e2e\n\n真实链路验证：起一个临时 dsh web → 装上插件 → 浏览器里发消息让模型输出 `dsh-ui` fence → 断言渲染 → 点击 action 按钮 → 断言模型响应（事件循环闭环）：\n\n```sh\nexport DSH_ROOT=/path/to/deepseek-harness-0.1.2-rc.1\nexport DSH_BIN=\"$DSH_ROOT/apps/cli/lib/bin.js\"\nDEEPSEEK_API_KEY=sk-... node scripts/e2e.mjs          # link 安装当前工作区\n```\n\n先构建 DSH `0.1.2-rc.1` checkout。按上面的示例将 `DSH_ROOT` 指向该 checkout，将 `DSH_BIN` 指向其中的 `apps/cli/lib/bin.js`；另需准备 `pnpm`、`DEEPSEEK_API_KEY` 和主仓 web 构建产物。PASS 时保存 `e2e-final.png` 截图。\n\n### 视觉 e2e（无需模型 key）\n\n样式/组件迭代用：使用 DSH `0.1.2-rc.1` checkout 起真实 dsh web + link 安装插件 → 通过 DOM 通道注入组件画廊围栏 → headless Chrome 全页截图 + 本地交互（表格排序 / 判题 / 目录折叠 / 数值对齐）硬断言，不需要任何模型额度。运行前按上面的示例将 `DSH_ROOT` 和 `DSH_BIN` 指向该 checkout：\n\n```sh\nnpx tsx scripts/e2e-visual.mts          # → .e2e-artifacts/gallery.png + interactions.png\nnpx tsx scripts/e2e-visual.mts --keep   # 保留 scratch DSH_HOME 便于排查\n```\n\n可覆盖：`--port 3098`、`--out <dir>`、`DSH_BIN`（设为 DSH `0.1.2-rc.1` checkout 内的 `apps/cli/lib/bin.js`）、`PLAYWRIGHT_PATH`（默认全局 playwright-core）。\n\n## 🗺️ Roadmap（已评估项）\n\n| 方向 | 结论 | 理由 |\n|---|---|---|\n| 增量 patch（模型只发 diff 不重发全量 spec） | 不做 | fence 一次 200–800 token，重发代价极小；patch 协议的教学成本与出错率不值得。若未来出现秒级自动刷新面板再议 |\n| action 回传 | ✅ 离散交互立即回传；slider 拖动按 action 和 `id` 防抖 | 离散操作逐次回传，slider 拖动只回传最终值 |\n| 跨会话状态持久化（回放恢复 tabs/开关） | 不做 | 回放重置是更正确的默认行为（模型已用新 fence 更新过界面）；流式期间状态天然保留 |\n| MCP 适配器 / 独立画廊页 / i18n | 不做 | 无跨工具需求信号；画廊素材已被 `gallery.ts` + demo-prompts + README 截图覆盖；内置文案仅 6 处 |\n\n## 🔗 友情链接\n\n- [Linux.do](https://linux.do)\n\n---\n\n📄 License: MIT\n","readmeFilename":"README.zh-CN.md"}