{"_id":"sgiant-ai-widget","_rev":"33-20d1312f88d28a0d0a6ae392e2cf3b49","name":"sgiant-ai-widget","dist-tags":{"latest":"1.18.0"},"versions":{"1.0.0":{"name":"sgiant-ai-widget","version":"1.0.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.0.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"18c879f4bf1be8ac815729054861aad343b630b4","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.0.0.tgz","fileCount":93,"integrity":"sha512-ERCPUoEPK07yd72uDQhshPUO85xhb4K8PjthVFPUrNu2pTAq82MSM7tnasiPQ5aIokaLni9Y22J+7JzQOUaERA==","signatures":[{"sig":"MEUCIQDsAfyBc+1gMyMlTee6eUwGlRTVHwUrsTWAExpRltNnzwIgGwlLb/YMI3nWRrXOmGE49zHrCdNXnlmGtDO5Cz2wY3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1709107},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"a466f3e3ee8f08e508075bae9190ce013641a1e0","scripts":{"audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.0.0_1788425085969_0.5195528345307854","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"sgiant-ai-widget","version":"1.1.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.1.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"0ce016fde1fc2e30a71623c53a8c73a5b2342370","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.1.0.tgz","fileCount":93,"integrity":"sha512-17T105SD/G3kHVIfaHbGClALCiunmDu9KIqKmBrT4U6ikEQuu5h7lc73WYcqrt3+oM1UkXCNW3SGFmRT8nS88Q==","signatures":[{"sig":"MEUCIGQAA2kUK4Ov6cC8IZb7pMoDjiPiEmj6qEbYUNf+lEFyAiEAmBqRzGu11L2XSgf/h4zL5MrSmANfQ0wiGbQYrd49dio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1725599},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"d59e02fc39aab2d0c3b3286a1d1c40eb704670a8","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.1.0_1788429101987_0.31968350217997665","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"sgiant-ai-widget","version":"1.2.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.2.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"5bf95638b1642636aeaa82da2d8d30b53aa9c4f7","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.2.0.tgz","fileCount":99,"integrity":"sha512-vsOziaTBAPveV9UA/TwAZu0qflxXqpRepVCHkYqolecLgBtCKhp4QLT1SQjRaMqJkac3rf5gJe8b/v1412IoNA==","signatures":[{"sig":"MEYCIQD3O7VDhwHxk1hcZB85fj9f/1MKvTAqlxUiEoWjnehB6gIhAJwYfAuYdEoD+lDrIQQGooaDOySnHLmw6UjXRWhrczWb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1783127},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"7be9d82e126a954e355e2e1e7a0c24182473ab11","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.2.0_1788435584224_0.3471093309129496","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"sgiant-ai-widget","version":"1.3.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.3.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"8967a25ec51b966813f250916f3710cf85a316f4","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.3.0.tgz","fileCount":103,"integrity":"sha512-QpZbWes5X38jTC1w45BuvvANkvoHOQIR56yMRzTqGUAcdqIIX170CWcmNrzXN/PmpZFZXhIIa7qE18f/DJw/Lw==","signatures":[{"sig":"MEYCIQCkGE4CIYI1TQr0+nvJpBOAG+jpG88hGLeGceLkqystUwIhAPkfY+I4hyB4YBG2s3YiJz54fTBrPO1hZF1xeSoZOltT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1879405},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"8d6fb84483a4e0ae22706ae0749d599bfdb4691b","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.3.0_1788481692374_0.15978122732876598","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"sgiant-ai-widget","version":"1.4.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.4.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"3cffc313a4d5ca6c7984fb2c776e3963ae144dfa","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.4.0.tgz","fileCount":107,"integrity":"sha512-Uy8bIZBLYebLMwTYe4gLqjoBCPyKJ4HQc6dG/pXupazqxelXXB3Ov4qjS/cCBAEuscwCoqRolZCARypiMItRXQ==","signatures":[{"sig":"MEYCIQCIssbLHuPR39iYnQt76nSm5q/CP/i+WDnERKEL2WYx2QIhAOrDo2UdFz2Kn3gMQAqDkJsAXXZ5bOlfKZ9Ssargv3co","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892178},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"8d6fb84483a4e0ae22706ae0749d599bfdb4691b","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.4.0_1788514729800_0.026735879158839237","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"sgiant-ai-widget","version":"1.5.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.5.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"95619709fbe88fa8940ae397aa48c10ca8cf64b1","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.5.0.tgz","fileCount":107,"integrity":"sha512-etEiHeF2iXj/iKFxSpthsgAH/RcI24ief6ARRQCUUY6v/6PzvnSIXf4w7q3sUbgYDcYNShwTXmbW9NTcYCdRWQ==","signatures":[{"sig":"MEUCIFUUOifq3LsZLjBxbDUdFJxrVqAHCGvMtrTE8BbK8gzdAiEAkrVIXH4cgx4TVx7Pvvhy4w6vP6A8GF+PDXKKJJzgzI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1894808},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"327a2d2a9d5f8d63143682ddabc3c63bce458fc4","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.5.0_1788522042099_0.35084059494781084","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"sgiant-ai-widget","version":"1.6.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.6.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"04e808729cdb0936e68a29bc0533da3d1634bb32","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.6.0.tgz","fileCount":111,"integrity":"sha512-mQ/Cdk90IIRG2UGtncRabW+qhTLIN0zmq8fG1FXiTW4fV2I3DzAX5oBUUcTlIiBiGawlxO0tOBDB0DwkqMNr7w==","signatures":[{"sig":"MEUCIFjg84G9Fie79HirhEEL3cadt5+ucFPHRNlQgIQ/69WdAiEAlsO/NjGtDo4vcmGSwb7aK2px8aIbuvnA4bGHaLYYKbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1901987},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"9375a80b7cf7e64cb84c89657b3d8b66f86f5d09","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.6.0_1788525830197_0.7886957072266445","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"sgiant-ai-widget","version":"1.6.1","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.6.1","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"5417f0fed99fd6f8bcbd0a6dbdd8318c82607f91","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.6.1.tgz","fileCount":111,"integrity":"sha512-NbvEg7P0lgHzbkQGb6sFjQZGpT+Htt/P7rkVZNAxra+DU6zKE5LDdBeS3j2Nwv4lGGBwPAcCirNpDjT7+8EbnQ==","signatures":[{"sig":"MEUCIQDmaGwS72BHnosmJy/z7UgvXJFzYPRIZjPUD29Wnjo/6wIgO5IPJbCUFK3XGuwJkL1zzP3dXyQjoLF19fDntZS+afk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904527},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"bd1525ac6d9888bb53d2656e08d8e8d80fdd451c","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.6.1_1788531758036_0.9611243267515555","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"sgiant-ai-widget","version":"1.7.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.7.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"8d787107c8602d84867d35b61f638a8cb8cc395a","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.7.0.tgz","fileCount":111,"integrity":"sha512-02OutWWQ0g4ALSTw0ULk34z/auXF45ZYe7EtdJYPsLVRUS4k1z11BQRlhEE1vJAeGZmExCOInLiSsikvWcAdOA==","signatures":[{"sig":"MEQCIAsPfEKluNy2o2sVACYFXZyqMuMFvfm/C6oYXFIAa/qsAiBwGWvJAb3+jl79MmpEVn0SJryHA/bZ1jq8JB2sZGOhGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1906871},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"328eb3cee4e0aa98a459092e8ee73b2846895bf5","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.7.0_1788532082642_0.2624374728939771","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"sgiant-ai-widget","version":"1.8.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.8.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"124664f0f78caef962508d00a9c343e4855b94c3","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.8.0.tgz","fileCount":111,"integrity":"sha512-ecUkbVglXnCJKXcUYr4hTv6mXtXeBg80UVmQ0FMn9G0zLVTqxw55qzdHdv2zQ6GdhXjk/zjPLnivgmklMgQp5w==","signatures":[{"sig":"MEUCIB4KgxQn5Lo7kUOmcd+hzpq73SsMVmg5bqAggSOk+lylAiEA2/1JxFOieP3RfQOjTGaGUQ2LE8KeEU/XN0/EAv/hGtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1912905},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"0a01914fd6ef111fe9d270ea2418aad045c29e47","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.8.0_1788564811418_0.8866246401326459","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"sgiant-ai-widget","version":"1.8.1","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.8.1","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"40d723c7f2d04975ad131e6b165d246faf517222","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.8.1.tgz","fileCount":119,"integrity":"sha512-ZHhOZkR9zq5raN2B5i7XbS6hYYG0QyqDq3/1lqH2QyaXIexJ0HXg0KunY/DBhqaOQYRuQFz6hxTB19wx5LE8Wg==","signatures":[{"sig":"MEYCIQDrN2S5jBeVc2ps1RDA49cogMl8Yow/PWADB9m65/jlBwIhAP3Sw1rH91cstqMuid0murYYkjua8JL6js4uSgJyxk6e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1944894},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"6f2c6c2dac1b3121fbe19faeb255c9ffc2d755c1","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.8.1_1788647287022_0.19437034888907068","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"sgiant-ai-widget","version":"1.9.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.9.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"2db1c59403c693c095803b9e08813246477123f1","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.9.0.tgz","fileCount":123,"integrity":"sha512-mIBserOFk0K6NmUJB6MMVsLSoTBNyv01z8cHd4m14+xy/oXGYyAPW+yt7paPiKenriOM+7tzlrWGJz+/TXYz0w==","signatures":[{"sig":"MEQCIFweW7HUCqPTLBvU/lFnG7EC4U7D8cqkM5r/yMbT/IlrAiA9iU3Pm/B2qKqqZnGfQoHfKt+6SN+p2q/HaU1mOlOPxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1974380},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"7db7342c98e0273d04bf9d585752318b0a3592c9","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.9.0_1788776692548_0.7471683287184796","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"sgiant-ai-widget","version":"1.10.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.10.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"febbe567e4752c741a0d8e25d7690ee16ca5fafa","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.10.0.tgz","fileCount":123,"integrity":"sha512-+vLRC0Y4H5zzzDwRExB2DsGWId+/d5tAWqVAIQLlz/NDrlcpBsgmtKPzFYOJLyL64j/7I1ab6KT7ffhtOMdh+Q==","signatures":[{"sig":"MEUCIFWXbrWBns/TIgNDjAiKMtgV2FK2rZ0haXVXdaGgSlv2AiEAyQaUkpcnefxfHFYezAKGrAoUve+iwWf7tMf3R1kfVow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1988458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"3660d3603f95a95381b4c4a271731d8a63f4797e","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.10.0_1788785301343_0.9452807267338104","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"sgiant-ai-widget","version":"1.11.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.11.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"538ae6914abbc0a61c0f7a9d0281ccecc33aec6d","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.11.0.tgz","fileCount":123,"integrity":"sha512-6tWDppF/R7HtVgHXCklevL3288gfLQ1lLLjMPHT9IchW2m8vd9+DFGCN7dW/OFNyRxx8SSrCqCjuFXI/cmeLHQ==","signatures":[{"sig":"MEUCICsQ7jF2Idtb0LUvTQIve19UrOP50WYPK6YcDaqEfkuxAiEAozLjXTi+KPjbrWDTdt+SutzbUV0Mwem/gZH9sKxDiHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1990262},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"17ce4ad95b3d32f5ce152fe4a0493f25c3021842","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.11.0_1788817682536_0.5322161648891264","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"sgiant-ai-widget","version":"1.11.1","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.11.1","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"98f14cbbb892908535066c0c14f6bd76ee2c6fdd","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.11.1.tgz","fileCount":123,"integrity":"sha512-7wWFpvSujIr2JfMAnrqUOpUt0J3BryWVV7a7AXQrRMPYYhBNZm3mXjXgV/Vn3vVVFltv3GwlXlqE3nmKobQV+w==","signatures":[{"sig":"MEUCIQC+7Y9b1DXL+8ULqHuvbntMi1Eyb0Cie58xCyyQztHw/wIgGJR3S5Mh+6y22Ff12+/HDslgcFz5G+rUnhyBqHMZpNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1990259},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"f2e1b951f819d5e3b0d12cb42cfbbc5f1457542c","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.11.1_1788861270866_0.12936767111988523","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"sgiant-ai-widget","version":"1.12.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"70c55e7c12fee44e188783b311bb7958ccffaaa8","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.0.tgz","fileCount":123,"integrity":"sha512-pTIzE7zm9ozWwK5KbWinbgyrAzO9HKtUTnSqAa3QZSUuFzmlA7zhQEGmvnBl5V5UKaAIfNXFUBSHpx9eW55JvA==","signatures":[{"sig":"MEYCIQDo7ceR1MoqvpU6T0821IYI5CwkY4Oao9yCNGNAarn4JwIhAIeaQ/sBwdJwpGQQ4LTTF8jAb6rqfBbmeOvv0rnNnCls","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1994068},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"3a3f1e5a572cd6d49a73fdba8665ad0ef7439723","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.0_1788865605529_0.7895122432050128","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"sgiant-ai-widget","version":"1.12.1","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.1","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"368cb749d4368a26d25b8d810596e2c498a85c31","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.1.tgz","fileCount":123,"integrity":"sha512-ZLkANzNWTnJeIxSQP/vmmR5y2PhG/Egtyr2sGB34mGc15JOP9TVYe0EAP/xJ51pf2CHhZEedqj+sHvNwu7+Y8Q==","signatures":[{"sig":"MEQCICiGfmVfuAbrwIhUNDJon21nH5x/CRAcM0hkbsTVQd4CAiAGvbm9ov5tT6ImcKMqp2u2ico5lrqZKFjShMTET7v7gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1994985},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"bf0f0237a5caf79bad9281b4a28d5a2d5279c0c7","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.1_1788865689634_0.39449691785148744","host":"s3://npm-registry-packages-npm-production"}},"1.12.2":{"name":"sgiant-ai-widget","version":"1.12.2","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.2","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"a6df7d23ed783bba037e06581e457679218b3455","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.2.tgz","fileCount":123,"integrity":"sha512-ChKrnaD5dm+QJu7ZCQ4t9hpXmP8S4IbORwrHsUo22x/mWVSZpQvk2udGo6lnRlsqZPQNwTqG7BjhhVAYHlM3sA==","signatures":[{"sig":"MEQCIQC5Tur2d+gf+ExE5O23ZqyuAnwzQJ0Tz5sW8AMTtAn/rwIfH0IuwD5fIFWRIFMJdL6ne6HeXd7NUz294rDxXemu1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2006444},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"fe215e890afc5cb7047780be72c65e52e6f95fcb","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.2_1788900342146_0.15959498614895984","host":"s3://npm-registry-packages-npm-production"}},"1.12.3":{"name":"sgiant-ai-widget","version":"1.12.3","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.3","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"ed338d5c77dc9cc90ab8cdb752f636a1fe0ab2fb","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.3.tgz","fileCount":123,"integrity":"sha512-m0OrXEHXswZ1TckYcGrKLtjs6X/Cpeipe3+5ATHivb8sqj2UArdQFMIVVatg0DxLLvVLfIU3DaH0I9F0XqalEw==","signatures":[{"sig":"MEUCIQDixgIhlbpocB7yq+k22K/kKEbkv+rTs3PUMfgXfXNSLgIgK0RZkz1YubK04//xDbyamxHOVWBc3dcbWt9g2axuEb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2008675},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"d2a75c7750685ca6c9cc193f258ef7715d06109d","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.3_1788901158171_0.7395923781690898","host":"s3://npm-registry-packages-npm-production"}},"1.12.4":{"name":"sgiant-ai-widget","version":"1.12.4","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.4","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"54969277e6eb85f738b782f292bdbfcff2317a6b","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.4.tgz","fileCount":123,"integrity":"sha512-t+Xux6D9ZTBqezqBEaWzI3ZuL/qCeJD+uMWuLpdqQjsUH7D1rMt/2tcHk9kMNsu8V9pVzVGT9LC/ppZPgPBhmg==","signatures":[{"sig":"MEUCIDnz69yKbPe9k83lEv/n7t2Hm3rjbXnOQHmT3V56iYq/AiEA/cEO5j/QcFSXI56yvBKUChovjsCO8twBSWqDF6k4V4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2031156},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js"},"gitHead":"c00f555812ebe3921df5bd20d9c15282518f60ca","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.4_1788909615859_0.70945378494998","host":"s3://npm-registry-packages-npm-production"}},"1.12.5":{"name":"sgiant-ai-widget","version":"1.12.5","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.5","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"0bfa483312a6d40eb1f3e55b900ce4bac9a99db4","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.5.tgz","fileCount":127,"integrity":"sha512-aqcbu22Yy9FU/ckduirBryagRFXaqtU8yuSd2oyIKt/XqcUwS/uxfD69710f4R7GidWMRVc5L1vTU6dFZVicRw==","signatures":[{"sig":"MEYCIQCnEcwtGuvSr1G6Jdi/3/Htqh3swqDc0HTCFTjNOtZyzwIhALDv/rLPIrb4qgfEbf6BOlPQKExHOPX/q71KW1jNAY2h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2047620},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"6b5749624889e9c697f44207aea982de2b3dba62","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.5_1788937079790_0.5768278473950634","host":"s3://npm-registry-packages-npm-production"}},"1.12.6":{"name":"sgiant-ai-widget","version":"1.12.6","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.6","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"44898e5f193df12aa71cd4862825596a25d756a1","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.6.tgz","fileCount":127,"integrity":"sha512-Tcd6M3tvn5uOVV5GzzbELBwxs6cc9w2ho6z0VXdAbKTY2u9mgIzi7hWr5GBJYZ2uhDgY6u+Eh0XOMUZSy+X0fw==","signatures":[{"sig":"MEQCID+soXUJHOZ9M2Ih2vQp6h1XFd1neDQgv28J+G/yBQhwAiBaVpzZYG1hN5zn3prR8R/j/Za/nvsKHahEfQ+gJ4nx3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2058849},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"bb53aea2262e18aafa976a7ae1cc57c852c6865e","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.6_1788947145818_0.5415243090237283","host":"s3://npm-registry-packages-npm-production"}},"1.12.7":{"name":"sgiant-ai-widget","version":"1.12.7","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.7","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"0507d85226340109ba6a019bdf104570e89778cc","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.7.tgz","fileCount":127,"integrity":"sha512-Hhc9D4z0uZkRNzDzAIl67iZQzDIpePTXQr6J8VPwFVrlCDd8hnU5WGHGjwxzU2Y5ixZ1P7O3Cw2bNs9lTBjjow==","signatures":[{"sig":"MEQCIGNwz6vlJO2pOISGXEdbWryOa5/tLfq0bOC+puJ3FEXDAiBuVEBXXQ3UMtgIsSD9tRnQdtltzXkuHvyWCc+wOYGDVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2060830},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"e9d3abe9d96dff973577c2d97427739912b83e6a","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"vedatugur","email":"admin@sgiant.io"},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.19.0","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"26.7.0","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.7_1788952130666_0.12796020036211342","host":"s3://npm-registry-packages-npm-production"}},"1.12.8":{"name":"sgiant-ai-widget","version":"1.12.8","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.12.8","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"78bc721a57a62a3f103700bb819502650cddb21c","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.12.8.tgz","fileCount":127,"integrity":"sha512-K3xTpQy56P5Ko5MNx/XvBFaK7qA9dOSqf0eDA078BaXOgh6TG+Zs85auW7UCIyFZe2R32GlaXYnvCS9XBZ0FiQ==","signatures":[{"sig":"MEYCIQD7K21XyjHjtthDBA3FwVpp3UOkIr2lIhO1IaQAZhLERQIhAKlmOqV/CFUv/oTKgfdxMdKwpBGK2bPedSnaMccB4Iod","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCbAOrWtZ4QHhBIRh07gfHgR3TUVy+qOWwXXhLGa/yc0gIhAIh4tscwBvPf7vNamQFJMRLewN9O3Aa4DwbuM45ZYuz+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.12.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2063315},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"e9f27ab9e9ecbb460408ee21b6f045e9ea30a90e","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.12.8_1789490503782_0.9111173683508214","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"sgiant-ai-widget","version":"1.13.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.13.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"5a3c747237ebb229ce1756077f1e2af9a1d733c9","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.13.0.tgz","fileCount":127,"integrity":"sha512-T1UmBYJZZwt76u2NnAJSwMQnpKJSHlRnhsXQH/SGIKMe1cM8ICBYhafPDS1PukB0TYJytykDuyHwP7Y5K0ozJg==","signatures":[{"sig":"MEUCID4W3jJSYe4pLRcg/eh8HjH8HjNG0HG1nos0/OsuLDaiAiEA3bnLm6VPJlJ9OtDAP4q5g8LP95JpGN5izQaqT12Yndw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCx/CAzriHCKvahs1XOIAKmC+yuM4p7JZpDopyYuhMP/QIgbPMOISiU10moT7WuYULdbcGqNsyPJFMRy0P7iRUW79c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2077739},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"6dd97437eb945ab00cd75bff11201a7e382e76f8","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.13.0_1790104417159_0.9065505089896921","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"sgiant-ai-widget","version":"1.14.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.14.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"f99fd99919247c76584a44962029e1f34d575e2d","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.14.0.tgz","fileCount":127,"integrity":"sha512-00gC9y14Ixu6gyUCVjp8ecam3QIS9KChYehSuoBJnAJ1NVatSEAB9BmQRu3wte3k1/lFSaEfaKdjLopsAbZVFg==","signatures":[{"sig":"MEQCIGUYcDZMu+lwFD6dzuAkKpFIgMYv6RyA9h4SedtxyS06AiBIgSjrCDDvsRlZ5k81sQ0ct31mWw1G3mAHLC8SVw/+Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEqYJEFQK2VgXnehdPEuIPvlMANmJeb5i5hmQJRMbC5SAiEAgRwmuf1TQmspLcfoKbGT53TbxpBkJ9QItElnRWuxN10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2085578},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"9463a2fe48a42d11745f859e5862a77472e4768b","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.14.0_1790276393607_0.9753000435605554","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"sgiant-ai-widget","version":"1.15.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.15.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"cb18b3203af3f864f03a3f71282fac07f937c327","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.15.0.tgz","fileCount":127,"integrity":"sha512-xE8ZrcZ3zxvnYFv3r0ap1ywXT/dnSqiPMifn3KgaWTQPIceU+o6ve77Y8V31z7RsmUElLbraEcRrOd++L9kH7A==","signatures":[{"sig":"MEYCIQDEsTwfUDDrbmZiYxmb9+0dshLGKCkCope4ZBndN/SCIwIhAK1RmsYzpcfglza4a3kUI3ZqojH1cHB3xKxhucOBQe4U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCbP1g8i3R/Fu12soXOjBKJ71kmlzTPi+H1IzmcaOPxdQIhAMUlscY9aoxMgBC998chAC0jCQFNRlWfFqxOKrvvoaiL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2093032},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"30723a807f72dca6efa7749508ecf28a82936e8c","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.15.0_1790278149894_0.8327114751785671","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"sgiant-ai-widget","version":"1.16.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.16.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"f43f6b1c46545189d5776a9a723292f9179b0dff","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.16.0.tgz","fileCount":127,"integrity":"sha512-iTZuzGe9GGKT9WxPu4nR0P78FL84zD3sMQ53CRpKiVh+N986mpFsr89EY31368Dczr0I/lBKemBaHIRTNDCsAg==","signatures":[{"sig":"MEYCIQCAl6Ify2JcUaOlpxkICXaxPbwEL4Vz/NE47qVyEzVPpgIhAIqJ1YqjS/bnWo6pHfHTGuDeMtSK/OT1do0ixq+vcomD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDkItbXECRH/G2UMUd4xZSnWEOS1nx+TBo4MhLmwanSSgIgErLPwz0n0A3lwBHlQohLpJTpD8XQNiC1byliqcx4Evw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2160236},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"b9843a02dfe0b642caa0e6642c28d3ca54ab0a9a","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.16.0_1790602369288_0.4485345911059613","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"sgiant-ai-widget","version":"1.16.1","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.16.1","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"1b12ff391ce869938e6318b4c2e77492866b7d41","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.16.1.tgz","fileCount":127,"integrity":"sha512-SqkwkshzM+EpSTQCVRT0d2Vxk1TzwdaGLhDoyDsDwhLppaT21ZlvxJtaZyq6Bp+5+Ymof1sxO6doVotb7hxhzw==","signatures":[{"sig":"MEUCIFKRI80FJIWj7UWFGKRN3f51R7DJOgIdhy9CyFdTgreCAiEAlg9s/qTiiZEyjRUZ3HJ8I1xKQn1J/0tYx2SYi4lrzew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDtykDs0DqoViMRFthGjjAFUSX0GVSAtwjoJUtKekTupQIhAKJepJGWAGgarUU4qCeT38LX+AOCTgfJmRBtCzexEUJ3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2164706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"0f04c0df33aeb905dfc590ddb874cf2c15d9b560","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.16.1_1790617348299_0.8618659753432967","host":"s3://npm-registry-packages-npm-production"}},"1.16.2":{"name":"sgiant-ai-widget","version":"1.16.2","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.16.2","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"9d1347e233c57b833b9b1cb5f5cdc006fb17487a","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.16.2.tgz","fileCount":127,"integrity":"sha512-iYLLfs7e2NjJuBtSYXYv+JU4l/ANj+wQpL8K+BQbRhRhx0dtGC8e9RbktJzPRAj5KyVZWSqncVV35Ogm/Bnufw==","signatures":[{"sig":"MEQCIEX1w1NUkfaRre5CYAOw8m7q/rDBJYR4aCM/NiJQ7+XBAiAbGuCdRMsZaueCBeZBpio/VeIBCzgyG2OeP397k8bVCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC8tbrRSHbjGamHmoDo7JNfoKGyQN5NbWRWOgciHAESsgIhANRy2YAz9oPfFcyq4g/dnrX75F/SeR51XCKjR2ikkgzA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2168098},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"81d718c6f4ed3a5e42dc3b06651692bfe657d763","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.16.2_1790627967639_0.9451187681688742","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"sgiant-ai-widget","version":"1.17.0","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.17.0","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"52c0fc3120ba38a71aa2e3e6d45232f9669631e3","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.17.0.tgz","fileCount":131,"integrity":"sha512-JqeJ8zDLXlWRXCSLnEkF9iEB18TbsEnez9MVPmNet9dtTnFJleQHy/byZPidke/j6XXe1ul3hXnDnktjl2sB1g==","signatures":[{"sig":"MEYCIQCDUEGeMfuti4YRncaJ6kURjJqBtrklLznLkCahRDLtIAIhALDKImeTJnAj02t6p9kMt8NtYuEPHs0XNzqTmtowXCm8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCoBEc6eO9Fw6ufTQVMhhSHAcTlruwB0FWK7iyFJ6vvvQIhAIsp3cxGlsbatMDvTOI93M+ugSXlqfeKLdV5ThERhgJF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2221518},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"fa195b837982a2c3f3c1f1ef4bc67d0b2c535d14","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.17.0_1790679945034_0.8282989609605007","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"sgiant-ai-widget","version":"1.17.1","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"license":"MIT","_id":"sgiant-ai-widget@1.17.1","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"bd57d53af26efe336230a5a529ec950391fd2e00","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.17.1.tgz","fileCount":131,"integrity":"sha512-+L/PxWWPTyV1OGU0Qu4aGsYrSyCz+RhIvL2Ko1zjxhSeI7v8NITSg11L2QUZ0hZZXcCAC6r81JPyxu/tuRKqlw==","signatures":[{"sig":"MEUCIQDVXtY9WUpDLHtv8EFT7ccVF6pM5Q/U7/f2yl6ThL85EQIgYeZkIl2iYz+OTogjDHthlUkDg0J+IVKGJTJRaHkCBYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEfnn0IBqDWOGv9S9e+krxSVw/8n+LPcTIXTn7DCadHgAiB1ny9/U/F1Wl32fYdRFR3VIATrg1EVix22lPoD598XPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2221260},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"80c9022b433c811e759133e28f9eb38b5ba4cf4f","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"jsdelivr":"./dist/sgiant-ai-widget.global.js","repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/sgiant-ai-widget_1.17.1_1790682044127_0.35793723122841903","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"_id":"sgiant-ai-widget@1.18.0","bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"dist":{"shasum":"3824a7d41553444cc0c4977cd2f130886e5f2831","tarball":"https://registry.npmjs.org/sgiant-ai-widget/-/sgiant-ai-widget-1.18.0.tgz","fileCount":131,"integrity":"sha512-GfyYLdDGZ8gwcWOLPE2J7qhPB6TkQGBCOOUhkPybgApHgPlhKWtQOaGjOxyJTNQwoIO7MU2mRfGteE2nsHVDJg==","signatures":[{"sig":"MEUCIQCdNfZlgEhalzKO2yn+0kBW9tFrVERPYW0cViTeH4zcdgIgdQGvhQHWXoWeR96K58MxS4oJGoeHA7XmdurnhEKOVbE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBvJOQHY5vLZpwHk0Cs6MyMwtkBNQzkZwuIrz16AJ5qdAiEAltWNEDALnQ8Q2Flpn7hoSaosrGPHcL51c4Ncoj4Zpmk="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/sgiant-ai-widget@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2227796},"main":"./dist/index.js","name":"sgiant-ai-widget","type":"module","types":"./dist/index.d.ts","unpkg":"./dist/sgiant-ai-widget.global.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./charts":{"types":"./dist/charts.d.ts","browser":"./dist/sgiant-ai-widget-charts.global.js","default":"./dist/charts.js"},"./global":"./dist/sgiant-ai-widget.global.js","./manifest":{"types":"./dist/manifest.d.ts","default":"./dist/manifest.js"}},"gitHead":"8b82ba5d1a7e54bf809bfdd7f4920ce62f27ed97","license":"MIT","scripts":{"test":"npm run build && node --test \"tests/*.test.ts\"","audit":"./scripts/audit-tarball.sh","build":"tsc -b && node scripts/fix-esm-extensions.mjs && npm run build:global","clean":"rm -rf dist *.tsbuildinfo","typecheck":"tsc --noEmit","build:global":"node scripts/build-global.mjs","prepublishOnly":"npm run build && npm run audit"},"version":"1.18.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"9e64c7f1-e1ff-4fce-86fe-d67a316d952d"}},"homepage":"https://vedatugur.github.io/sgiant-ai-widget/","jsdelivr":"./dist/sgiant-ai-widget.global.js","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"_npmVersion":"11.5.1","description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","directories":{},"maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"sgiant-ai-agent-bridge":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.24.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sgiant-ai-widget_1.18.0_1791111105367_0.7846985949034977"}}},"time":{"created":"2026-09-03T08:44:45.724Z","modified":"2026-10-04T10:51:45.848Z","1.0.0":"2026-09-03T08:44:46.134Z","1.1.0":"2026-09-03T09:51:42.166Z","1.2.0":"2026-09-03T11:39:44.400Z","1.3.0":"2026-09-04T00:28:12.544Z","1.4.0":"2026-09-04T09:38:49.970Z","1.5.0":"2026-09-04T11:40:42.268Z","1.6.0":"2026-09-04T12:43:50.370Z","1.6.1":"2026-09-04T14:22:38.231Z","1.7.0":"2026-09-04T14:28:02.822Z","1.8.0":"2026-09-04T23:33:31.606Z","1.8.1":"2026-09-05T22:28:07.193Z","1.9.0":"2026-09-07T10:24:52.719Z","1.10.0":"2026-09-07T12:48:21.486Z","1.11.0":"2026-09-07T21:48:02.687Z","1.11.1":"2026-09-08T09:54:31.024Z","1.12.0":"2026-09-08T11:06:45.679Z","1.12.1":"2026-09-08T11:08:09.865Z","1.12.2":"2026-09-08T20:45:42.295Z","1.12.3":"2026-09-08T20:59:18.349Z","1.12.4":"2026-09-08T23:20:16.026Z","1.12.5":"2026-09-09T06:57:59.969Z","1.12.6":"2026-09-09T09:45:46.001Z","1.12.7":"2026-09-09T11:08:50.847Z","1.12.8":"2026-09-15T16:41:43.910Z","1.13.0":"2026-09-22T19:13:37.319Z","1.14.0":"2026-09-24T18:59:53.703Z","1.15.0":"2026-09-24T19:29:10.011Z","1.16.0":"2026-09-28T13:32:49.389Z","1.16.1":"2026-09-28T17:42:28.424Z","1.16.2":"2026-09-28T20:39:27.779Z","1.17.0":"2026-09-29T11:05:45.157Z","1.17.1":"2026-09-29T11:40:44.228Z","1.18.0":"2026-10-04T10:51:45.479Z"},"bugs":{"url":"https://github.com/vedatugur/sgiant-ai-widget/issues"},"license":"MIT","homepage":"https://vedatugur.github.io/sgiant-ai-widget/","keywords":["ai","chat","widget","chatbot","streaming","embeddable","vanilla","no-framework","llm","assistant"],"repository":{"url":"git+https://github.com/vedatugur/sgiant-ai-widget.git","type":"git"},"description":"Framework-agnostic embeddable AI chat widget. One call mounts a streaming chat bubble into any page — no React, no framework, themeable.","maintainers":[{"name":"vedatugur","email":"admin@sgiant.io"}],"readme":"# sgiant-ai-widget\n\nA framework-agnostic, embeddable **AI chat widget**. One call mounts a floating\nbubble and a streaming chat panel into any page.\n\nNo React. No framework. Vanilla DOM, themeable through CSS custom properties,\nand one runtime dependency.\n\n```bash\nnpm install sgiant-ai-widget\n```\n\n**Live examples**, all plain HTML with no bundler and no build step:\n\n- **[Quick start →](https://vedatugur.github.io/sgiant-ai-widget/)** — a\n  `<script src>` tag and one call.\n- **[Beyond streaming text →](https://vedatugur.github.io/sgiant-ai-widget/capabilities.html)**\n  — live activity steps, the assistant asking the human to decide, a\n  confirm-gated write, suggestion chips, a form the model designed, a card with\n  its own actions, and a renderer you register yourself. Every demo runs a real\n  turn and shows the JSON that produced it.\n- **[The chrome →](https://vedatugur.github.io/sgiant-ai-widget/ui.html)** —\n  launcher states (`resting`, `unread`, `working`, `offline`, `parked`) driven\n  live, what the user can do to the panel, and an animated robot avatar that is\n  one inline SVG with its own `prefers-reduced-motion` guard.\n- **[Advanced mode →](https://vedatugur.github.io/sgiant-ai-widget/advanced.html)**\n  — the assistant highlighting, filling and clicking inside a real app in an\n  iframe, driven over\n  [`sgiant-ai-agent-bridge`](https://www.npmjs.com/package/sgiant-ai-agent-bridge).\n  Selectors never cross the wire; only ids the page opted in with\n  `data-ai-target`.\n- **[Real charts →](https://vedatugur.github.io/sgiant-ai-widget/charts.html)**\n  — animated bars, an animated line with a comparison overlay, and a donut,\n  drawn with no chart library at all.\n- **[Theming →](https://vedatugur.github.io/sgiant-ai-widget/theming.html)** —\n  launcher geometry as custom properties, and an inline SVG brand mark.\n\n## Two ways in\n\n### As a module (React, Next, Vue, Svelte, plain ESM)\n\n```ts\nimport { createAiChatWidget } from \"sgiant-ai-widget\";\n\nconst chat = createAiChatWidget({\n  endpoint: \"https://api.example.com/chat\",\n  title: \"Aria\",\n  greeting: \"Hi! Ask me anything.\",\n  accent: \"#6d28d9\",\n});\nchat.open();\n```\n\n### As a `<script>` tag, no build step\n\n```html\n<script src=\"https://unpkg.com/sgiant-ai-widget/dist/sgiant-ai-widget.global.js\"></script>\n<script>\n  SgiantAiWidget.createAiChatWidget({ endpoint: \"/chat\" });\n</script>\n```\n\nThe global build bundles its one dependency, so it is a single file. If your\npage already uses a bundler, prefer the module build — it shares that dependency\ninstead of carrying a second copy.\n\n## Charts, if you have no chart library\n\nThe widget draws a stat tile for a `kpi` and a table for anything else. That is\ndeliberate: a host with real chart components should mount those through\n`renderDataWidget`, and a core carrying a second implementation would charge\nevery consumer for one they do not use.\n\nFor surfaces with neither — a WordPress admin page, a plain embed — there is an\n**opt-in** renderer:\n\n```ts\nimport { createChartFallback } from \"sgiant-ai-widget/charts\";\ncreateAiChatWidget({ renderChartFallback: createChartFallback() });\n```\n\n```html\n<!-- or with no build step at all: a separate 3.8 kB bundle -->\n<script src=\"https://unpkg.com/sgiant-ai-widget/dist/sgiant-ai-widget-charts.global.js\"></script>\n<script>\n  SgiantAiWidget.createAiChatWidget({\n    renderChartFallback: SgiantAiWidgetCharts.createChartFallback(),\n  });\n</script>\n```\n\nIt draws `time_series`, `breakdown` and `donut`, reading your `--aiw-*` tokens\nso a chart follows the theme, and it plots the column your spec **names** in\n`metrics` / `dimension` rather than guessing at one — so the same frame renders\nthe same numbers here and in a full dashboard renderer. It **throws** for `kpi`, `table`, `pivot_grid`,\n`heatmap`, `scatter` and `content` — which the widget catches and renders with\nits built-in instead. A bad heatmap made of rectangles is worse than a readable\ntable of the same numbers.\n\nIt is a floor, not a charting library. Nothing in the main entry point\nreferences it, so it costs zero bytes unless you ask for it.\n\n## The backend\n\nOne POST endpoint that streams newline-delimited JSON. Four frame types matter:\n\n| frame | meaning |\n| --- | --- |\n| `{\"type\":\"text\",\"d\":\"…\"}` | append this text |\n| `{\"threadId\":\"…\"}` | name the conversation |\n| `{\"type\":\"done\"}` | the turn is over |\n| `{\"type\":\"error\",\"message\":\"…\"}` | the turn failed |\n\nThe full contract, including a dependency-free reference server short enough to\nread in one go, is in **[BACKEND.md](./BACKEND.md)**.\n\n## Attachments\n\nSet `uploadEndpoint` and the composer grows a paperclip. Leave it unset and\nthere is no attach button at all — an attach control on a surface with nowhere\nto put a file fails *after* the user has chosen one, which is the worst moment\nto say no.\n\n```js\ncreateAiChatWidget({\n  endpoint: \"/accounts/acc_1/ai/chat\",\n  uploadEndpoint: \"/accounts/acc_1/assets/media\", // POST multipart\n});\n```\n\n`getUploadEndpoint()` is the dynamic form, read at call time, for a host whose\naccount can change without remounting — the same shape as `getToken`.\n\nEach file is a `multipart/form-data` POST carrying `file`, `session=1`, and\n`threadId` when there is one; your endpoint answers with a media id, and the\nchat turn then carries ids rather than bytes. `session=1` is the whole\ndifference between a chat attachment and an upload to the asset library: a file\ndropped into a conversation belongs to that conversation, reachable from its\nhistory by id and never filed alongside deliberate library uploads.\n\n| limit | value | why |\n| --- | --- | --- |\n| files per turn | 6 | Extras are dropped, not refused — the turn still sends. |\n| image / document | 25 MB | Read inline by the model, so this bounds a prompt. |\n| video / audio | 100 MB | Referenced by id, never inline. A 30-second 1080p phone video is already past the document cap, so a shared cap would refuse the everyday case for being ordinary. |\n\nAn oversize file gets its own error chip naming the file and the cap, and the\nrest of the same selection still uploads — one bad file does not lose the batch.\n\nSee `examples/uploads.html`.\n\n## Theming\n\nThe entire stylesheet reads from `--aiw-*` CSS custom properties set on the\nwidget's roots. `accent` / `gradient` are the shorthand; the `theme` option\noverrides any token — or theme from plain CSS by targeting the roots, which\nworks because the defaults are declared inside `:where()` and therefore carry\nzero specificity. Any rule you write beats them, with no `!important` needed.\n\n**Launcher geometry is tokenised too**: `--aiw-launcher-size`, `-offset`,\n`-offset-sm` (below 480px), `-icon`, `-pill-height`, `-pill-icon`,\n`-parked-size`, `-parked-icon`, `-dot`, `-dot-sm`. The `-sm` pair is\ndeliberately independent, so a larger desktop launcher does not force a larger\none on a phone. See [examples/theming.html](./examples/theming.html).\n\n```ts\ncreateAiChatWidget({\n  // …\n  accent: \"#6d28d9\",\n  theme: {\n    // dark mode\n    surface: \"#16161e\",\n    \"surface-2\": \"#22222c\",\n    bg: \"#101016\",\n    text: \"#e7e7ec\",\n    \"text-2\": \"#b6b6c2\",\n    muted: \"#8a8a96\",\n    border: \"#2b2b36\",\n    \"border-strong\": \"#3a3a48\",\n    \"border-soft\": \"#22222c\",\n  },\n});\n```\n\nTokens: `accent`, `accent-contrast`, `gradient`, `surface`, `surface-2`, `bg`,\n`text`, `text-2`, `muted`, `border`, `border-strong`, `border-soft`.\n\n## Custom renderers (extension point)\n\nThe assistant can emit `[[<tag>:{json}]]` directives; built-ins cover\n`widget` (stat/kpis/list/table), `preview` (sandboxed HTML), `navigate`,\n`action`, `chips`, and `form`. Register your own tags to render anything else —\nthe widget strips the directive, mounts a host element in the log, and hands\nyou the parsed JSON:\n\n```ts\nconst chat = createAiChatWidget({\n  // …\n  renderers: {\n    calendar: (host, spec) => {\n      host.textContent = renderMyCalendar(spec); // validate spec yourself\n      return () => cleanup(); // optional disposer (message cleared)\n    },\n  },\n});\n// or later:\nchat.registerRenderer(\"map\", (host, spec) => drawMap(host, spec));\n```\n\nBuilt-in tags are reserved (a plugin can't hijack the confirm-gated\n`action`/`form` security model). A throwing renderer removes its host card\ninstead of breaking the message.\n\n## Letting people choose the model\n\nPass `models` and a small pill appears in the composer, next to Send. The chosen\noption's `id` is sent as `model` with every message.\n\n```js\ncreateAiChatWidget({\n  endpoint: \"/api/chat\",\n  models: [\n    { id: \"claude-haiku-4-5-20251001\", label: \"Haiku 4.5\",  hint: \"Fastest, lightest\", cost: \"1×\" },\n    { id: \"claude-sonnet-5-5\",         label: \"Sonnet 5.5\", hint: \"Fast and capable\",  cost: \"2×\" },\n    { id: \"claude-opus-5-5\",           label: \"Opus 5.5\",   hint: \"Most capable\",      cost: \"4×\" },\n  ],\n  defaultModel: \"claude-sonnet-5-5\",\n  onModelChange: (id) => { /* optional */ },\n});\n```\n\nThe widget knows nothing about models. Which ones exist, which company serves\neach and what they cost belongs to your server; the options are plain data, and\n`id` is opaque. Give options a `group` (the vendor, say) and they are listed\nunder it, so offering a second vendor's models is a longer list rather than a\nwidget change.\n\nThe choice is remembered per `storageNamespace` and layout scope, and checked\nagainst `models` on every mount: a model you stop offering is never sent again,\nthe person gets `defaultModel` instead. Omit `models` and there is no pill and\nno `model` field. See `examples/models.html`.\n\n## In the page's language\n\n`labels` carries the words; `locale` carries how a figure is written.\n\n```ts\ncreateAiChatWidget({\n  // …\n  locale: i18n.language, // a BCP 47 tag: \"tr\", \"en-GB\"\n  labels: resolveWidgetLabels(t), // your translations of the widget's own chrome\n});\n```\n\nThe numbers and times the widget writes itself follow `locale`: credits left, a\nturn's counts, \"3 hours ago\" in the conversation list. Omit it and they follow\nthe browser, which is another language whenever someone reads a Turkish page in\nan English browser: \"24,000\" for 24.000, and \"8/1/2026\" for 1 August. A tag the\nengine refuses falls back to the browser's instead of throwing.\n\n## Charts without React\n\nIn-app hosts wire `renderDataWidget` (real `@sgiant/ui` charts). A standalone\nembed has no React, so `render_chart` frames degrade to a stat/table — unless\nyou plug `renderChartFallback(host, spec, rows, comparisonRows)` with any\nlightweight chart lib.\n\n## Transport\n\nPOSTs `{ accountId, threadId, content }` (plus `model` when the host passes\n`models`; see [BACKEND.md](./BACKEND.md)) and reads a streamed body, tolerating\nboth shapes the platform emits:\n\n- SSE — `data: {\"type\":\"assistant_delta\",\"text\":\"…\"}`\n- NDJSON — `{\"d\":\"…\"}`\n\nplus `{type:\"thread\",threadId}`, `{type:\"error\",message}`, `{type:\"done\"}`.\n\n## Security\n\nThe widget holds no long-lived secret. In-app surfaces pass a Clerk session\ntoken; external sites pass no token at all — they identify themselves with a\n**public site key** in the POST body (`extraBody: { siteKey }`), which the\nbackend verifies against the paired site and rate-limits per site on top of\nthe per-IP ceiling. An unknown or inactive key is a 403, never a silent fall\nback to anonymous. The backend's OBO scoping is the real ceiling; this is\npresentation only.\n\nThis section said until 2026-09-22 that external sites use \"a short-lived\nembed token\" and that the endpoint minting it \"is the next backend step\".\nThere is no such endpoint and there never was: the site-key design shipped\ninstead (sgiant-platform#339), and the `sgiant-connect` WordPress plugin has\nbeen emitting `extraBody: { siteKey: … }` since.\n\n## External embedding\n\nThe single-file IIFE build ships: `npm run build:global` writes\n`dist/sgiant-ai-widget.global.js`, exposed as the `./global` export and as\n`window.SgiantAiWidget` (see \"As a `<script>` tag\" above) — NOT\n`window.SgiantChat`, which never existed. A third-party page needs no token:\npass its public site key and the endpoint does the rest — see *Security*.\n\n```html\n<script src=\"https://unpkg.com/sgiant-ai-widget/dist/sgiant-ai-widget.global.js\"></script>\n<script>\n  SgiantAiWidget.createAiChatWidget({\n    endpoint: \"https://api.example.com/public/ai/chat\",\n    extraBody: { siteKey: \"…\" },\n  });\n</script>\n```\n\n## Flagging a conversation\n\nPass `onFlag` to put a flag control in the header: clicking it asks for a\nreason and calls back with the reason plus the live thread id. Wire it to a\nflags API (`POST /admin/ai/conversations/:kind/:threadId/flag` for staff\nsurfaces, `POST /public/ai/threads/:threadId/flag` for the visitor widget).\nOmit it and the control does not render.\n\n## The surface manifest (`sgiant-ai-widget/manifest`)\n\nAn opt-in entry point re-exporting the bridge's `generateManifest`,\n`verifySurface`, `canAct` and `hashManifest`. It is separate on purpose: the\ncore is one runtime dependency with no React, and a host that never generates\nor verifies a manifest should pay nothing for the machinery. Importing the\nmain entry pulls none of it.\n\n## About the `#123` references in the source\n\nThe comments cite issue numbers from the private tracker this widget was built\nin, where it lived inside a monorepo until 2026-09-02. They are kept because the\nreasoning around them is worth more than the tidiness of removing it — a comment\nexplaining *why* a wire value must not change is useful even when you cannot\nopen the ticket it cites.\n\nNothing behind those numbers is needed to use, read, or modify this package.\n\n## Licence\n\nMIT © Vedat Aydın Uğur\n","readmeFilename":"README.md"}