{"_id":"@captain1275/dsh-pet","_rev":"13-2a8ef91a0e245ef1a1530b14711ad7eb","name":"@captain1275/dsh-pet","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.12":{"name":"@captain1275/dsh-pet","version":"0.1.12","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.1.12","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"bd81adef4988167a867cfe26f3ed8bcbddb94c80","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.1.12.tgz","fileCount":103,"integrity":"sha512-wDX41CVM0YxuoYzpUnn/DLqIX8eTGLDZ6WFuNooPQYwVJW/NlJC2TbLySPi7F6v3ArzzsG7BDE/YaoqQFElwxA==","signatures":[{"sig":"MEYCIQDshMvU1uHJ+Th0FgexIrZpknhwIDF1gsAE47THz6n9UAIhAPWgDMrKXXQ9qavpxfZuyjMGcuV3xdPQBKLH6WBGZ6hT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5365983},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/zhu1090093659/dsh-web-ui.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.1.12_1786720546697_0.3357061087740312","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@captain1275/dsh-pet","version":"0.2.0","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.0","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"1e68e729ad9ebcc2abfd06fda02d0484d70f540d","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.0.tgz","fileCount":103,"integrity":"sha512-OpcON+R+BtAmsEqpxjT4Cm0WvU56wfTwLKlQp5WxvdiHh4M5KZf6St+5U4aiecdz433C/IE4VIArE2icyTtmew==","signatures":[{"sig":"MEUCIGclVT7gLI7Bbs17TX8fSgua5n+RnM07i/xOFCxcLpFnAiEA9+EOoO2jKh1Z0MlAsug3xKneEAb7LxyiQhoAHTyhb1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5365980},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.0_1786730971473_0.5539379338540724","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@captain1275/dsh-pet","version":"0.2.1","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.1","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"e137346957cb146d735dd458f3f6ee241ce75ea6","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.1.tgz","fileCount":103,"integrity":"sha512-ql7fWWbCJJt6OlvnyeQRXs1RkrfzNe9kHhdU3on18pql3PQ3NpW7t1p508jKn/OK2irU3ZCszW2D5IDQgg0ujA==","signatures":[{"sig":"MEUCIQCQrYaB1dy9JpNSgeHDEV20GJ7kHb+g7XGsSOlrXS2Q7gIgLkrOCq/nBmDY5SXKjZY9miI1a1gYu7JxZvtZTtE+D+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5365980},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.1_1786731993884_0.4649062352894182","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@captain1275/dsh-pet","version":"0.2.2","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.2","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"558eb6a71d31df0126d1b22d7a67ec8c346cffba","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.2.tgz","fileCount":103,"integrity":"sha512-BFaK0bq60MV7BUnzhFTZTHIFXcsFAQeXcGJn9G4MvL+D9p8WyAojR8TwrLgYhfIskz0ElJ2njctA6pxy+ZAWYQ==","signatures":[{"sig":"MEQCIEnRv4fgUtkcuqAs/w5V60QwxIcrCi72XzDBfH4jIN/fAiBaKR9CFf5TsfANyF/gYbMNWXbEUS1PJlsRAe9miMDOBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367934},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.2_1786778336632_0.32277943171725165","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@captain1275/dsh-pet","version":"0.2.3","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.3","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"e0c3f8b757dd19f8727198964f64a2bfa273bccc","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.3.tgz","fileCount":103,"integrity":"sha512-NPOm+NmY5FneNzwXYMf0WDHdEh1M2IXa3JOVbSlPaLt6+sYjSswCj3Y9mKm+rkYHrRdEQv7wcH0T43m55ltE+g==","signatures":[{"sig":"MEUCICKQLALPFPFu7C6+5NIdQIy0t/PuvrbMrf2m65PFHfQSAiEAt0kS63NQ9O18oeVca8iDcy7buO82CYMBrxd9agNx+oQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367934},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.3_1786795100645_0.92520117762725","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@captain1275/dsh-pet","version":"0.2.4","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.4","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"aa9bb3e10dedde1790f625dcb6536d23533041c9","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.4.tgz","fileCount":103,"integrity":"sha512-OGOCO5wYpgDsOK20rczt7BTqZN1XPUrTm8LMNWkW6z+x5q8PtxepUfdCYJMPC/DKFL4eRL+IiPvOjJXJtU36mg==","signatures":[{"sig":"MEUCICjah1b5bmNxqmjX92s90M2Od8yzdHfyG/JkEhWhlONxAiEAuggowlYNUUMVyHDobS7oxUoJseaEeFAgSVfwFWYsjP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367934},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.4_1786824480865_0.5108098690452656","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@captain1275/dsh-pet","version":"0.2.5","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.5","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"d6b751567b41ca696ca497f0acb62487e6ee92b2","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.5.tgz","fileCount":103,"integrity":"sha512-0IpmPE1wnYtZVruobI83g0idIKQhiU2qrUhEAQ3CR8B/rwQdZV2Rt4ChLFXbaEv5SSiRFmWElJgq6pLbtsS7Sg==","signatures":[{"sig":"MEYCIQC+ILWC3bkpJtTwqqatdwureOKGQcJhJtqDjAwtxW9AGAIhAKG/KdPc1Ic7BsCtda+XQ45u7miAITk0atkE6VilbaJr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367934},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.5_1786889487738_0.39594003582286597","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@captain1275/dsh-pet","version":"0.2.6","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.6","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"0a776506ea589767dff490953f147efa8a96fa99","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.6.tgz","fileCount":103,"integrity":"sha512-wt4cxUCM6mLZ6lum1zaTJCSGMqHwr5TlZwQTIkpgaHjLTZiQCXFBkSTWwsxcWN+jYsb40kUdGgr99OERWMZWAQ==","signatures":[{"sig":"MEUCIQD+0ugL1kanyDvsQ4st6yAf8DucS/sUPHeW847MTJXUqQIgJIawL8+K/i6wJBxPFz9v/OCotnUu5J7hXDMYO75tS8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367993},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.6_1786899636297_0.45391379027571177","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@captain1275/dsh-pet","version":"0.2.7","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.7","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"99c9ab2c5893b00cb60ab102dba003519a31bbc1","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.7.tgz","fileCount":103,"integrity":"sha512-rigSHFaT/qDaJc6qvTV3w2lz+uRjlquN0wfLcp3Zb6gKfLJ52Ug6zfqYzK5sH26n8G+YpQ2qtsNakaFLQqA+QQ==","signatures":[{"sig":"MEUCIFQ9og/IP54K28Z2sITtR80AhKJkQUT3U742swXmdyyRAiEA13eS2C2FJtmtVGr6cAdFQ4wGHdMLHVlE9zpELOdi54E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367993},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.7_1786901057424_0.7226865696251332","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@captain1275/dsh-pet","version":"0.2.8","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.8","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"ba0b5c4c6271a8d0250c55b2bff99b601d8a321c","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.8.tgz","fileCount":103,"integrity":"sha512-tOBlw5ALjbK5SIiyXy/zgm2d+L6OguzY7yXLn4CNGBW4+uySWSma1eZx1MS+/4AWBbm7vq9i9kHKTxCj8DIX9Q==","signatures":[{"sig":"MEQCIFRPR0GX9iP/pAIo6aDxB5uoFuYUsPjsDraH26fUGMuYAiBxxuceGxk+j8N59rbvXwqkcNGZpGnlVXUvC6I8vspA7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367993},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.8_1786902355544_0.15857899610727944","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@captain1275/dsh-pet","version":"0.2.9","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.2.9","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"fb8fe51d2b2c411dc40573226002eb2f8a413f7a","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.2.9.tgz","fileCount":103,"integrity":"sha512-jFqvAeQ1vPsIPJTHd4WugRmTbc68fBzpmkEqoRCxUAoUIrOg8KqqujHupCN6CvsXFeqb9MiW777ou1c6lApwaA==","signatures":[{"sig":"MEUCIH6hiFKkGkL02b0Bbw1fjxZyBdJ/ddQ3kmwSBYcs6a/7AiEArCbWOe0hQ4Jo3keHZhOB6Dbia8P1X3zEsmhVqmYElrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367993},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"^0.1.1-rc.2"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-invariants":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"^0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.2.9_1787408285644_0.6212358566724625","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@captain1275/dsh-pet","version":"0.3.0","license":"Apache-2.0","_id":"@captain1275/dsh-pet@0.3.0","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dist":{"shasum":"cb581b8eb04dd5d880e78c2e7a929338afa55004","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.3.0.tgz","fileCount":103,"integrity":"sha512-h4R+LzUi4/3o3Gi1zlUIbGKu45oZvN22JQccY0dNGs74dj9JfiKEpF0Uneq/urtPeoLuphcMyzxTSniH4VScLA==","signatures":[{"sig":"MEYCIQDne1OMZ+D7UqLHbrYQxhiat/A3rqXyd4H0W/t2Rx7WsQIhAJvcC4FIeOnccFj5FwPcK30LsJHbwsUf2df+8A8+yB/J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5367993},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc -b && tsdown","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"repository":{"url":"https://github.com/CAPTAIN1275/dsh-ui-web.git","type":"git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","directories":{},"_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.2.0","tsdown":"^0.22.2","vitest":"^4.1.8","react-dom":"^18.2.0","typescript":"^6.0.3","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"^1.32.0","@types/react-dom":"~18.3.0","@deepseek-ai/cordis":"^4.0.1","vite-tsconfig-paths":"^6.1.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"^0.1.1-rc.2"},"peerDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-invariants":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"^0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pet_0.3.0_1787410786378_0.023888681382027155","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@captain1275/dsh-pet","description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","version":"0.3.1","type":"module","engines":{"node":"^22.19.0 || >=24.0.0"},"main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"Apache-2.0","dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"}},"dependencies":{"clsx":"^2.1.1","schemastery":"^3.18.0"},"peerDependencies":{"@deepseek-ai/dsh-client-connection":"^0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-invariants":"^0.1.1-rc.2","react":"^18.2.0","react-dom":"^18.2.0"},"devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-client-locale":"^0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.1-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@types/node":"^22.20.0","@types/react":"~18.3.1","@types/react-dom":"~18.3.0","jsdom":"29.1.1","lightningcss":"^1.32.0","react":"^18.2.0","react-dom":"^18.2.0","tsdown":"^0.22.2","typescript":"^6.0.3","vite-tsconfig-paths":"^6.1.1","vitest":"^4.1.8"},"repository":{"type":"git","url":"https://github.com/CAPTAIN1275/dsh-ui-web.git"},"scripts":{"build":"tsc -b && tsdown","test":"vitest run","typecheck":"tsc -b --pretty false && tsc -p tsconfig.test.json --pretty false"},"_nodeVersion":"24.18.0","_id":"@captain1275/dsh-pet@0.3.1","dist":{"integrity":"sha512-9gIzrsT6quw+x2KcPHp8gPPxwMr1VHlTNAF6UJGPxp2ZGAksqkOzZ1VFPklIZsu7gSx1QKSiJwt7FrPNP+RirQ==","shasum":"fb5cf859cba9194c67d1047f9c1d3c3769e35a29","tarball":"https://registry.npmjs.org/@captain1275/dsh-pet/-/dsh-pet-0.3.1.tgz","fileCount":103,"unpackedSize":5369508,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDK7jAsv02yWpsYA5B93tDzWzXjPLqnKgfQAtemnwcu6AIgMaE8GYNKgBLhNXnBx7n7UmABqHQibsVPlVkLjBceMIs="}]},"_npmUser":{"name":"captain1275","email":"captain1275@163.com"},"directories":{},"maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-pet_0.3.1_1787429140449_0.42713212738754014"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T15:15:46.504Z","modified":"2026-08-22T20:05:40.844Z","0.1.12":"2026-08-14T15:15:46.993Z","0.2.0":"2026-08-14T18:09:31.738Z","0.2.1":"2026-08-14T18:26:34.187Z","0.2.2":"2026-08-15T07:18:56.888Z","0.2.3":"2026-08-15T11:58:20.867Z","0.2.4":"2026-08-15T20:08:01.180Z","0.2.5":"2026-08-16T14:11:27.972Z","0.2.6":"2026-08-16T17:00:36.530Z","0.2.7":"2026-08-16T17:24:17.695Z","0.2.8":"2026-08-16T17:45:55.832Z","0.2.9":"2026-08-22T14:18:05.894Z","0.3.0":"2026-08-22T14:59:46.662Z","0.3.1":"2026-08-22T20:05:40.703Z"},"license":"Apache-2.0","repository":{"type":"git","url":"https://github.com/CAPTAIN1275/dsh-ui-web.git"},"description":"鲸鱼娘宠物插件 for the dsh web GUI: a soft healing whale-girl companion that reacts to model activity (idle/waiting/thinking/tool/done), with petting/feeding interactions and an affinity score","maintainers":[{"name":"captain1275","email":"captain1275@163.com"}],"readme":"# dsh-pet — 鲸鱼娘宠物插件\n\n![version](https://img.shields.io/badge/version-0.1.0-4f8ef7) ![license](https://img.shields.io/badge/license-BSD--3--Clause-9b59b6) ![platform](https://img.shields.io/badge/platform-DSH%20Web-00c2a8) ![language](https://img.shields.io/badge/language-TypeScript-3178c6)\n\n> 一只软萌治愈的鲸鱼娘，陪你在 DeepSeek Harness 里工作。\n\n模型思考的时候你在等，她在游。她会跟着模型的工作状态切换动画——干活、等待、思考、庆祝完成；你还可以摸头、喂小鱼干，看着她从幼鲸慢慢长成你的深海羁绊。\n\n复刻自 Codex 桌面版的宠物功能，以 DSH 官方插件形态实现（cordis bundle：host 半区 + client 半区单包）。\n\n## 功能\n\n| 功能 | 说明 |\n|---|---|\n| 状态动画 | 模型状态 → 鲸鱼娘动画：`thinking/tool → 工作`、`waiting → 等待`、`done → 跳跃庆祝`、空闲 `idle` 呼吸待机 |\n| 摸头互动 | 点击鲸鱼娘 → 气泡反馈 + 亲密度 +1（10s 冷却） |\n| 喂食 | 悬浮面板「喂食」→ 消耗 1 条小鱼干 + 亲密度 +5（30s 冷却） |\n| 饲料经济 | 小鱼干库存（上限 20）：工作每 3 回合 +1 条、每 30 分钟 +1 条；库存不足会提示「多陪鲸鱼娘工作一会儿」 |\n| 亲密度 | 每完成一个回合 +1；4 个等级：幼鲸 → 伙伴 → 挚友 → 深海羁绊（100 点封顶） |\n| 自定义命名 | 悬浮面板「改名」→ 1–20 字符，持久化，召唤按钮/面板同步显示 |\n| 拖动 | 按住鲸鱼娘拖动重新摆放，位置持久化 |\n| 隐藏/召唤 | 悬浮面板「隐藏」；隐藏后输入选择行出现「召唤{名字}」按钮 |\n| 状态气泡 | 工作时显示模型当前状态短语 |\n\n## 动画演示\n\n素材为 8 列 × 9 行图集（192×208 单元），由 [hatch-pet](https://github.com/dsh2026) 流水线生成，以下为各状态动画预览：\n\n| idle 待机 | waiting 等待 | running 干活 | jumping 庆祝 |\n|---|---|---|---|\n| ![idle](assets/whale/previews/idle.gif) | ![waiting](assets/whale/previews/waiting.gif) | ![running](assets/whale/previews/running.gif) | ![jumping](assets/whale/previews/jumping.gif) |\n\n| waving 挥手 | review 复盘 | failed 失败 | 左右移动 |\n|---|---|---|---|\n| ![waving](assets/whale/previews/waving.gif) | ![review](assets/whale/previews/review.gif) | ![failed](assets/whale/previews/failed.gif) | ![running-left](assets/whale/previews/running-left.gif) ![running-right](assets/whale/previews/running-right.gif) |\n\n## 架构\n\n```\ndsh-pet/\n|-- src/\n|   |-- index.ts        # host 半区：插件入口（cordis apply，注册路由）\n|   |-- service.ts      # PetService：宠物状态机 + 亲密度 + 配置（HTTP API 服务面）\n|   |-- state.ts        # 宠物状态机：activity/status phase → 9 状态动画\n|   |-- affinity.ts     # 亲密度账本（纯函数 + 冷却）\n|   |-- treats.ts       # 小鱼干库存账本\n|   |-- persist.ts      # 持久化（$DSH_HOME/pet.json，原子写入）\n|   |-- routes.ts       # /api/pet/* JSON API + /pet/whale/* 素材静态路由\n|   `-- client/         # 浏览器半区\n|       |-- index.ts    # 全局挂载（createRoot → body）+ 轮询（800ms）+ 交互接线（fetch）\n|       |-- PetDockEntry.tsx  # 全局浮层入口（document.body，无会话/新会话/会话中全程显示）\n|       |-- WhalePet.tsx      # 浮层组件（portal + rAF 帧动画 + 拖动）\n|       |-- spritesheet.ts    # 图集几何 + 每状态动画轨道（帧/时长）\n|       `-- pet.module.css\n|-- assets/whale/       # 鲸鱼娘素材（pet.json + spritesheet.webp + 动画预览）\n`-- cordis.patch.yml    # bundle patch：插入 pet 插件行\n```\n\n### 数据流\n\n```\nactivity/status session 事件（原 working-activity 插件发布） --> PetService（host）\n                                                              | /api/pet/* JSON\nglobal React root（createRoot → document.body） <-- 轮询 800ms -- pet-client（浏览器）\n                                                              |\n                                                   WhalePet 浮层（portal + rAF）\n```\n\n- **状态源**：监听 `activity/status` 会话事件（phase: idle/waiting/thinking/tool/done + 状态短语），由 host 半区消费；该事件曾由 working-activity 插件发布，插件已从本仓库移除，未安装时宠物只随会话生命周期变化。\n- **挂载点**：`document.body`（全局 React root，无会话/新会话/会话中全程显示——旧挂载点 `conversation.composer.dock` 只在活跃会话渲染，导致新会话界面看不到宠物），组件内部 `createPortal` 渲染全局浮层。\n- **渲染**：CSS sprite（background-position）逐帧动画，帧时长来自 `spritesheet.ts` 的轨道定义。\n- **通信**：浏览器 ↔ host 走同源 `/api/pet/*` JSON 端点（state/interact/set-visible/set-config），图集从 `/pet/whale/spritesheet.webp` 加载——RPC 域与 `/plugins/` 静态服务都是平台注册的，插件自足地提供自己的 API 与素材（与 live-stats / usage-dashboard 的宿主路由同一模式）。\n\n## 安装\n\n推荐直接安装全家桶聚合包 `@captain1275/dsh-web-ui-all`（一个包装齐全部功能插件与皮肤），或单独安装本插件：\n\n```sh\n# 推荐：直接从 npm 安装\ndsh plugin --profile web add @captain1275/dsh-pet\n\n# 或从仓库安装（开发调试）\ngit clone https://github.com/zhu1090093659/dsh-web-ui.git\ncd dsh-web-ui\npnpm install && pnpm -r build\ndsh plugin --profile web add link:$(pwd)/packages/dsh-pet\n\n```\n\n安装后**重启 `dsh web`**，鲸鱼娘出现在界面右下角即生效。link 模式下改代码后重新 `pnpm build` 并刷新页面即可，无需重装。\n\n## 开发\n\n```sh\npnpm build        # tsc -b（类型+声明）&& tsdown（node 半区 + 浏览器 bundle）\npnpm test         # vitest 单元测试（affinity / treats / persist / state）\npnpm prepare      # 仅转译构建（无类型检查，供消费者安装）\npnpm typecheck    # 仅类型检查\n```\n\n浏览器 bundle 走 `window.__ModuleLoader__.load` 契约，React/cordis 等由 loader 模块表解析（external）；CSS Modules 由 lightningcss 内联为 `<style data-plugin>`。\n\n## 素材与动画轨道校准\n\n鲸鱼娘图集由 hatch-pet 流水线按 9 状态 × 8 列生成：`assets/whale/spritesheet.webp`（1536×1872，8 列 × 9 行 192×208 单元）+ `assets/whale/pet.json`。每行实际帧数与节奏在 `src/client/spritesheet.ts` 的 `TRACKS` 中定义。若素材重做导致帧数变化，只需更新该表（行序契约：0 idle / 1 running-right / 2 running-left / 3 waving / 4 jumping / 5 failed / 6 waiting / 7 running / 8 review）。\n\n## License\n\n[BSD-3-Clause](LICENSE)\n","readmeFilename":""}