{"_id":"@angadie/chittie-transport-web","_rev":"9-0ef39ec826a8aa6fd661a6cd5885862e","name":"@angadie/chittie-transport-web","dist-tags":{"latest":"0.6.2"},"versions":{"0.1.0":{"name":"@angadie/chittie-transport-web","version":"0.1.0","license":"MIT","_id":"@angadie/chittie-transport-web@0.1.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"6efcef39fd900166e8971338d8d09ee453b06934","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.1.0.tgz","fileCount":5,"integrity":"sha512-+79oreNCQVGr/wi3WwRPTCvshKqM7lJxNK5rL8Ye26j9fFhHemk3IdxHvTD7OKxV0L8hWttn0DNBLYRgbLW4iA==","signatures":[{"sig":"MEYCIQCGL6IxzYzKSxcmwZvZRcIH8YD+r6Qb577cD+1P8qpDIAIhAKZAsrJDRZhG+dOMm1RsTIPvYcJJmzaYBF8/t+AzNK37","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9946},"type":"module","_from":"file:angadie-chittie-transport-web-0.1.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/9f50957a230de4f026eb13b71663808c/angadie-chittie-transport-web-0.1.0.tgz","_integrity":"sha512-+79oreNCQVGr/wi3WwRPTCvshKqM7lJxNK5rL8Ye26j9fFhHemk3IdxHvTD7OKxV0L8hWttn0DNBLYRgbLW4iA==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.1.0_1782189722508_0.747307257659173","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@angadie/chittie-transport-web","version":"0.1.1","license":"MIT","_id":"@angadie/chittie-transport-web@0.1.1","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"538425e0ed75a1ba05b763652f15d49fdcc4743a","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.1.1.tgz","fileCount":5,"integrity":"sha512-l+ZLHEoJH3j3SqnjhUTM4nzEBErLNEYXt9GDYH18h4BKe9oWsrO9ht8xi9VXz4Tr/uyLvAJkr8i5Qb9s2fqntQ==","signatures":[{"sig":"MEUCIQC4aHJapFKYxo5uDUTX0r2pl8DiD6VCzI3q/2N2BHBjAwIgGFkYhfCkV9akQTrFtEL4WITjDtjWIDnop/qoAiIy9u8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9946},"type":"module","_from":"file:angadie-chittie-transport-web-0.1.1.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/31304aca198cfe183766aefd8a43585a/angadie-chittie-transport-web-0.1.1.tgz","_integrity":"sha512-l+ZLHEoJH3j3SqnjhUTM4nzEBErLNEYXt9GDYH18h4BKe9oWsrO9ht8xi9VXz4Tr/uyLvAJkr8i5Qb9s2fqntQ==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.1.1_1782190367389_0.10949168683290367","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@angadie/chittie-transport-web","version":"0.2.0","license":"MIT","_id":"@angadie/chittie-transport-web@0.2.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"0fb20989e9d89f93a85e130fd7c99d8fb48d798b","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.2.0.tgz","fileCount":5,"integrity":"sha512-OfH6A/BKm49Rgxz1qrDO3SoIBNVVqCrnLyVJze2FYvtSMLJ2qMNLnqhZ4hDv4KpgKvMMbK0rw3cuXl5ALzBRMA==","signatures":[{"sig":"MEUCIEYVPPkqBs+yrmL6gS3HJGpGRoZnhJFIt+5i4g7EquadAiEAr3K3gXC4Pf2Y9Z6tQAy2G0umxgrxguLSSx4DLF/LfUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9946},"type":"module","_from":"file:angadie-chittie-transport-web-0.2.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/e92c9310fb9e0715efeabb4aa255ef1e/angadie-chittie-transport-web-0.2.0.tgz","_integrity":"sha512-OfH6A/BKm49Rgxz1qrDO3SoIBNVVqCrnLyVJze2FYvtSMLJ2qMNLnqhZ4hDv4KpgKvMMbK0rw3cuXl5ALzBRMA==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.2.0_1782192879381_0.6309938016184398","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@angadie/chittie-transport-web","version":"0.3.0","license":"MIT","_id":"@angadie/chittie-transport-web@0.3.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"350ef5f89ecc81fb7a1782016266ed39fbd44ee1","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.3.0.tgz","fileCount":5,"integrity":"sha512-3ZCxSxBqUrVYDq0Z8+z1c0hPgw1EUFGBaLVm+I3ZKy/09w+JoVJneElsXx472pI1SYLYw8sIrsfOz7Acl/ynnw==","signatures":[{"sig":"MEUCIGffCVj9VTQHvHf7bDdJTSTodEylASme/K2TGT5m57FkAiEA9Z302x4qFz2QcLYBp2dBsaeSDvg1KuUoPeIQoIsue0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9946},"type":"module","_from":"file:angadie-chittie-transport-web-0.3.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/5f5d2562dd59f0b8e88831390bb050a8/angadie-chittie-transport-web-0.3.0.tgz","_integrity":"sha512-3ZCxSxBqUrVYDq0Z8+z1c0hPgw1EUFGBaLVm+I3ZKy/09w+JoVJneElsXx472pI1SYLYw8sIrsfOz7Acl/ynnw==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.3.0_1782238395255_0.7481262548472409","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@angadie/chittie-transport-web","version":"0.4.0","license":"MIT","_id":"@angadie/chittie-transport-web@0.4.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"db7769e78a63cb8ebf48f7ce1a3125c8428b8737","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.4.0.tgz","fileCount":5,"integrity":"sha512-6123N5oxsOm14SBN2rpBuJ1BH1KFBJisX0h3LryL5K9vxNVPr5C+CpXs4HAd1ItRV+YdEVwIoTYXSAWevYKmgQ==","signatures":[{"sig":"MEUCIQDpZzUJu35QcAKcPbwEUlViLOcFZvdnD9CN/qdvj18BIAIgB4PbUdVLRRIcurGcVCitNG1iCKYvEQhqfcRM3znICS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9946},"type":"module","_from":"file:angadie-chittie-transport-web-0.4.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/59da6781650a8728fd674db8edea8fea/angadie-chittie-transport-web-0.4.0.tgz","_integrity":"sha512-6123N5oxsOm14SBN2rpBuJ1BH1KFBJisX0h3LryL5K9vxNVPr5C+CpXs4HAd1ItRV+YdEVwIoTYXSAWevYKmgQ==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.4.0_1782239452664_0.13213368853982166","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@angadie/chittie-transport-web","version":"0.5.0","license":"MIT","_id":"@angadie/chittie-transport-web@0.5.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"571d9224d13bb969ca741c4fa2ea713eaff845df","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.5.0.tgz","fileCount":5,"integrity":"sha512-VOU9jO2FsTrK0LW6nqRZbpp1YC+0adJLcdrpwZapV//2mmSmG89xcK+9Bd8hp8/tfe1/GJjgTNPfN1E04EBtuQ==","signatures":[{"sig":"MEYCIQDiHVIEtEaKOnFGkTtnLeG+evMmnqV2+VNTgbddtjin8AIhAIluJ/40kjl54xhkrN5nuz0jCLiDw2ujVvDwNqkjIHDc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9946},"type":"module","_from":"file:angadie-chittie-transport-web-0.5.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/24e6740dc847c4c738b0a100b7a7ef61/angadie-chittie-transport-web-0.5.0.tgz","_integrity":"sha512-VOU9jO2FsTrK0LW6nqRZbpp1YC+0adJLcdrpwZapV//2mmSmG89xcK+9Bd8hp8/tfe1/GJjgTNPfN1E04EBtuQ==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.5.0_1782240871869_0.027221158404214796","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@angadie/chittie-transport-web","version":"0.6.0","license":"MIT","_id":"@angadie/chittie-transport-web@0.6.0","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"7e9dcf9a5939b6de0819075e9368ab8b8dd9037a","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.6.0.tgz","fileCount":5,"integrity":"sha512-pNl1SimusVbd7aantyk/rZTS+oPYnOcMcj5l8j+pr6g/l2MQUt9RW1JP1oMDm4umk19dpL5z9e/7q9DhKaKl2w==","signatures":[{"sig":"MEUCIAQY8hB9ok3SmIarebqd2YoT+5qlGxKJsUd3j198FsRvAiEAk7kwJ6Y4enAbMuDrEgBJiZc2tmO2GEKef+4CMRw7OPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12763},"type":"module","_from":"file:angadie-chittie-transport-web-0.6.0.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/b41d3339c11d75d52aa34e2faf5df92f/angadie-chittie-transport-web-0.6.0.tgz","_integrity":"sha512-pNl1SimusVbd7aantyk/rZTS+oPYnOcMcj5l8j+pr6g/l2MQUt9RW1JP1oMDm4umk19dpL5z9e/7q9DhKaKl2w==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.6.0_1782302951520_0.508130974511092","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@angadie/chittie-transport-web","version":"0.6.1","license":"MIT","_id":"@angadie/chittie-transport-web@0.6.1","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"dist":{"shasum":"ac61a0f98af741dab8d6dbad74861afcc1dc0b25","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.6.1.tgz","fileCount":5,"integrity":"sha512-p5T3dvb2DyDQ/G+N3S3cElwXtciB3MVLEXdxevU07DZRHbm3QUwFstS5TcvKe3iKOc1N0kCGz5pLQrTCLCOb5Q==","signatures":[{"sig":"MEQCIB+TC9GZz0sckvVG/N33N9Y6Ln8SEMYTGGmI8f5fTUYmAiBlJyBkymWKgg1+Iak6PXljaXYpuSvs/X+hdJTSCkeUwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12763},"type":"module","_from":"file:angadie-chittie-transport-web-0.6.1.tgz","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"scripts":{"test":"tsx spikes/web-serial.spike.ts","build":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/15186f01c05be06c2dd1ff2ffff1fa22/angadie-chittie-transport-web-0.6.1.tgz","_integrity":"sha512-p5T3dvb2DyDQ/G+N3S3cElwXtciB3MVLEXdxevU07DZRHbm3QUwFstS5TcvKe3iKOc1N0kCGz5pLQrTCLCOb5Q==","_npmVersion":"10.9.7","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@angadie/chittie-transport":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/chittie-transport-web_0.6.1_1782372103058_0.48610418890474927","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@angadie/chittie-transport-web","version":"0.6.2","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","license":"MIT","type":"module","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"}},"dependencies":{"@angadie/chittie-transport":"0.6.1"},"publishConfig":{"access":"public"},"scripts":{"build":"tsdown","typecheck":"tsc --noEmit","test":"tsx spikes/web-serial.spike.ts"},"_id":"@angadie/chittie-transport-web@0.6.2","_integrity":"sha512-lqS1Fsb7gWQcKVTixcU3pOjS05KqzkluF28pI2vlR12hfccDEWeEii3H7b1yQUdOFItCSy9qfAJiAmRWS6qUIw==","_resolved":"/private/var/folders/j5/7dkmn95d0_9b5fdnfsmpjs580000gn/T/10d29b34835fac09be89264c8c7ca069/angadie-chittie-transport-web-0.6.2.tgz","_from":"file:angadie-chittie-transport-web-0.6.2.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-lqS1Fsb7gWQcKVTixcU3pOjS05KqzkluF28pI2vlR12hfccDEWeEii3H7b1yQUdOFItCSy9qfAJiAmRWS6qUIw==","shasum":"c7cd7270d1f9305a482cccf4db5dce61eb5e4a79","tarball":"https://registry.npmjs.org/@angadie/chittie-transport-web/-/chittie-transport-web-0.6.2.tgz","fileCount":5,"unpackedSize":12800,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCCXY5r1ea3kTHFV93n6UUvgK6WtgtbQLP+ZTtaeZULJQIhANgEJn3jjtKIpTVA2V+8rboNkFREaTc9HjMxUFnhQupe"}]},"_npmUser":{"name":"octalpixel","email":"mithushancj@gmail.com"},"directories":{},"maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chittie-transport-web_0.6.2_1782463007778_0.5269110315042909"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-23T04:42:02.312Z","modified":"2026-06-26T08:36:48.075Z","0.1.0":"2026-06-23T04:42:02.631Z","0.1.1":"2026-06-23T04:52:47.531Z","0.2.0":"2026-06-23T05:34:39.512Z","0.3.0":"2026-06-23T18:13:15.425Z","0.4.0":"2026-06-23T18:30:52.818Z","0.5.0":"2026-06-23T18:54:32.018Z","0.6.0":"2026-06-24T12:09:11.711Z","0.6.1":"2026-06-25T07:21:43.195Z","0.6.2":"2026-06-26T08:36:47.929Z"},"license":"MIT","description":"Web transports for chittie: Web Serial, WebUSB, Web Bluetooth. Browser platform APIs only.","maintainers":[{"name":"octalpixel","email":"mithushancj@gmail.com"}],"readme":"# @angadie/chittie-transport-web\n\nWeb transports for chittie: **Web Serial**, **WebUSB**, and **Web Bluetooth**. Browser platform APIs only — no third-party dependencies. Each factory returns a [`Transport`](../chittie-transport).\n\n> Web Serial / WebUSB / Web Bluetooth require a Chromium browser (Chrome/Edge desktop) over HTTPS, and `connect()` must be called from a user gesture (click).\n\n## Install\n\n```bash\npnpm add @angadie/chittie-transport-web @angadie/chittie-transport\n```\n\n## Web Serial (most desktop POS printers)\n\n```ts\nimport { print } from '@angadie/chittie-transport';\nimport { createWebSerialTransport } from '@angadie/chittie-transport-web';\n\nconst transport = createWebSerialTransport({ baudRate: 9600 });\nbutton.onclick = () => print(transport, bytes); // connect() prompts for the port\n```\n\n`createWebSerialTransport` reconnects silently to a previously-granted port; otherwise it prompts.\n\n## Web Bluetooth (BLE printers)\n\nYou supply the printer's GATT service + characteristic UUIDs:\n\n```ts\nimport { createWebBluetoothTransport } from '@angadie/chittie-transport-web';\n\nconst transport = createWebBluetoothTransport({\n  serviceUuid: 0x18f0,\n  characteristicUuid: 0x2af1,\n  namePrefix: 'Printer',   // optional device filter\n  chunkSize: 180,          // BLE write size\n});\n```\n\n## Bridge (USB / network printers a browser can't reach)\n\nBrowsers can't open USB printer-class devices or raw TCP. Run the [`chittie print-agent`](../../tools/print-agent) on the terminal and POST bytes to it:\n\n```ts\nimport { print } from '@angadie/chittie-transport';\nimport { createBridgeTransport } from '@angadie/chittie-transport-web';\n\nconst transport = createBridgeTransport({ url: 'http://localhost:8930', token: 'secret', printer: 'usb' });\nawait print(transport, bytes); // connect() pings /health, write() POSTs /print\n```\n\nThe agent raw-prints to the OS queue (Windows winspool / CUPS) or, in virtual mode, renders a PNG.\n\n## WebUSB\n\n```ts\nimport { createWebUsbTransport } from '@angadie/chittie-transport-web';\n\nconst transport = createWebUsbTransport({ filters: [{ vendorId: 0x0416 }] });\n```\n\nClaims the device's first interface and writes to its first OUT endpoint. Some printers need a specific interface/endpoint — open an issue if yours differs.\n\n## License\n\nMIT.\n","readmeFilename":"README.md"}