{"_id":"@termix-it/react-tool","_rev":"30-e7f2c9c9bb19953eb454774dfe1c387a","name":"@termix-it/react-tool","dist-tags":{"latest":"1.2.5"},"versions":{"1.0.0":{"name":"@termix-it/react-tool","version":"1.0.0","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.0","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"821c747527879d0bc028526a92e7f968fa511a27","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.0.tgz","fileCount":26,"integrity":"sha512-mpOojvhMxbJC0sPckXVWNjDnoUr5/5uyLKVf1rjAfdc4N+AmYAam0C5egEg2esk8aGxfM1VFr1/5xo9QFlnPWw==","signatures":[{"sig":"MEYCIQCtvKw8UOsFSBGJeVh9pAe5P8ZWCs2r/bGqF7mBSn3/FQIhAIpHFprZPnOs1f27RfZMACmJlgJN992kVmptd4hrw3HP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":304772},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles":{"import":"./dist/styles.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"1e470be148e9b1bb735a2172bf57453a4a1ab392","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","postcss":"^8.4.32","typescript":"^5.9.2","@rslib/core":"^0.11.2","tailwindcss":"^3.4.0","@types/react":"^19.1.7","autoprefixer":"^10.4.16","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.0_1755494541008_0.3876835973738513","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@termix-it/react-tool","version":"1.0.1","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.1","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"7e0bec9181f344a9863606b477e4b124e782012e","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.1.tgz","fileCount":26,"integrity":"sha512-kd9Dyq9yHZkgctnGVnf9Kve9zHMtVX8pgBCeoZKK84RpUAqABZm1wQnDd4CbiX9Jx9uTA7XXdU+m4GcDzo+8wQ==","signatures":[{"sig":"MEUCIAHAe76EltPwl1fwTwwuCDIO5z5D58KocOFKZRvLzYKwAiEA9hW13rxG2AY1vQVDsRcEAtmiY0Rgd2ognLRVZDmCInE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309149},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles":{"import":"./dist/styles.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"1e470be148e9b1bb735a2172bf57453a4a1ab392","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","postcss":"^8.4.32","typescript":"^5.9.2","@rslib/core":"^0.11.2","tailwindcss":"^3.4.0","@types/react":"^19.1.7","autoprefixer":"^10.4.16","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.1_1755495282364_0.8311996956212697","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@termix-it/react-tool","version":"1.0.2","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.2","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"1d9576471ad12661929d7801eaaa4ad0755babad","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.2.tgz","fileCount":26,"integrity":"sha512-dv6A7D1PA+vN6dyqaz57Kbs/YQygyTofLpWcKHBDA/VwfhP2e1wOQVk9twZ1SQoTKwWAdEEl840Uh8DSL0bb3w==","signatures":[{"sig":"MEUCIQCr0o5tPax1qJPCU+8pGK3po9Rpjdbxq+8/RPByeo+wTgIgJJlzUi5pGnn6sqa2Zri5HOUBYLkjKbWJc7b/lFmn/fw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309149},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles":{"import":"./dist/styles.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"1e470be148e9b1bb735a2172bf57453a4a1ab392","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","postcss":"^8.4.32","typescript":"^5.9.2","@rslib/core":"^0.11.2","tailwindcss":"^3.4.0","@types/react":"^19.1.7","autoprefixer":"^10.4.16","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.2_1755498152458_0.5804563248523265","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@termix-it/react-tool","version":"1.0.3","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.3","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"a44adb1a8b845d2ffdebe0e33920ddbfeca51b2f","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.3.tgz","fileCount":26,"integrity":"sha512-2zigLawUNa611H8mkdB7iD9emGZlO3K1cIXaTrEai2E9OLcNcsut0dJvmObnx6n3Cd7Ch8oRZTSFPk+/XGtnHQ==","signatures":[{"sig":"MEQCIBCfrtSzWxE2D7/j3VP0AwaDAyfjdV/9V0cx4aW9mhtSAiBP54G9TeFhouI3MtoZ5VLVbC8K51fKeA36TNxrC1xeIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290148},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles":{"import":"./dist/styles.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"1e470be148e9b1bb735a2172bf57453a4a1ab392","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","postcss":"^8.4.32","typescript":"^5.9.2","@rslib/core":"^0.11.2","tailwindcss":"^3.4.0","@types/react":"^19.1.7","autoprefixer":"^10.4.16","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.3_1755499093599_0.45357922672978335","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@termix-it/react-tool","version":"1.0.4","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.4","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"f30c10a784516a0cb063701f4bf07e10fa071015","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.4.tgz","fileCount":28,"integrity":"sha512-2f076dy7MH4NPBg9AutzzjcAGOpjYk7FxbGGEDS2u6Rsn+QFTaIzOht0v4VXwxxjRDF+Kxekv4hpTuBewHo34g==","signatures":[{"sig":"MEYCIQD9L7sfkoJ0mrj5XHvUv+hm7PsHZp9LwhKKMCJwTHB0KQIhAPgPl/GPwiYWgYOhKvp+wqboF5mDwnngoeKQViZs0Dth","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316346},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles":{"import":"./dist/styles.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"b042910d1c7797b7829b6539e9f5f05f8a784e00","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","postcss":"^8.4.32","typescript":"^5.9.2","@rslib/core":"^0.11.2","tailwindcss":"^3.4.0","@types/react":"^19.1.7","autoprefixer":"^10.4.16","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.4_1755589844786_0.6196287282156852","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@termix-it/react-tool","version":"1.0.5","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.5","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"2e569241bdc15e763fdacefae40695a01a556ccf","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.5.tgz","fileCount":28,"integrity":"sha512-s4jbGt826npqBSzTEjYde9mlItdP5JDPeMLKUlFcqTniB7lbNky+DQh2uaDhk89/6iL4WAZaptungjiHBKO6Qg==","signatures":[{"sig":"MEQCIFVH6z8EN+KO4VRRJ9x2QGT8DMrGNOpZaWd9J1GY/M2oAiAh7tOQnDwjOg60eDMlH+4Q3RITWMnzSCytLKP2XL2S4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316681},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles":{"import":"./dist/styles.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"f0b579bb8ea71c2bfd9237196b2637bcb59df24b","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","lucide-react":"^0.300.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","postcss":"^8.4.32","typescript":"^5.9.2","@rslib/core":"^0.11.2","tailwindcss":"^3.4.0","@types/react":"^19.1.7","autoprefixer":"^10.4.16","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.5_1755758511486_0.11503527946364756","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@termix-it/react-tool","version":"1.0.9","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.9","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"ece09bc47cc6e2aba425798cd3b51574256ba9da","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.9.tgz","fileCount":34,"integrity":"sha512-cc4cXk4FsO5yDD5vdVNUAA+IZx5oXqVTHZUUXwMdVXoOHR2jK+xLCRlag45udIz5bgepTzMNv/UeIW9SLzehmQ==","signatures":[{"sig":"MEQCIB9hjA6aprrDAxkYBLLBeQ4Wd2oNYHNdzRTuWtaT1QjgAiBUrrGvsMA8kXjLDeiganjXW32fdGA6Fdi2Dh3T60Dvgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":803107},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./dist/styles.css":"./dist/styles.css"},"gitHead":"feaedbd6ac070689a65234e4d94f12be535a5ccd","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.300.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.9_1756975452542_0.4172433639051736","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@termix-it/react-tool","version":"1.0.10","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.10","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"48eede8837ecda829b26e8bef9d6034ababa5888","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.10.tgz","fileCount":30,"integrity":"sha512-XboKx9kCWRwWsp9WEyNSm8C5CRyljsEfFOcLaTneE1vEKNHfB5AsQBK7+OGlCSVOK0fexEp2dibf2eVnDI1iGQ==","signatures":[{"sig":"MEYCIQDnwp4CX5V8hxIIr75wB11JxqcWg6nPSHmTxjkiN6tRLgIhAP+mSlOvdkVgBXrJpdkTfPflpZAHkYvPrSQFzl6YpSCN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":819015},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e021c5bb99745399bdeee26176ea59fdd978d79d","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.300.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.10_1756977793227_0.19841611390342573","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@termix-it/react-tool","version":"1.0.11","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.11","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"c8e55b2bbfee7edba799de5e935bbf42c840fb62","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.11.tgz","fileCount":30,"integrity":"sha512-lWDq8EdkOTmZETXg25yAgqELQv5Hc8JADaJ9ZzYc0CVUdgu/WvnlubNjX+0In1dKMiMhglNg4b/jCNlMoyhd3w==","signatures":[{"sig":"MEYCIQDk/GXn+zkPNGj6Evb7ZS8B4qXd1py/ZmxbnE7nxMbnZgIhAMI0Xz+JK6JeysqReTUd3/x8QUSxw3DRAlTej7l/RavR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":824579},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"14adf106eb7d361d5df58073d09c6aa32022e289","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.300.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.11_1757065037023_0.12946846891401553","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@termix-it/react-tool","version":"1.0.12","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.0.12","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"1e6fbc706bdc19f47e57fa9843d13a102963c0bf","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.0.12.tgz","fileCount":30,"integrity":"sha512-rUV3BTa1P9V0/PyZRHczelyv4tSFmq7UNhU49VAc+DWpbGaEJ1W39OrVKDCaL5eB8Bn2HP/5tQMV6T7Ycyo4jg==","signatures":[{"sig":"MEQCIFYOdk6ULZbTUX3lD5rd6pIKdPSrFkHEiEEIxt+IRU4lAiAafwJrAi7793Fw46+WaV9dpAwgJM8HUC7hePzk92lixw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":836015},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1d16d590f1893b56df9f16f10ffd80765215dc8e","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.300.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.0.12_1757490166100_0.31405400963946817","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@termix-it/react-tool","version":"1.1.0","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.0","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"6ba4a07d41a14241557c639794699513a58380a1","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.0.tgz","fileCount":34,"integrity":"sha512-6806BYj3W7w7AJDj98aoof7Vt7y4aUHRCLTS3nRCjqkOytmitNPjeVhtFK2a9XT6JcNCgL2FEvUmeDSwKfj6uA==","signatures":[{"sig":"MEUCIHX+cmHabiVt2u/8mGf+RJFLmVetkCfKzMBq5t638r/vAiEAv7G+Q+fZGnhCz4XTvczJTqwclynHAVXgG5y4Bd7HUlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1601557},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"afb1c2d9c1b15da9b95eab01dcf4abbd6c106e9e","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.300.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.0_1760157027007_0.5098616633425537","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@termix-it/react-tool","version":"1.1.1","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.1","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"38a16b24a64105a11fd0a6132383e7b52ee480c2","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.1.tgz","fileCount":34,"integrity":"sha512-Rf9a59BSelahUlZbI9cSnwRYEO18m8IT5FLekbA5GKZpue4MiC0U4UBvfbOGAlgZE/VECwajoN1DsimPk2dEKg==","signatures":[{"sig":"MEYCIQCCMYXWwqBNrcc+SrTLRjllKeDyOeotHPa7R1fpPB4OBQIhAK4/5y6PL2yIbVygrhKNe4Ph6shPLJ4icBZBydujPDVO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1601806},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4b71f3ca95cfb349dac431dccaa2f2194e9de856","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.300.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.1_1760157193653_0.4952759555134234","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@termix-it/react-tool","version":"1.1.2","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.2","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"4c6401f57f8bc341bbf893930d81e3c9ec8c0051","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.2.tgz","fileCount":44,"integrity":"sha512-CSMAGrLKTNX/JL6gQjxIV7J5UjnxicKCAt/1p9PaBRJOA5kaF+Me0rkyMEKcBcvrZbYxYiekDKoXSju2bwni6Q==","signatures":[{"sig":"MEQCIAhKkFjSzUbeOAXAeBGEiDVpuozeCPoGmiqy+CMWHLbgAiA+x4r4vcdOVdF8/tILowoRL91lW8fRLPuDHN1YH8ng5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1701032},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d0d73288367f908eb0453c13c3c1b9e359a7cc02","scripts":{"dev":"rslib build --watch","build":"rslib build","clean":"rimraf dist","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.2_1760934118549_0.6474571903130519","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@termix-it/react-tool","version":"1.1.3","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.3","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"b28ae686c8f40a5dc872e9042d1057b95bc91ad4","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.3.tgz","fileCount":43,"integrity":"sha512-kzOtL1lvvPR1tOEq/vioasTg1HmQ8gupYKns5MHqZAKnQyhKnjODDoLIbiWw1GNV/QwFsQ2XydUe9bE2BbBW1g==","signatures":[{"sig":"MEUCIHXLbPHBzkN/HSKxPp8QFuGZLYJnOcIixMHl+coWRhHLAiEA7OypVoVTMP2nYPjQ00Wx8hgbWGoP+AlQ/KhJNKIhLgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410982},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3dda37c21025a50b41a1c52217e84e1a2fb39cd4","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","ethers":"^6.15.0","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","ethers":"^6.0.0","react-dom":">=16.9.0"},"peerDependenciesMeta":{"ethers":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.3_1761016717787_0.48040597528420337","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@termix-it/react-tool","version":"1.1.4","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.4","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"f4df11de90d49bc5bff3f236431603e075fa3a80","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.4.tgz","fileCount":43,"integrity":"sha512-8YptaGMcdljYBjJC3KjqhLJJK5JvtNOf9HgI/owcayzWp35TrkvgPFksrhUQWkONE0aZjcQSMJMxYRIYFAsPjA==","signatures":[{"sig":"MEUCIQDjdee+soN7f5rdXVoeb6qrQ9T9RPVJmxMckz3pt2y/TQIgGOw2gcxnvWeiKvXIsX4eKe22GSqif65kw7nJ0nEx6p0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410976},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"41c3453457874143ddea43822c95a19632e4a60a","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","ethers":"^6.15.0","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","ethers":"^6.0.0","react-dom":">=16.9.0"},"peerDependenciesMeta":{"ethers":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.4_1761017779009_0.020793025317974","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@termix-it/react-tool","version":"1.1.5","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.5","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"c2c17879f7d70d271cd62fcdbb5369ac8e8d47ed","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.5.tgz","fileCount":43,"integrity":"sha512-kJkSIoAraewo4+ae9ILBRfwr7UT/RexbRB+oZByUCyJ+kV4NWIA7a4IXcpDPA2kBHqbBOQqIJRJbL8YeMz3EWw==","signatures":[{"sig":"MEUCIQDurdWRn2//J9wW/lfUQjZ8z5j2nDDiG3B9rGRnUj0SJQIgOzvWBYppR5fp/rDU8k2BGMP0ygshhXc7pAxqKlJ/7bQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":411003},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bb9a9042dbd8f0cac7e0f53027fe411ec117a33e","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","ethers":"^6.15.0","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","ethers":"^6.0.0","react-dom":">=16.9.0"},"peerDependenciesMeta":{"ethers":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.5_1761018459419_0.1299206325826956","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@termix-it/react-tool","version":"1.1.6","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.6","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"69fd5492dfb190aeb5d4234cad8839f347245f1f","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.6.tgz","fileCount":43,"integrity":"sha512-Kl//q/JxCnHfCl7eMPohqzN4m7YBqYC3M6NS252NX2TAcZf7Qdg4P7aweSNrFvDd1HJI+KW5Q3Xng4nuI96WDg==","signatures":[{"sig":"MEQCIEh3yJPjGc+WhGHZasosOWj8KjZ6d/TLyKoACTZMe6WrAiBNb8kSHrJ+Vac1twfnZBPUSbGVwfzoBDjatM8F5C7ZLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":410894},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bb9a9042dbd8f0cac7e0f53027fe411ec117a33e","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.6_1761027557727_0.022180260968979182","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@termix-it/react-tool","version":"1.1.7","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.7","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"2f0a4ad50cc971cddcaac751e321ce35ef6c8c66","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.7.tgz","fileCount":44,"integrity":"sha512-POVysXuEVIIiPKQFanEAoRZf0E1QrLgb57kUZPYo6AenRJ/KDOQK772Y0xIPhy1G4LCbQW9F6cRaJE/ZiKfJpA==","signatures":[{"sig":"MEYCIQDLywAllukuazLzLO7Y11mbZax4QsPhdacOE70GiE/JgAIhAOieGsexodIz1+6nPXUZxd+pGmnyzl86uOBQOJTN7oBP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1480832},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f2160c831ad871b1a1dfdfb175c95b935ed9a4dd","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.7_1761029879959_0.32158744372737624","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@termix-it/react-tool","version":"1.1.8","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.8","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"fa6a8df02f5dbab7d096e5fd714f7f9743f17428","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.8.tgz","fileCount":48,"integrity":"sha512-aa4L5FSKwknAzaRqo+EJnctqRr86h/8gwFwRcGefNnY+fl0tvSUmAJcOJzEGVVdQA7cIiSPIseB5oT7OWng62Q==","signatures":[{"sig":"MEYCIQDm93VJGMrylUue0tbffJ2DNWoVzeoadI34CJF4TnWE+QIhAMOJQFVc9v0q+GqXqr3FjnCaYx0E2iSCTJSKNz3Xu1kO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1525167},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9f593366d28da66c03c8ecc643e87ec15d8deafc","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.8_1761102603555_0.36848927318115754","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@termix-it/react-tool","version":"1.1.9","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.9","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"ae97e758201cff238c1afdcfeb2a085ef4a3a42a","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.9.tgz","fileCount":48,"integrity":"sha512-IG4Uk+Cb5axWmabB/vAjRsABJ4UL/m0nTqSxROesBkYPyQcVIMu+N83gEFRigf+v+VZbyB18D8vBhj4GQ/8UHw==","signatures":[{"sig":"MEUCIEv+ywjUfjNSUT/9MfB/yrRrNFBMZ1crS7hRmBFSob7PAiEAl0TDX1sJsfaCfc5oCIC8PapXlZyJ4S5fQVmE1BKqFJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1528482},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2984611bde6f7b38f95fd154d772865cf9a79b7b","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.9_1761104238561_0.7416857847970868","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@termix-it/react-tool","version":"1.1.10","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.10","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"2c230dc75712b9c97128db120447bb5e497e62f9","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.10.tgz","fileCount":48,"integrity":"sha512-UqZhUdlZqarinoDPhkM+fCg+Tl2rtlZRhx5WdfydBuk6ltPEFQ1XbikqkbUr+TDt7jL1JOvdYEiqIJDG8YOHng==","signatures":[{"sig":"MEUCIGRYAtw/ll2CQc8q4MaAYbsAjHV2Sw8mUjmRDqbtp/91AiEA/v/PejAAE5DW62NbiacF3F/sBAsZsREH8dnZP/locQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1528644},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2984611bde6f7b38f95fd154d772865cf9a79b7b","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.10_1761105909077_0.07138379907940329","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@termix-it/react-tool","version":"1.1.11","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.11","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"2aae6aa8a1cbafc71e7f546e3100694b7a31430a","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.11.tgz","fileCount":48,"integrity":"sha512-UPkI0KY0lbMjiBO5/pRPPbE/2KEueIBO/+Fyk3QybA7ytoxkOTzZ5qEXphX2gKV9e+aNALalWso2oeRDiO3UEQ==","signatures":[{"sig":"MEQCIAsqiThZtmHg2ftNwbNk6w9cg7UJjo1zCxBR3nVxXYwEAiB9fQ6NmGVumZaa3b4OzQM4ttlO/Zx3O7zqQdUyp5FgLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1528834},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d2355eb3c3bac0678ebff4b12d9a2aa932550be3","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.11_1761108113122_0.8042136067605841","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@termix-it/react-tool","version":"1.1.12","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.12","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"4a8eb5d407352ba7706735691b7b5ebcbedaf68e","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.12.tgz","fileCount":48,"integrity":"sha512-1s1y+5T6e9Y16Slz35oKlF/wHm86kC1TCdDqpcuDh753uugdntA3ibsky3NxyMsVnQV0pIKokMsnlitI3asElQ==","signatures":[{"sig":"MEQCIDQU2HnprnxwVGEDIOfoDP0K8+o1llteh4QRG5tKjYvYAiBUqOwQzRGOw5kfcdpd3X/iIB/XE6HHmOqvHapQj9RZbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1533128},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d2355eb3c3bac0678ebff4b12d9a2aa932550be3","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.12_1761112972923_0.2842766465138429","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@termix-it/react-tool","version":"1.1.13","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.1.13","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"88bf948e4ae9c4e30968048c80e54e4c26dfd0dd","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.1.13.tgz","fileCount":48,"integrity":"sha512-yY7cIGRazjZqq0T+mKUE+4Ifu7SJF/oHyYeSG7SW/xyrJw2+I+0w4S+73Nl/OtvNMI7+sAPysfOoQhMGu6C80A==","signatures":[{"sig":"MEQCIF8Tex2kI0Fk7wmERNteTteXnZ/J/yrHNmDUel8jH7HyAiASAKNA31gT7QzBbImzlb5/43rOrP5hTAYgCnBp8u5Xpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1535260},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3fd368e2a75aa7d05e67c96b585e89c345b67f22","scripts":{"build":"rslib build","clean":"rimraf dist","dev:prod":"rslib build --watch","build:dev":"set VITE_API_BASE_URL=/api/v1-dev&&rslib build","dev:local":"rslib build --watch --config rslib.config.local.ts","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","ethers":"^6.15.0","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","react":"^19.1.1","rimraf":"^5.0.0","react-dom":"^19.1.1","typescript":"^5.9.2","@rslib/core":"^0.11.2","@types/react":"^19.1.7","@rsbuild/core":"~1.4.14","@types/react-dom":"^19.1.7","@rsbuild/plugin-less":"^1.5.0","@rsbuild/plugin-react":"^1.3.5"},"peerDependencies":{"react":">=16.9.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.1.13_1761118077120_0.2875865716748156","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@termix-it/react-tool","version":"1.2.0","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.2.0","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"a7846d44766ed67595387dc502b381368e39ac0b","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.2.0.tgz","fileCount":98,"integrity":"sha512-iTVsMYK0L+P7R7jy7ylCIP97jJkkrMMHhtMzN6XMtcpC9rc5B6RNU8rLVksMllZ/Q18u+5cbG19TkvkzDKUh0Q==","signatures":[{"sig":"MEYCIQCIEXI65kyuVZ9BBLUEoTgheovXwKZqJYpsE+wErsxgXQIhAK1nMJGcwpSByGScbxDpgFTmnZd0gVvt3W1fk6iF9UPJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2497467},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cdaf51f250f175311c50fd80210ac1c134008fd8","scripts":{"build":"set NODE_ENV=production&& rollup -c rollup.config.js","clean":"rimraf dist","example":"vite --config example/vite.config.ts","dev:prod":"rollup -c rollup.config.js --watch","build:dev":"set NODE_ENV=production&& set VITE_API_BASE_URL=/api/v1-dev&& rollup -c rollup.config.js","dev:local":"set BUILD_MODE=local&& rollup -c rollup.config.js --watch","type-check":"tsc --noEmit","check-peers":"npx check-peer-dependencies","example:dev":"set VITE_API_BASE_URL=/api/v1-dev&&vite --config example/vite.config.ts","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"sideEffects":["*.css","*.less","./src/styles/**"],"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","inversify":"^6.0.2","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0","reflect-metadata":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","vite":"^5.0.10","react":"^19.1.1","tslib":"^2.8.1","ethers":"^6.15.0","rimraf":"^5.0.0","rollup":"^4.30.1","postcss":"^8.5.6","react-dom":"^19.1.1","remark-gfm":"^4.0.1","typescript":"^5.9.2","@types/node":"^20.10.5","@types/react":"^19.1.7","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","@types/react-dom":"^19.1.7","rollup-plugin-dts":"^6.1.1","@vitejs/plugin-react":"^4.2.1","@rollup/plugin-terser":"^0.4.4","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-replace":"^6.0.1","@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-typescript":"^12.1.2","@fullhuman/postcss-purgecss":"^7.0.2","@rollup/plugin-node-resolve":"^15.3.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.9.0","ethers":"^5.7.0 || ^6.15.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.2.0_1762510235196_0.6625819273683671","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@termix-it/react-tool","version":"1.2.1","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.2.1","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"3030f61989710dfec799ec691493249328ea6ce0","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.2.1.tgz","fileCount":98,"integrity":"sha512-9U2+824ec8XBPYAnUX8EUkp9xdDmfXiLGWAzv0OsJA39qyH4JjUhzgOXPQGPK00fYkuTXKE+l3C3tZlWo6Rs/g==","signatures":[{"sig":"MEYCIQCle1/aw71Mjid1Qs+Nm+WTAFVtalSQ3dGWawas53kX1gIhAI7suRz3wvv6Gpm9EmNqQFTDQnKEuhFlmnpp8U30BZbA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2498757},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"88ea5f1564f254afb35fec4d0b00cbf9fa0ef61a","scripts":{"build":"set NODE_ENV=production&& rollup -c rollup.config.js","clean":"rimraf dist","example":"vite --config example/vite.config.ts","dev:prod":"rollup -c rollup.config.js --watch","build:dev":"set NODE_ENV=production&& set VITE_API_BASE_URL=/api/v1-dev&& rollup -c rollup.config.js","dev:local":"set BUILD_MODE=local&& rollup -c rollup.config.js --watch","type-check":"tsc --noEmit","check-peers":"npx check-peer-dependencies","example:dev":"set VITE_API_BASE_URL=/api/v1-dev&&vite --config example/vite.config.ts","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"sideEffects":["*.css","*.less","./src/styles/**"],"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","inversify":"^6.0.2","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0","reflect-metadata":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","vite":"^5.0.10","react":"^19.1.1","tslib":"^2.8.1","ethers":"^6.15.0","rimraf":"^5.0.0","rollup":"^4.30.1","postcss":"^8.5.6","react-dom":"^19.1.1","remark-gfm":"^4.0.1","typescript":"^5.9.2","@types/node":"^20.10.5","@types/react":"^19.1.7","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","@types/react-dom":"^19.1.7","rollup-plugin-dts":"^6.1.1","@vitejs/plugin-react":"^4.2.1","@rollup/plugin-terser":"^0.4.4","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-replace":"^6.0.1","@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-typescript":"^12.1.2","@fullhuman/postcss-purgecss":"^7.0.2","@rollup/plugin-node-resolve":"^15.3.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.9.0","ethers":"^5.7.0 || ^6.15.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.2.1_1762776094758_0.32250577830975447","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@termix-it/react-tool","version":"1.2.2","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.2.2","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"0cd2b4b2bd1378b7076976f9b284c46e4f62dbec","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.2.2.tgz","fileCount":98,"integrity":"sha512-nWvA2w5KdV354FN4KZ6gf71FPTi4eHbLke/SwlR1M4SZ5Ku0RhnyaPibIcc8kNPQoKlf2xeWdQANp3SS8Vh9uA==","signatures":[{"sig":"MEUCICwR7OcKuvBreiBlWtUB+AIONfopYbUvNyCyMwoJzgT4AiEAlYcLN1Phb7u8jOLpeC6klfKTxQmn3H4p5hUGcXmrnNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2512494},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"118ffdf742d4614a85f2c6a4dc2264e21f6e71c7","scripts":{"build":"set NODE_ENV=production&& rollup -c rollup.config.js","clean":"rimraf dist","example":"vite --config example/vite.config.ts","dev:prod":"rollup -c rollup.config.js --watch","build:dev":"set NODE_ENV=production&& set VITE_API_BASE_URL=/api/v1-dev&& rollup -c rollup.config.js","dev:local":"set BUILD_MODE=local&& rollup -c rollup.config.js --watch","type-check":"tsc --noEmit","check-peers":"npx check-peer-dependencies","example:dev":"set VITE_API_BASE_URL=/api/v1-dev&&vite --config example/vite.config.ts","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"sideEffects":["*.css","*.less","./src/styles/**"],"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","inversify":"^6.0.2","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0","reflect-metadata":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","vite":"^5.0.10","react":"^19.1.1","tslib":"^2.8.1","ethers":"^6.15.0","rimraf":"^5.0.0","rollup":"^4.30.1","postcss":"^8.5.6","react-dom":"^19.1.1","remark-gfm":"^4.0.1","typescript":"^5.9.2","@types/node":"^20.10.5","@types/react":"^19.1.7","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","@types/react-dom":"^19.1.7","rollup-plugin-dts":"^6.1.1","@vitejs/plugin-react":"^4.2.1","@rollup/plugin-terser":"^0.4.4","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-replace":"^6.0.1","@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-typescript":"^12.1.2","@fullhuman/postcss-purgecss":"^7.0.2","@rollup/plugin-node-resolve":"^15.3.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.9.0","ethers":"^5.7.0 || ^6.15.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.2.2_1764216751190_0.5330587559179871","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@termix-it/react-tool","version":"1.2.3","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.2.3","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"2760c03485ac5b918cd60536f487af475d241c71","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.2.3.tgz","fileCount":100,"integrity":"sha512-/56dLFjzPvCAi/KfZG0sgAHGLf9cY0+2RUuW1OfIhiA0jMQMNzHtsbEqn7uzlPkXPdwRLQbp3Q3/MzTafGCtwA==","signatures":[{"sig":"MEUCIQCgaOExlxHbRCdWeT6FOVSz0gYIQohG8YnE5p6gEBsvTgIgYDkYMx0TzjWhGeu8cJb+Afe6Wv2CWZdYXer+1wY6h8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2542486},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"82439f58c50a11ef4cb9390f76caa934de6f5048","scripts":{"build":"set NODE_ENV=production&& rollup -c rollup.config.js","clean":"rimraf dist","example":"vite --config example/vite.config.ts","dev:prod":"rollup -c rollup.config.js --watch","build:dev":"set NODE_ENV=production&& set VITE_API_BASE_URL=/api/v1-dev&& rollup -c rollup.config.js","dev:local":"set BUILD_MODE=local&& rollup -c rollup.config.js --watch","type-check":"tsc --noEmit","check-peers":"npx check-peer-dependencies","example:dev":"set VITE_API_BASE_URL=/api/v1-dev&&vite --config example/vite.config.ts","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"sideEffects":["*.css","*.less","./src/styles/**"],"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","inversify":"^6.0.2","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0","reflect-metadata":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","vite":"^5.0.10","react":"^19.1.1","tslib":"^2.8.1","ethers":"^6.15.0","rimraf":"^5.0.0","rollup":"^4.30.1","postcss":"^8.5.6","react-dom":"^19.1.1","remark-gfm":"^4.0.1","typescript":"^5.9.2","@types/node":"^20.10.5","@types/react":"^19.1.7","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","@types/react-dom":"^19.1.7","rollup-plugin-dts":"^6.1.1","@vitejs/plugin-react":"^4.2.1","@rollup/plugin-terser":"^0.4.4","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-replace":"^6.0.1","@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-typescript":"^12.1.2","@fullhuman/postcss-purgecss":"^7.0.2","@rollup/plugin-node-resolve":"^15.3.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.9.0","ethers":"^5.7.0 || ^6.15.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.2.3_1764737840458_0.07587244599508036","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@termix-it/react-tool","version":"1.2.4","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","_id":"@termix-it/react-tool@1.2.4","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"homepage":"https://github.com/termix/react-tool#readme","bugs":{"url":"https://github.com/termix/react-tool/issues"},"dist":{"shasum":"03a1c9bbfc73447e0a79af1b0100776e952f8dc8","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.2.4.tgz","fileCount":100,"integrity":"sha512-7Tr1E3n/XixCPDAdJsUxRir627bkhx+52C4pcCh24TslgZf0CXWmfjDUQdXg/yM0VcNVM+Bclx2eydfhI/BNUA==","signatures":[{"sig":"MEQCIBRdqtd/iY978vgBOiHGeP550xUfvkG8KCAVWfDr0Qi1AiAbvbdunWB0GWbRssIrlz5m2UbvpLanLT3M7oMf4ib7VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2542486},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"843b9a9020176540d4a5ca45843e30c87c9f468a","scripts":{"build":"set NODE_ENV=production&& rollup -c rollup.config.js","clean":"rimraf dist","example":"vite --config example/vite.config.ts","dev:prod":"rollup -c rollup.config.js --watch","build:dev":"set NODE_ENV=production&& set VITE_API_BASE_URL=/api/v1-dev&& rollup -c rollup.config.js","dev:local":"set BUILD_MODE=local&& rollup -c rollup.config.js --watch","type-check":"tsc --noEmit","check-peers":"npx check-peer-dependencies","example:dev":"set VITE_API_BASE_URL=/api/v1-dev&&vite --config example/vite.config.ts","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"repository":{"url":"git+https://github.com/termix/react-tool.git","type":"git"},"_npmVersion":"10.8.2","description":"A configurable AI chat interface component library","directories":{},"sideEffects":["*.css","*.less","./src/styles/**"],"_nodeVersion":"20.18.0","dependencies":{"clsx":"^2.0.0","axios":"^1.6.0","inversify":"^6.0.2","remark-gfm":"^4.0.1","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","tailwind-merge":"^2.2.0","reflect-metadata":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"less":"^4.4.1","vite":"^5.0.10","react":"^19.1.1","tslib":"^2.8.1","ethers":"^6.15.0","rimraf":"^5.0.0","rollup":"^4.30.1","postcss":"^8.5.6","react-dom":"^19.1.1","remark-gfm":"^4.0.1","typescript":"^5.9.2","@types/node":"^20.10.5","@types/react":"^19.1.7","lucide-react":"^0.468.0","remark-breaks":"^4.0.0","react-markdown":"^10.1.0","@types/react-dom":"^19.1.7","rollup-plugin-dts":"^6.1.1","@vitejs/plugin-react":"^4.2.1","@rollup/plugin-terser":"^0.4.4","rollup-plugin-postcss":"^4.0.2","@rollup/plugin-replace":"^6.0.1","@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-typescript":"^12.1.2","@fullhuman/postcss-purgecss":"^7.0.2","@rollup/plugin-node-resolve":"^15.3.1","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=16.9.0","ethers":"^5.7.0 || ^6.15.0","react-dom":">=16.9.0"},"_npmOperationalInternal":{"tmp":"tmp/react-tool_1.2.4_1764830312682_0.7055157893745871","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@termix-it/react-tool","version":"1.2.5","description":"A configurable AI chat interface component library","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"types":"./dist/index.d.ts","sideEffects":["*.css","*.less","./src/styles/**"],"scripts":{"build":"set NODE_ENV=production&& rollup -c rollup.config.js","build:dev":"set NODE_ENV=production&& set VITE_API_BASE_URL=/api/v1-dev&& rollup -c rollup.config.js","dev:prod":"rollup -c rollup.config.js --watch","dev:local":"set BUILD_MODE=local&& rollup -c rollup.config.js --watch","example":"vite --config example/vite.config.ts","example:dev":"set VITE_API_BASE_URL=/api/v1-dev&&vite --config example/vite.config.ts","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build","type-check":"tsc --noEmit","check-peers":"npx check-peer-dependencies"},"keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"author":{"name":"TermiX Team"},"license":"MIT","peerDependencies":{"ethers":"^5.7.0 || ^6.15.0","react":">=16.9.0","react-dom":">=16.9.0"},"dependencies":{"axios":"^1.6.0","clsx":"^2.0.0","inversify":"^6.0.2","lucide-react":"^0.468.0","react-markdown":"^10.1.0","reflect-metadata":"^0.2.1","remark-breaks":"^4.0.0","remark-gfm":"^4.0.1","tailwind-merge":"^2.2.0"},"devDependencies":{"@fullhuman/postcss-purgecss":"^7.0.2","@rollup/plugin-commonjs":"^28.0.2","@rollup/plugin-node-resolve":"^15.3.1","@rollup/plugin-replace":"^6.0.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.2","@types/node":"^20.10.5","@types/react":"^19.1.7","@types/react-dom":"^19.1.7","@vitejs/plugin-react":"^4.2.1","ethers":"^6.15.0","less":"^4.4.1","lucide-react":"^0.468.0","postcss":"^8.5.6","react":"^19.1.1","react-dom":"^19.1.1","react-markdown":"^10.1.0","remark-breaks":"^4.0.0","remark-gfm":"^4.0.1","rimraf":"^5.0.0","rollup":"^4.30.1","rollup-plugin-dts":"^6.1.1","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-postcss":"^4.0.2","tslib":"^2.8.1","typescript":"^5.9.2","vite":"^5.0.10"},"repository":{"type":"git","url":"git+https://github.com/termix/react-tool.git"},"bugs":{"url":"https://github.com/termix/react-tool/issues"},"homepage":"https://github.com/termix/react-tool#readme","_id":"@termix-it/react-tool@1.2.5","gitHead":"df0455c6c50353365a2e5e484d78ce11fc2aa3af","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-8zd5NbnZ1K8RHXnHul1UvTQH/d+mISYNHgXjva9kkdjNvaeWpF+UyTW5fm1hqhwryUwX0bkX/pcQ5hmT996MhQ==","shasum":"dc90a0b17e3e808cc9b97966d22a3c0bdccc5581","tarball":"https://registry.npmjs.org/@termix-it/react-tool/-/react-tool-1.2.5.tgz","fileCount":100,"unpackedSize":2556007,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICAVZAJYy3TQUUQRd53zbU90G6BqmpH+Ronl56P91RO4AiEA03t4CGM7gJL1coxX2bWUn+RcUpiWYZDHJAvo/+kvl6w="}]},"_npmUser":{"name":"termix-it","email":"it@termix.ai"},"directories":{},"maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-tool_1.2.5_1764830423012_0.42847194444354586"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-18T05:22:20.900Z","modified":"2025-12-04T06:40:23.428Z","1.0.0":"2025-08-18T05:22:21.193Z","1.0.1":"2025-08-18T05:34:42.583Z","1.0.2":"2025-08-18T06:22:32.667Z","1.0.3":"2025-08-18T06:38:13.796Z","1.0.4":"2025-08-19T07:50:44.991Z","1.0.5":"2025-08-21T06:41:51.678Z","1.0.9":"2025-09-04T08:44:12.751Z","1.0.10":"2025-09-04T09:23:13.424Z","1.0.11":"2025-09-05T09:37:17.255Z","1.0.12":"2025-09-10T07:42:46.289Z","1.1.0":"2025-10-11T04:30:27.314Z","1.1.1":"2025-10-11T04:33:13.930Z","1.1.2":"2025-10-20T04:21:58.810Z","1.1.3":"2025-10-21T03:18:38.277Z","1.1.4":"2025-10-21T03:36:19.203Z","1.1.5":"2025-10-21T03:47:39.605Z","1.1.6":"2025-10-21T06:19:17.930Z","1.1.7":"2025-10-21T06:58:00.141Z","1.1.8":"2025-10-22T03:10:03.780Z","1.1.9":"2025-10-22T03:37:18.814Z","1.1.10":"2025-10-22T04:05:09.336Z","1.1.11":"2025-10-22T04:41:53.360Z","1.1.12":"2025-10-22T06:02:53.196Z","1.1.13":"2025-10-22T07:27:57.360Z","1.2.0":"2025-11-07T10:10:35.459Z","1.2.1":"2025-11-10T12:01:35.020Z","1.2.2":"2025-11-27T04:12:31.462Z","1.2.3":"2025-12-03T04:57:20.695Z","1.2.4":"2025-12-04T06:38:32.895Z","1.2.5":"2025-12-04T06:40:23.215Z"},"bugs":{"url":"https://github.com/termix/react-tool/issues"},"author":{"name":"TermiX Team"},"license":"MIT","homepage":"https://github.com/termix/react-tool#readme","keywords":["ai","chat","interface","react","ui","component","llm","assistant"],"repository":{"type":"git","url":"git+https://github.com/termix/react-tool.git"},"description":"A configurable AI chat interface component library","maintainers":[{"name":"termix-it","email":"it@termix.ai"}],"readme":"# TermiX Frontend SDK - Easy to Use\r\nTermiX offers a library of out-of-the-box React components that enable your dApp to support intelligent AI conversations and Web3 workflows in minutes. These components are highly customizable and can even be fully white-labeled. This means you have access to out-of-the-box natural language interaction, smart contract calls, MCP tool integration, and more.\r\n\r\n\r\n## Features\r\n\r\n- 🤖 **AI Chat Interface**: Ready-to-use chat component with real-time streaming responses\r\n- 🔧 **Highly Configurable**: Extensive props for customization and theming\r\n- 🛠️ **Function Calls**: Automatic AI function calling with REST API and smart contract execution\r\n- 📚 **Knowledge Base**: Built-in knowledge base search and reference display\r\n- 🎨 **Tailwind CSS**: Beautiful, responsive UI with customizable styling\r\n- ⚡ **ReAct Pattern**: Support for reasoning and acting patterns in AI responses\r\n- 🔗 **Smart Contracts**: Direct blockchain interaction through MetaMask and web3\r\n- 📱 **Responsive**: Works seamlessly on desktop and mobile devices\r\n- 🚀 **TypeScript**: Full TypeScript support with comprehensive type definitions\r\n- 🌊 **Real-time Streaming**: Server-Sent Events (SSE) support for live chat responses\r\n- 🪝 **Request Hooks**: `beforeCallApiFunc` hook for intercepting and modifying API requests\r\n- 🔐 **HMAC Utilities**: Built-in HMAC signing and verification functions for secure API authentication\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @termix-it/react-tool\r\n# or\r\nyarn add @termix-it/react-tool\r\n# or\r\npnpm add @termix-it/react-tool\r\n```\r\n\r\nAfter installation, you'll have access to:\r\n- ✅ ChatInterface component with AI chat capabilities\r\n- ✅ ChatWidget component for floating chat button\r\n- ✅ Built-in styles (no separate CSS import needed)\r\n- ✅ Built-in UI components (Lucide icons, Markdown rendering)\r\n- ✅ TypeScript support with full type definitions\r\n- ✅ Automatic knowledge base integration\r\n- ✅ Function calling (REST APIs & smart contracts)\r\n- ✅ Real-time streaming support\r\n- ✅ Tree-shaking optimized (only bundles what you use)\r\n\r\n## Peer Dependencies\r\n\r\nThis library requires the following peer dependencies to be installed in your project:\r\n\r\n```bash\r\nnpm install react react-dom ethers\r\n# or\r\nyarn add react react-dom ethers\r\n# or\r\npnpm add react react-dom ethers\r\n```\r\n\r\n**Required peer dependencies:**\r\n\r\n```json\r\n{\r\n  \"react\": \">=16.9.0\",\r\n  \"react-dom\": \">=16.9.0\",\r\n  \"ethers\": \"^5.7.0 || ^6.15.0\"\r\n}\r\n```\r\n\r\n**Note:** UI dependencies (`lucide-react`, `react-markdown`, `remark-breaks`, `remark-gfm`) are now bundled with the library and support tree-shaking to minimize bundle size. Only the icons and markdown features you use will be included in your final build.\r\n\r\n### Ethers.js Version Compatibility\r\n\r\nThis library supports both **ethers v5** and **ethers v6** through an internal compatibility layer. You can use either version in your project:\r\n\r\n- **ethers v5**: `npm install ethers@^5.7.0`\r\n- **ethers v6**: `npm install ethers@^6.15.0`\r\n\r\nThe library will automatically detect which version you have installed and adapt accordingly. All Web3-related functionality (smart contract calls, wallet connections, etc.) works seamlessly with both versions.\r\n\r\n**Recommendation:** We recommend using ethers v6 for new projects as it offers better performance and improved TypeScript support. However, if your project already uses ethers v5, you don't need to upgrade - this library will work perfectly with your existing setup.\r\n\r\n## Quick Start\r\n\r\n### Minimal Setup\r\n\r\nThe absolute minimum code needed to get started:\r\n\r\n```tsx\r\nimport { ChatInterface } from '@termix-it/react-tool';\r\n\r\nfunction App() {\r\n  return (\r\n    <ChatInterface\r\n      projectId=\"your-project-id\"\r\n      aiConfigId=\"your-ai-config-id\"\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n### Basic Usage with Common Options\r\n\r\n```tsx\r\nimport { ChatInterface } from '@termix-it/react-tool';\r\n// No need to import CSS - styles are now bundled with components\r\n\r\nfunction App() {\r\n  return (\r\n    <div className=\"h-screen\">\r\n      <ChatInterface\r\n        // Required props\r\n        projectId=\"your-project-id\"\r\n        aiConfigId=\"your-ai-config-id\"\r\n        \r\n        // Authentication (optional but recommended)\r\n        authorization=\"Bearer your-jwt-token\"\r\n        \r\n        // Common options\r\n        enableStreamingMode={true} // Enable real-time streaming\r\n        showHeader={false} // Set to true to show chat header\r\n        placeholder=\"Type your message...\"\r\n        \r\n        // Optional callbacks\r\n        onMessageSent={(message) => console.log('Sent:', message)}\r\n        onResponseReceived={(message) => console.log('Received:', message)}\r\n        onError={(error) => console.error('Error:', error)}\r\n      />\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n**Note:** \r\n- Styles are now automatically bundled with the components - no separate CSS import needed\r\n- All styles are scoped with `.termix-` prefix to prevent conflicts\r\n- The API base URL is built into the SDK and defaults to `https://dashboard.termix.ai`\r\n\r\n## Chat Widget Component\r\n\r\nThe `ChatWidget` component provides a floating chat button with a popup dialog, perfect for customer service or help functionality. The widget includes its own header, so you typically don't need to enable `showHeader` on the ChatInterface inside it.\r\n\r\n### Basic Widget Usage\r\n\r\n```tsx\r\nimport { ChatWidget, ChatInterface } from '@termix-it/react-tool';\r\n// No need to import CSS - styles are now bundled with components\r\n\r\nfunction App() {\r\n  return (\r\n    <div className=\"relative h-screen\">\r\n      {/* Your main content */}\r\n      <div>Your application content</div>\r\n      \r\n      {/* Fixed positioned chat widget */}\r\n      <div className=\"fixed bottom-6 right-6\">\r\n        <ChatWidget\r\n          title=\"AI Assistant\" // Dialog header title\r\n          defaultOpen={false} // Start closed\r\n          onOpenChange={(open) => console.log('Widget open:', open)}\r\n        >\r\n          <ChatInterface\r\n            // Required props\r\n            projectId=\"your-project-id\"\r\n            aiConfigId=\"your-ai-config-id\"\r\n            \r\n            // Authentication\r\n            authorization=\"Bearer your-token\"\r\n            \r\n            // Features\r\n            enableStreamingMode={true}\r\n            showHeader={false} // Widget has its own header\r\n            \r\n            // Style\r\n            className=\"h-full\"\r\n          />\r\n        </ChatWidget>\r\n      </div>\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n### ChatWidget Props\r\n\r\n| Prop | Type | Default | Description |\r\n|------|------|---------|-------------|\r\n| `buttonIcon` | `string` | `undefined` | Custom button icon URL |\r\n| `title` | `string` | `\"AI Assistant\"` | Dialog header title |\r\n| `className` | `string` | `\"\"` | CSS classes for the widget container |\r\n| `style` | `React.CSSProperties` | `undefined` | Inline styles for the widget container |\r\n| `buttonClassName` | `string` | `\"\"` | CSS classes for the chat button |\r\n| `buttonStyle` | `React.CSSProperties` | `undefined` | Inline styles for the chat button |\r\n| `dialogClassName` | `string` | `\"\"` | CSS classes for the dialog |\r\n| `dialogStyle` | `React.CSSProperties` | `undefined` | Inline styles for the dialog |\r\n| `defaultOpen` | `boolean` | `false` | Whether dialog is open by default |\r\n| `onOpenChange` | `(open: boolean) => void` | `undefined` | Called when dialog open state changes |\r\n| `children` | `React.ReactNode` | - | Dialog content (usually ChatInterface) |\r\n\r\n### Custom Button Icon\r\n\r\n```tsx\r\n<ChatWidget\r\n  buttonIcon=\"/path/to/your/icon.png\"\r\n  title=\"Custom Support\"\r\n>\r\n  <ChatInterface {...chatProps} />\r\n</ChatWidget>\r\n```\r\n\r\n### Controlled State\r\n\r\n```tsx\r\nfunction ControlledWidget() {\r\n  const [isOpen, setIsOpen] = useState(false);\r\n  \r\n  return (\r\n    <ChatWidget\r\n      defaultOpen={isOpen}\r\n      onOpenChange={setIsOpen}\r\n      title=\"Support Chat\"\r\n    >\r\n      <ChatInterface {...chatProps} />\r\n    </ChatWidget>\r\n  );\r\n}\r\n```\r\n\r\n## Configuration\r\n\r\n### Chat Header\r\n\r\nThe ChatInterface component includes an optional header that displays the AI model name and personality. Control it with the `showHeader` prop:\r\n\r\n```tsx\r\n<ChatInterface\r\n  showHeader={true}  // Default: false\r\n  personalityName=\"AI Assistant\"\r\n  showUsageInfo={true}  // Shows total cost in header when available\r\n  // ... other props\r\n/>\r\n```\r\n\r\nThe header features:\r\n- Blue gradient background with white text\r\n- Model and personality name display\r\n- Optional usage cost display (when `showUsageInfo` is true)\r\n- Automatically hidden by default for cleaner integration\r\n\r\n### Required Props\r\n\r\n| Prop | Type | Description |\r\n|------|------|-------------|\r\n| `projectId` | `string` | Your Termix project identifier |\r\n| `aiConfigId` | `string` | AI configuration identifier |\r\n\r\n### Authentication & API\r\n\r\n| Prop | Type | Default | Description |\r\n|------|------|---------|-------------|\r\n| `authorization` | `string` | `undefined` | Authorization header value (e.g., 'Bearer token') |\r\n| `apiHeaders` | `Record<string, string>` | `{}` | Additional headers for API requests |\r\n| `restExecuteHeader` | `Record<string, string>` | `undefined` | Custom headers object for REST execution |\r\n\r\n### UI Configuration\r\n\r\n| Prop | Type | Default | Description |\r\n|------|------|---------|-------------|\r\n| `placeholder` | `string` | `\"Type your message...\"` | Input placeholder text |\r\n| `personalityName` | `string` | `undefined` | Optional override for personality name (overrides API config value) |\r\n\r\n### Feature Toggles\r\n\r\n| Prop | Type | Default | Description |\r\n|------|------|---------|-------------|\r\n| `enableStreamingMode` | `boolean` | `false` | Enable real-time streaming responses via SSE |\r\n| `showHeader` | `boolean` | `false` | Show/hide the chat header with title and model info |\r\n| `showUsageInfo` | `boolean` | `false` | Show token usage and cost information |\r\n| `showTimestamp` | `boolean` | `false` | Show message timestamps |\r\n| `maxKnowledgeResults` | `number` | `3` | Maximum knowledge base results to show |\r\n\r\n**Note:** The following features are now always enabled and cannot be disabled:\r\n- Knowledge base integration\r\n- Function calls (REST API and smart contracts)\r\n- ReAct pattern (reasoning and acting)\r\n- Knowledge references display\r\n\r\n### Styling Props\r\n\r\n| Prop | Type | Description |\r\n|------|------|-------------|\r\n| `className` | `string` | Additional CSS classes for the main container |\r\n| `style` | `React.CSSProperties` | Inline styles for the main container |\r\n| `messagesClassName` | `string` | CSS classes for the messages area |\r\n| `messagesStyle` | `React.CSSProperties` | Inline styles for the messages area |\r\n| `inputClassName` | `string` | CSS classes for the input field |\r\n| `inputStyle` | `React.CSSProperties` | Inline styles for the input field |\r\n\r\n### Event Callbacks\r\n\r\n| Prop | Type | Description |\r\n|------|------|-------------|\r\n| `onMessageSent` | `(message: Message) => void` | Called when user sends a message |\r\n| `onResponseReceived` | `(message: Message) => void` | Called when AI responds |\r\n| `onFunctionExecuted` | `(functionCall: FunctionCall, result: ExecutionResult) => void` | Called when a function is executed |\r\n| `onError` | `(error: any) => void` | Called when an error occurs |\r\n\r\n### Hooks\r\n\r\n| Prop | Type | Description |\r\n|------|------|-------------|\r\n| `beforeCallApiFunc` | `(request: ApiRequest) => Promise<ApiRequest>` | Optional async hook called before API executor makes a request. Allows modification of the request object. |\r\n\r\n## Streaming Mode\r\n\r\nThe ChatInterface supports real-time streaming responses using Server-Sent Events (SSE). When enabled, messages appear character by character as they are received from the server.\r\n\r\n### Basic Streaming Setup\r\n\r\n```tsx\r\n<ChatInterface\r\n  projectId=\"your-project-id\"\r\n  aiConfigId=\"your-ai-config-id\"\r\n  authorization=\"Bearer your-token\"\r\n  enableStreamingMode={true} // Enable streaming\r\n  // ... other props\r\n/>\r\n```\r\n\r\n### Streaming Endpoint Requirements\r\n\r\nWhen `enableStreamingMode={true}`, the component will use:\r\n- **Endpoint**: `POST /api/v1/ai/projects/{projectId}/chat/stream`\r\n- **Content-Type**: `application/json`\r\n- **Accept**: `text/event-stream`\r\n\r\nThe endpoint should return SSE events in this format:\r\n\r\n```\r\ndata: {\"type\":\"content\",\"data\":\"Hello\"}\r\ndata: {\"type\":\"content\",\"data\":\" there!\"}\r\ndata: {\"type\":\"done\",\"sessionId\":\"session-id-here\"}\r\n```\r\n\r\n### Stream Event Types\r\n\r\n- `{\"type\":\"content\",\"data\":\"...\"}` - Partial message content\r\n- `{\"type\":\"done\",\"sessionId\":\"...\"}` - Stream completion with session ID\r\n\r\n### Streaming vs Regular Mode\r\n\r\n| Feature | Regular Mode | Streaming Mode |\r\n|---------|-------------|----------------|\r\n| Endpoint | `/chat` | `/chat/stream` |\r\n| Response | Complete message | Character-by-character |\r\n| Usage Info | Available | Limited (cost not tracked) |\r\n| Visual Feedback | Loading spinner | Real-time typing |\r\n| Network | Single request | SSE connection |\r\n\r\n## Advanced Usage\r\n\r\n### Custom Headers for REST API Calls\r\n\r\n```tsx\r\n// Pass custom headers as an object\r\nconst customHeaders = { \"X-API-Key\": \"your-key\", \"X-Custom\": \"value\" };\r\n\r\n<ChatInterface\r\n  projectId=\"your-project-id\"\r\n  aiConfigId=\"your-ai-config-id\"\r\n  authorization=\"Bearer your-token\"\r\n  restExecuteHeader={customHeaders} // Pass object directly, not as string\r\n  // ... other props\r\n/>\r\n```\r\n\r\n### beforeCallApiFunc Hook\r\n\r\nThe `beforeCallApiFunc` hook allows you to intercept and modify API requests before they are sent. This is useful for:\r\n- Adding dynamic headers (e.g., HMAC signatures, timestamps)\r\n- Modifying request parameters\r\n- Logging or debugging API calls\r\n- Adding authentication tokens\r\n\r\n```tsx\r\nimport { ChatInterface, hmacSign } from '@termix-it/react-tool';\r\nimport type { ApiRequest } from '@termix-it/react-tool';\r\n\r\nfunction App() {\r\n  const handleBeforeApiCall = async (request: ApiRequest): Promise<ApiRequest> => {\r\n    // Example: Add HMAC signature header\r\n    const timestamp = Date.now().toString();\r\n    const message = `${request.method}:${request.url}:${timestamp}`;\r\n    const signature = await hmacSign('your-secret-key', message);\r\n\r\n    return {\r\n      ...request,\r\n      headers: {\r\n        ...request.headers,\r\n        'X-Timestamp': timestamp,\r\n        'X-Signature': signature,\r\n        'X-Custom-Header': 'custom-value',\r\n      },\r\n    };\r\n  };\r\n\r\n  return (\r\n    <ChatInterface\r\n      projectId=\"your-project-id\"\r\n      aiConfigId=\"your-ai-config-id\"\r\n      beforeCallApiFunc={handleBeforeApiCall}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n#### ApiRequest Interface\r\n\r\n```typescript\r\ninterface ApiRequest {\r\n  method: string;           // HTTP method (GET, POST, PUT, etc.)\r\n  url: string;              // Full request URL\r\n  headers: Record<string, string>;  // Request headers\r\n  params?: Record<string, any>;     // Query parameters (for GET requests)\r\n  data?: any;               // Request body (for POST/PUT/PATCH requests)\r\n}\r\n```\r\n\r\n#### Common Use Cases\r\n\r\n**1. Adding HMAC Signature:**\r\n```tsx\r\nconst beforeCallApiFunc = async (request: ApiRequest) => {\r\n  const signature = await hmacSign(SECRET_KEY, JSON.stringify(request.data));\r\n  return {\r\n    ...request,\r\n    headers: {\r\n      ...request.headers,\r\n      'X-Signature': signature,\r\n    },\r\n  };\r\n};\r\n```\r\n\r\n**2. Adding Dynamic Authorization:**\r\n```tsx\r\nconst beforeCallApiFunc = async (request: ApiRequest) => {\r\n  const token = await getRefreshedToken(); // Your token refresh logic\r\n  return {\r\n    ...request,\r\n    headers: {\r\n      ...request.headers,\r\n      'Authorization': `Bearer ${token}`,\r\n    },\r\n  };\r\n};\r\n```\r\n\r\n**3. Logging Requests:**\r\n```tsx\r\nconst beforeCallApiFunc = async (request: ApiRequest) => {\r\n  console.log('API Request:', {\r\n    method: request.method,\r\n    url: request.url,\r\n    headers: request.headers,\r\n  });\r\n  return request; // Return unchanged\r\n};\r\n```\r\n\r\n### Function Call Handling\r\n\r\n```tsx\r\n<ChatInterface\r\n  // ... required props\r\n  onFunctionExecuted={(functionCall, result) => {\r\n    console.log('Function executed:', functionCall.name);\r\n    \r\n    // Handle different function types\r\n    if (functionCall.metadata?.type === 'contract' && result.success) {\r\n      if (result.data?.transactionHash) {\r\n        console.log('Transaction hash:', result.data.transactionHash);\r\n        // Show transaction confirmation UI\r\n      }\r\n    }\r\n    \r\n    if (functionCall.metadata?.type === 'api') {\r\n      console.log('API call result:', result.data);\r\n      // Handle API response\r\n    }\r\n  }}\r\n  onError={(error) => {\r\n    console.error('Chat error:', error);\r\n    // Handle errors appropriately\r\n  }}\r\n/>\r\n```\r\n\r\n### Complete Feature Example\r\n\r\n```tsx\r\nexport default function AdvancedChat() {\r\n  const [authorization, setAuthorization] = useState('Bearer your-token');\r\n  const customHeaders = { \"X-API-Key\": \"your-key\", \"X-Custom\": \"value\" };\r\n\r\n  return (\r\n    <ChatInterface\r\n      projectId=\"689b0b0a67504c373d86bed6\"\r\n      aiConfigId=\"689b0ce8ed28bfae5038fe82\"\r\n      authorization={authorization}\r\n      restExecuteHeader={customHeaders}\r\n      \r\n      // Features configuration\r\n      enableStreamingMode={true} // Enable real-time streaming\r\n      showHeader={true} // Show chat header with model info\r\n      showUsageInfo={true} // Optional: show token usage\r\n      showTimestamp={true} // Optional: show timestamps\r\n      maxKnowledgeResults={5} // Max knowledge base results to show\r\n      \r\n      // Customization\r\n      placeholder=\"Ask me anything...\"\r\n      personalityName=\"Advanced Assistant\" // Optional: override API config personality name\r\n      \r\n      // Callbacks\r\n      onMessageSent={(message) => console.log('Sent:', message)}\r\n      onResponseReceived={(message) => console.log('Received:', message)}\r\n      onFunctionExecuted={(call, result) => console.log('Executed:', call, result)}\r\n      onError={(error) => console.error('Error:', error)}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n## Important Changes in Latest Version\r\n\r\n### Automatic Feature Enablement\r\nThe following features are now **always enabled** and cannot be disabled (they are hardcoded as true in the component):\r\n- **Knowledge Base Integration**: Automatically searches and references knowledge base\r\n- **Function Calls**: AI can execute REST APIs and smart contracts\r\n- **ReAct Pattern**: Reasoning and acting pattern for complex tasks\r\n- **Knowledge References**: Always displays knowledge base references when available\r\n\r\nThese previously configurable props have been removed:\r\n- `enableKnowledgeBase` (always true)\r\n- `enableFunctionCalls` (always true)\r\n- `enableReActPattern` (always true)\r\n- `showKnowledgeReferences` (always true)\r\n\r\n### Welcome Message and Personality from API\r\nThe component now automatically fetches configuration from the AI config API:\r\n1. **Welcome Message**: Uses greeting from API config or generates default\r\n2. **Personality Name**: Uses name from API config, can be overridden with `personalityName` prop\r\n3. **Re-fetching**: Automatically re-fetches when `projectId` or `aiConfigId` changes\r\n\r\nDefault fallback: `\"Hello! I'm [personality name]. How can I help you today?\"`\r\n\r\n### Default Values\r\n- `showUsageInfo`: Defaults to `false`\r\n- `showTimestamp`: Defaults to `false`\r\n- `showHeader`: Defaults to `false`\r\n- `enableStreamingMode`: Defaults to `false`\r\n\r\n## Function Calling\r\n\r\nThe ChatInterface automatically handles different types of function calls:\r\n\r\n### API Calls\r\n- REST API endpoints are automatically executed\r\n- Custom headers can be provided via `restExecuteHeader`\r\n- Supports GET, POST, PUT, DELETE methods\r\n- Returns formatted response data\r\n\r\n### Smart Contract Calls\r\n- Automatically detects contract function calls\r\n- Integrates with MetaMask and web3 providers\r\n- Supports both read and write operations\r\n- Shows transaction hashes and confirmations\r\n\r\n### Built-in Functions\r\n- Knowledge base search\r\n- Data analysis and processing\r\n- File operations (when configured)\r\n\r\n## Styling\r\n\r\nThe styles are now **automatically bundled** with the components - no separate CSS import needed. All styles are scoped with `.termix-` prefix to prevent conflicts with your application's styles.\r\n\r\n### Using Inline Styles\r\n\r\nBoth `ChatInterface` and `ChatWidget` support inline styles via the `style` prop:\r\n\r\n```tsx\r\n// ChatInterface with custom styles\r\n<ChatInterface\r\n  projectId=\"your-project-id\"\r\n  aiConfigId=\"your-ai-config-id\"\r\n  style={{ \r\n    height: '600px', \r\n    borderRadius: '12px',\r\n    boxShadow: '0 4px 6px rgba(0,0,0,0.1)'\r\n  }}\r\n  messagesStyle={{ \r\n    backgroundColor: '#f9f9f9' \r\n  }}\r\n  inputStyle={{ \r\n    fontSize: '16px',\r\n    padding: '12px 16px'\r\n  }}\r\n/>\r\n\r\n// ChatWidget with custom button and dialog styles\r\n<ChatWidget\r\n  style={{ position: 'fixed', bottom: '20px', right: '20px' }}\r\n  buttonStyle={{ \r\n    width: '60px', \r\n    height: '60px',\r\n    backgroundColor: '#6366f1'\r\n  }}\r\n  dialogStyle={{ \r\n    width: '400px',\r\n    height: '500px',\r\n    borderRadius: '16px'\r\n  }}\r\n>\r\n  <ChatInterface {...props} />\r\n</ChatWidget>\r\n```\r\n\r\n### Custom Theming\r\n\r\nYou can override the default colors using CSS custom properties:\r\n\r\n```css\r\n:root {\r\n  --primary: 220 100% 50%;\r\n  --primary-foreground: 0 0% 100%;\r\n  --secondary: 210 40% 96%;\r\n  --secondary-foreground: 222.2 84% 4.9%;\r\n  --accent: 210 40% 96%;\r\n  --accent-foreground: 222.2 84% 4.9%;\r\n  --destructive: 0 84.2% 60.2%;\r\n  --destructive-foreground: 210 40% 98%;\r\n  --border: 214.3 31.8% 91.4%;\r\n  --input: 214.3 31.8% 91.4%;\r\n  --ring: 222.2 84% 4.9%;\r\n}\r\n```\r\n\r\n## TypeScript Support\r\n\r\nFull TypeScript support with exported types:\r\n\r\n```tsx\r\nimport type {\r\n  Message,\r\n  ToolCall,\r\n  KnowledgeContext,\r\n  FunctionCall,\r\n  ExecutionResult,\r\n  ChatInterfaceProps,\r\n  APIConfig,\r\n  ApiRequest,\r\n  BeforeCallApiFunc,\r\n  HmacAlgorithm\r\n} from '@termix-it/react-tool';\r\n\r\n// Example usage\r\nconst handleFunctionCall = (\r\n  functionCall: FunctionCall,\r\n  result: ExecutionResult\r\n) => {\r\n  if (result.success && result.type === 'contract') {\r\n    // Handle successful contract execution\r\n  }\r\n};\r\n\r\n// Example: beforeCallApiFunc hook with proper types\r\nconst beforeApiCall: BeforeCallApiFunc = async (request: ApiRequest) => {\r\n  return {\r\n    ...request,\r\n    headers: { ...request.headers, 'X-Custom': 'value' }\r\n  };\r\n};\r\n```\r\n\r\n### Type Definitions\r\n\r\n```tsx\r\ninterface Message {\r\n  id: string;\r\n  role: 'user' | 'assistant' | 'system';\r\n  content: string;\r\n  timestamp: Date;\r\n  usage?: {\r\n    promptTokens: number;\r\n    completionTokens: number;\r\n    totalTokens: number;\r\n    cost: number;\r\n  };\r\n  knowledgeContext?: KnowledgeContext[];\r\n  toolCalls?: ToolCall[];\r\n}\r\n\r\ninterface FunctionCall {\r\n  name: string;\r\n  parameters: Record<string, any>;\r\n  metadata?: {\r\n    type?: 'api' | 'contract' | 'unknown';\r\n    description?: string;\r\n    method?: string;\r\n    path?: string;\r\n    contractName?: string;\r\n    contractAddress?: string;\r\n    chainName?: string;\r\n  };\r\n}\r\n\r\ninterface ExecutionResult {\r\n  success: boolean;\r\n  type: 'api' | 'contract' | 'error';\r\n  data?: any;\r\n  error?: string;\r\n  metadata?: Record<string, any>;\r\n}\r\n```\r\n\r\n## Exported Components and Utilities\r\n\r\n```tsx\r\n// Main components\r\nexport { ChatInterface } from './components/ChatInterface';\r\nexport { ChatWidget } from './components/ChatWidget';\r\nexport { FunctionCallDisplay } from './components/FunctionCallDisplay';\r\n\r\n// Services\r\nexport { APIService } from './services/api';\r\nexport { FunctionCallExecutor } from './services/functionCallExecutor';\r\nexport { ToolCallProcessor } from './services/toolCallProcessor';\r\n\r\n// Utilities\r\nexport { cn, extractFunctionCalls, hmacSign, hmacVerify, hmacSignBase64 } from './lib/utils';\r\n\r\n// Hooks\r\nexport { useToast } from './hooks/useToast';\r\n```\r\n\r\n## HMAC Utilities\r\n\r\nThe SDK provides built-in HMAC (Hash-based Message Authentication Code) utilities for secure API request signing. These functions use the Web Crypto API and work in all modern browsers.\r\n\r\n### Importing HMAC Functions\r\n\r\n```tsx\r\nimport { hmacSign, hmacVerify, hmacSignBase64 } from '@termix-it/react-tool';\r\nimport type { HmacAlgorithm } from '@termix-it/react-tool';\r\n```\r\n\r\n### Available Functions\r\n\r\n#### `hmacSign(secret, message, algorithm?)`\r\n\r\nGenerate an HMAC signature and return as hex string.\r\n\r\n```typescript\r\nconst signature = await hmacSign('your-secret-key', 'message to sign');\r\n// Returns: \"a1b2c3d4e5...\" (hex string)\r\n\r\n// With custom algorithm\r\nconst sha512Sig = await hmacSign('secret', 'message', 'SHA-512');\r\n```\r\n\r\n**Parameters:**\r\n| Parameter | Type | Default | Description |\r\n|-----------|------|---------|-------------|\r\n| `secret` | `string` | - | The secret key for HMAC |\r\n| `message` | `string` | - | The message to sign |\r\n| `algorithm` | `HmacAlgorithm` | `'SHA-256'` | Hash algorithm (`'SHA-256'`, `'SHA-384'`, `'SHA-512'`) |\r\n\r\n**Returns:** `Promise<string>` - Hex-encoded HMAC signature\r\n\r\n#### `hmacSignBase64(secret, message, algorithm?)`\r\n\r\nGenerate an HMAC signature and return as Base64 string.\r\n\r\n```typescript\r\nconst signature = await hmacSignBase64('your-secret-key', 'message to sign');\r\n// Returns: \"oWLDMtRT...\" (base64 string)\r\n```\r\n\r\n**Parameters:** Same as `hmacSign`\r\n\r\n**Returns:** `Promise<string>` - Base64-encoded HMAC signature\r\n\r\n#### `hmacVerify(secret, message, signature, algorithm?)`\r\n\r\nVerify an HMAC signature using timing-safe comparison.\r\n\r\n```typescript\r\nconst isValid = await hmacVerify('your-secret-key', 'message', 'a1b2c3...');\r\n// Returns: true or false\r\n```\r\n\r\n**Parameters:**\r\n| Parameter | Type | Default | Description |\r\n|-----------|------|---------|-------------|\r\n| `secret` | `string` | - | The secret key for HMAC |\r\n| `message` | `string` | - | The original message |\r\n| `signature` | `string` | - | The HMAC signature to verify (hex string) |\r\n| `algorithm` | `HmacAlgorithm` | `'SHA-256'` | Hash algorithm |\r\n\r\n**Returns:** `Promise<boolean>` - `true` if signature is valid\r\n\r\n### Usage Examples\r\n\r\n#### Example 1: API Request Signing\r\n\r\n```tsx\r\nimport { ChatInterface, hmacSign } from '@termix-it/react-tool';\r\nimport type { ApiRequest } from '@termix-it/react-tool';\r\n\r\nconst API_SECRET = 'your-api-secret';\r\n\r\nfunction App() {\r\n  const signRequest = async (request: ApiRequest): Promise<ApiRequest> => {\r\n    const timestamp = Date.now().toString();\r\n    const payload = `${request.method}:${request.url}:${timestamp}`;\r\n    const signature = await hmacSign(API_SECRET, payload);\r\n\r\n    return {\r\n      ...request,\r\n      headers: {\r\n        ...request.headers,\r\n        'X-Timestamp': timestamp,\r\n        'X-Signature': signature,\r\n      },\r\n    };\r\n  };\r\n\r\n  return (\r\n    <ChatInterface\r\n      projectId=\"your-project-id\"\r\n      aiConfigId=\"your-ai-config-id\"\r\n      beforeCallApiFunc={signRequest}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n#### Example 2: Webhook Signature Verification\r\n\r\n```tsx\r\nimport { hmacVerify } from '@termix-it/react-tool';\r\n\r\nasync function verifyWebhook(payload: string, signature: string): Promise<boolean> {\r\n  const WEBHOOK_SECRET = 'your-webhook-secret';\r\n  return await hmacVerify(WEBHOOK_SECRET, payload, signature);\r\n}\r\n\r\n// Usage\r\nconst isValid = await verifyWebhook(requestBody, req.headers['x-signature']);\r\nif (!isValid) {\r\n  throw new Error('Invalid webhook signature');\r\n}\r\n```\r\n\r\n#### Example 3: Using Different Algorithms\r\n\r\n```tsx\r\nimport { hmacSign, hmacSignBase64 } from '@termix-it/react-tool';\r\n\r\n// SHA-256 (default)\r\nconst sha256Hex = await hmacSign('secret', 'message');\r\nconst sha256Base64 = await hmacSignBase64('secret', 'message');\r\n\r\n// SHA-384\r\nconst sha384Hex = await hmacSign('secret', 'message', 'SHA-384');\r\n\r\n// SHA-512\r\nconst sha512Hex = await hmacSign('secret', 'message', 'SHA-512');\r\n```\r\n\r\n### Security Notes\r\n\r\n- **Timing-Safe Comparison:** The `hmacVerify` function uses timing-safe string comparison to prevent timing attacks.\r\n- **Web Crypto API:** All cryptographic operations use the native Web Crypto API, which is hardware-accelerated on most platforms.\r\n- **Secret Management:** Never expose your secret keys in client-side code. Use environment variables or secure key management solutions.\r\n- **HTTPS:** Always use HTTPS when transmitting HMAC signatures to prevent man-in-the-middle attacks.\r\n\r\n## API Integration\r\n\r\n### Default API Configuration\r\n\r\nThe SDK now automatically connects to the Termix API:\r\n- **Production**: `https://dashboard.termix.ai`\r\n- **Local Development**: `http://127.0.0.1:3001` (when using `npm run dev:local`)\r\n\r\n```tsx\r\n<ChatInterface\r\n  projectId=\"your-project-id\"\r\n  aiConfigId=\"your-ai-config-id\"\r\n  authorization=\"Bearer your-token\"\r\n  enableStreamingMode={true}\r\n  // ... other props\r\n/>\r\n```\r\n\r\n### Development\r\n\r\nFor local development with a local backend server:\r\n\r\n1. **Install the SDK in your project:**\r\n   ```bash\r\n   npm install @termix-it/react-tool\r\n   ```\r\n\r\n2. **For local backend development:**\r\n   \r\n   If you need to connect to a local backend server running at `http://127.0.0.1:3001`, you have two options:\r\n   \r\n   **Option 1: Build the SDK locally with local configuration**\r\n   ```bash\r\n   # In the react-tool directory\r\n   npm run dev:local\r\n   \r\n   # Then link it to your project\r\n   npm link\r\n   \r\n   # In your project directory\r\n   npm link @termix-it/react-tool\r\n   ```\r\n   \r\n   **Option 2: Use environment variable (if your build system supports it)**\r\n   ```bash\r\n   # Set the environment variable before building\r\n   REACT_APP_API_LOCAL=true npm run build\r\n   ```\r\n\r\nThe SDK will automatically connect to these Termix API endpoints:\r\n\r\n### Chat Endpoints\r\n- `POST /api/v1/ai/projects/{projectId}/chat` - Regular chat messages\r\n- `POST /api/v1/ai/projects/{projectId}/chat/stream` - Streaming chat messages (SSE)\r\n- `GET /api/v1/ai/projects/{projectId}/configs/{configId}` - Get AI config (including greeting message)\r\n\r\n### Function Execution\r\n- REST API endpoints for function calls (auto-detected)\r\n- Smart contract execution via web3 providers\r\n\r\n### Knowledge Base\r\n- `GET /api/v1/projects/{projectId}/knowledge-base/search` - Search knowledge base\r\n- `GET /api/v1/knowledge/{projectId}` - Get all knowledge\r\n\r\n### MCP Tools\r\n- `GET /api/v1/mcp-tools/{projectId}/parsed-endpoints` - Get parsed API endpoints\r\n- `GET /api/v1/mcp-tools/{projectId}/parsed-contracts` - Get parsed smart contracts\r\n\r\n### Example Proxy Implementation\r\n\r\nFor Next.js applications, you can create API routes to proxy requests:\r\n\r\n```typescript\r\n// pages/api/proxy/v1/ai/projects/[projectId]/chat/stream/route.ts\r\nimport { NextRequest } from 'next/server';\r\n\r\nexport async function POST(request: NextRequest) {\r\n  const { projectId } = await request.params;\r\n  const body = await request.json();\r\n  const authorization = request.headers.get('authorization');\r\n\r\n  const response = await fetch(`https://api.termix.it/api/v1/ai/projects/${projectId}/chat/stream`, {\r\n    method: 'POST',\r\n    headers: {\r\n      'Content-Type': 'application/json',\r\n      'Authorization': authorization!,\r\n      'Accept': 'text/event-stream',\r\n    },\r\n    body: JSON.stringify(body),\r\n  });\r\n\r\n  return new Response(response.body, {\r\n    headers: {\r\n      'Content-Type': 'text/event-stream',\r\n      'Cache-Control': 'no-cache',\r\n      'Connection': 'keep-alive',\r\n    },\r\n  });\r\n}\r\n```\r\n\r\n## Smart Contract Integration\r\n\r\nThe library automatically detects smart contract calls and integrates with:\r\n\r\n- MetaMask and other web3 wallets\r\n- Ethereum and EVM-compatible chains\r\n- Contract read/write operations\r\n- Transaction confirmation handling\r\n\r\nMake sure users have a web3 wallet connected when contract execution is enabled.\r\n\r\n## Troubleshooting\r\n\r\n### Styles Not Loading Correctly\r\n\r\nYou must manually import the styles. If you experience issues:\r\n\r\n1. **Check for CSS conflicts**: The library's styles are scoped to `.termix-container` to avoid conflicts, but ensure your global styles don't override them.\r\n\r\n2. **Tailwind CSS conflicts**: If your project uses Tailwind CSS, the scoped styles should prevent conflicts. The components also use inline styles for critical styling.\r\n\r\n3. **Header visibility**: The chat header uses inline styles to ensure proper display:\r\n   - Blue gradient background: `linear-gradient(to right, #3b82f6, #2563eb)`\r\n   - White text color is explicitly set\r\n\r\n### Input Alignment Issues\r\n\r\nThe input area automatically aligns the text input and send button vertically. If you experience alignment issues, check that parent containers don't override the flex layout.\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## Contributing\r\n\r\nPlease read our contributing guidelines and submit pull requests to help improve this library.\r\n\r\n## Development\r\n\r\n### Running the Test App\r\n\r\nA test application with **interactive control panel** is included for development and testing:\r\n\r\n```bash\r\n# From the react-tool directory\r\nnpm run dev:example\r\n# or\r\npnpm dev:example\r\n```\r\n\r\nThis will start a Vite dev server at http://localhost:3002 with hot reload.\r\n\r\n**Features:**\r\n- ✅ **Control Panel** - Real-time property adjustment for all component props\r\n- ✅ **Message Test Cases** - Pre-built conversation scenarios for fast debugging\r\n- ✅ **Live Preview** - Test both ChatInterface and ChatWidget components\r\n- ✅ **Hot Reload** - Changes to source code are reflected immediately\r\n- ✅ **No Code Editing** - Configure everything through the UI\r\n\r\nThe control panel allows you to:\r\n- **Load test conversations** - 6 pre-built scenarios (greetings, knowledge context, function calls, etc.)\r\n- **Copy messages** - Export current conversation as JSON for creating new test cases\r\n- **Clear messages** - Reset to empty state\r\n- Switch between ChatInterface and ChatWidget views\r\n- Update API credentials (Project ID, Config ID, Authorization)\r\n- Configure ChatWidget-specific options (title, button icon, default open state)\r\n- Customize ChatInterface text (placeholder, button text, model name)\r\n- Toggle features (streaming, header, usage info, timestamps)\r\n- See changes applied instantly with context-sensitive controls\r\n\r\nSee `example/README.md` for more details.\r\n\r\n### Building the Library\r\n\r\n```bash\r\n# Build for production\r\nnpm run build\r\n\r\n# Build for development (with dev API URL)\r\nnpm run build:dev\r\n\r\n# Watch mode - rebuild on changes\r\nnpm run dev:prod\r\nnpm run dev:local\r\n```\r\n\r\n## Support\r\n\r\nFor issues and questions, please use the GitHub issue tracker.\r\n\r\n## Publishing\r\n\r\n```bash\r\n# Publish the package\r\nnpm publish --access public\r\n\r\n# Update version\r\nnpm version patch  # 1.0.0 → 1.0.1\r\nnpm version minor  # 1.0.0 → 1.1.0\r\nnpm version major  # 1.0.0 → 2.0.0\r\n```\r\n","readmeFilename":"README.md"}