{"_id":"@dada78641/strim-obstools","_rev":"7-1a9fe257fb16b693eb2da808b6eb24eb","name":"@dada78641/strim-obstools","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.1":{"name":"@dada78641/strim-obstools","version":"0.0.1","license":"MIT","_id":"@dada78641/strim-obstools@0.0.1","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"homepage":"https://github.com/dada78641/strim-obstools#readme","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"dist":{"shasum":"0a6b661a53a6fd5e129c1e8b0a7199f1118adbc0","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.1.tgz","fileCount":9,"integrity":"sha512-kVzkCJ0KOPjXuNPvfHC8iAfX5R+YqBXHqTcJfGjIbjbCdlBbUzPVv6zzYW4KP1EtstrZWNCAld+qIFN7RAzyCw==","signatures":[{"sig":"MEUCIAIHBdZoLpRskeWvHuhwrahCoE++u3SU+ZEXaXH2WiAjAiEA9gsi2fyYx9KulkXwOwR8auvSac5dyIzmEC6zgPoYSWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230552},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"gitHead":"0495a9d93ec13db24774f39c0b5fbb50320d97a2","scripts":{"lint":"eslint .","test":"vitest run","build":"tsdown","check":"tsc -p ./tsconfig.json --noEmit","watch":"tsdown --watch src"},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"repository":{"url":"git+https://github.com/dada78641/strim-obstools.git","type":"git"},"_npmVersion":"11.5.1","description":"Higher level OBS operations using the websocket","directories":{},"_nodeVersion":"24.6.0","dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","eslint":"^9.34.0","tsdown":"^0.20.0-beta.3","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0","@types/lodash-es":"^4.17.12","@dada78641/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/strim-obstools_0.0.1_1769702904396_0.2895980100408675","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@dada78641/strim-obstools","version":"0.0.2","license":"MIT","_id":"@dada78641/strim-obstools@0.0.2","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"homepage":"https://github.com/dada78641/strim-obstools#readme","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"dist":{"shasum":"04a20dc6d2d94e29a4cd7f08ded4a9977acd69aa","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.2.tgz","fileCount":9,"integrity":"sha512-9TMJkoJG1nwBtEwz3BIZ0tAngkUSOJ7L8iY5w5DqxzGmv32e7SWBBeyVNF8b0POKN4T2lWT+YOEHdoGy8nyzXw==","signatures":[{"sig":"MEUCIEVuu8oQS+NpsITqEZf+ak/5SzdZB2ct6sEBLiKmY9YxAiEAzZJ1q0KKmDRGz17plPlzdSCBy2FPFZBUlqxjslJ+2sA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230507},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.mts","default":"./dist/index.cjs"}}},"gitHead":"1c79f87acc174a01689ee4aa6bfd064ec3e3c169","scripts":{"lint":"eslint .","test":"vitest run","build":"tsdown","check":"tsc -p ./tsconfig.json --noEmit","watch":"tsdown --watch src"},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"repository":{"url":"git+https://github.com/dada78641/strim-obstools.git","type":"git"},"_npmVersion":"11.5.1","description":"Higher level OBS operations using the websocket","directories":{},"_nodeVersion":"24.6.0","dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","eslint":"^9.34.0","tsdown":"^0.20.0-beta.3","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0","@types/lodash-es":"^4.17.12","@dada78641/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/strim-obstools_0.0.2_1769703707115_0.7679073021530582","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@dada78641/strim-obstools","version":"0.0.3","license":"MIT","_id":"@dada78641/strim-obstools@0.0.3","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"homepage":"https://github.com/dada78641/strim-obstools#readme","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"dist":{"shasum":"2324544bc32a63969c1cfea7457175bedc3ef7f9","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.3.tgz","fileCount":9,"integrity":"sha512-OKIvCM+iH90nslxhATqMng4hLrP/vZO89/G6lHybHc0uTKDHTcBtA7tLSaVTR42MiBuPaHJO3dBQ8+OLeYEVug==","signatures":[{"sig":"MEQCIBjilQN39JYlphs7ReNURkuPt69WoI+9F3tR+L3hcXM7AiB5lU+EKoNOng3IADcSpdCfh2yDE3UJRsDt03xp3j04Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234121},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.mts","default":"./dist/index.cjs"}}},"gitHead":"b608a36be02f09cf1d69f7788abbbf9fafab2383","scripts":{"lint":"eslint .","test":"vitest run","build":"tsdown","check":"tsc -p ./tsconfig.json --noEmit","watch":"tsdown --watch src"},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"repository":{"url":"git+https://github.com/dada78641/strim-obstools.git","type":"git"},"_npmVersion":"11.5.1","description":"Higher level OBS operations using the websocket","directories":{},"_nodeVersion":"24.6.0","dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","eslint":"^9.34.0","tsdown":"^0.20.0-beta.3","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0","@types/lodash-es":"^4.17.12","@dada78641/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/strim-obstools_0.0.3_1778151435229_0.24999166930825667","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@dada78641/strim-obstools","version":"0.0.4","license":"MIT","_id":"@dada78641/strim-obstools@0.0.4","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"homepage":"https://github.com/dada78641/strim-obstools#readme","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"dist":{"shasum":"76c8f81e705d576ce0e85f2db4ace58bc3302c44","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.4.tgz","fileCount":9,"integrity":"sha512-/dvaxvzjyRcW8BubuB06LQ7kd7K3GpQCLkr3+Fb4Emlt8TO8oHhudfkvN4AqKIj1/4xSuJ3ap0IBaANOT4nhlw==","signatures":[{"sig":"MEUCIQDOpAro/wonxK+moJVQRDKl5isg25XlMGRKaE9rXVfShgIgNwxUwv6bvXW7QBKVrgFBO6GJKQS1fKXIZPb03UkjBzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237765},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.mts","default":"./dist/index.cjs"}}},"gitHead":"a23a1bf5deb806bad4d7ed34c192e9b7c02a44f2","scripts":{"lint":"eslint .","test":"vitest run","build":"tsdown","check":"tsc -p ./tsconfig.json --noEmit","watch":"tsdown --watch src"},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"repository":{"url":"git+https://github.com/dada78641/strim-obstools.git","type":"git"},"_npmVersion":"11.5.1","description":"Higher level OBS operations using the websocket","directories":{},"_nodeVersion":"24.6.0","dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","eslint":"^9.34.0","tsdown":"^0.20.0-beta.3","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0","@types/lodash-es":"^4.17.12","@dada78641/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/strim-obstools_0.0.4_1778256988704_0.15665585021614348","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@dada78641/strim-obstools","version":"0.0.5","license":"MIT","_id":"@dada78641/strim-obstools@0.0.5","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"homepage":"https://github.com/dada78641/strim-obstools#readme","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"dist":{"shasum":"a1d599eb882a599839c5b9aa5faba2e10b18ac21","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.5.tgz","fileCount":9,"integrity":"sha512-iUHtPQ7b6Yl+kXTmCH8BOzf8WF95pe9BZSV/svN7OwMlvKYdiraAXa5Z4P2dC2DbbZlKoKCJo4mfZ7zMbbYGFA==","signatures":[{"sig":"MEYCIQCzGgnk43Wi/q9PHdbZtzAR4ljOdv/bYCGy+tJhIPx0VAIhAOaRbfuSUjlpfnUdYv7cKtpSitJD6QVmjcPiq2QTAfNq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237445},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.mts","default":"./dist/index.cjs"}}},"gitHead":"3abf018b2af688089ab160d77633be2ff0c7f8ea","scripts":{"lint":"eslint .","test":"vitest run","build":"tsdown","check":"tsc -p ./tsconfig.json --noEmit","watch":"tsdown --watch src"},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"repository":{"url":"git+https://github.com/dada78641/strim-obstools.git","type":"git"},"_npmVersion":"11.5.1","description":"Higher level OBS operations using the websocket","directories":{},"_nodeVersion":"24.6.0","dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","eslint":"^9.34.0","tsdown":"^0.20.0-beta.3","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0","@types/lodash-es":"^4.17.12","@dada78641/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/strim-obstools_0.0.5_1778318148425_0.1452002895976363","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@dada78641/strim-obstools","version":"0.0.6","license":"MIT","_id":"@dada78641/strim-obstools@0.0.6","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"homepage":"https://github.com/dada78641/strim-obstools#readme","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"dist":{"shasum":"1c89cae2edfeb3a422b7f5c8c11cae63fe31cc18","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.6.tgz","fileCount":9,"integrity":"sha512-kztgRI/oASo9TGFiRYX8XWgBEGHoKbev0jlwcoB19uEr2kUKlm4vnA2wedTF58Q4XPd252Pt0CGNCedJmTYLkg==","signatures":[{"sig":"MEUCIQDZc6u86TTmp15ktF18YVjMQulL10kUOnkt4S/2mOdFwwIgKhgujm443T1VHDsNlIgfnEoqzT1vjncVle+LviZeW80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237541},"main":"dist/index.cjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.mts","default":"./dist/index.cjs"}}},"gitHead":"34657a815b3f93d024d3b9f705db1d6de83c4bff","scripts":{"lint":"eslint .","test":"vitest run","build":"tsdown","check":"tsc -p ./tsconfig.json --noEmit","watch":"tsdown --watch src"},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"repository":{"url":"git+https://github.com/dada78641/strim-obstools.git","type":"git"},"_npmVersion":"11.17.0","description":"Higher level OBS operations using the websocket","directories":{},"_nodeVersion":"24.6.0","dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.5.1","eslint":"^9.34.0","tsdown":"^0.20.0-beta.3","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.3.0","@types/lodash-es":"^4.17.12","@dada78641/eslint-config":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/strim-obstools_0.0.6_1782643809499_0.977273546920193","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@dada78641/strim-obstools","description":"Higher level OBS operations using the websocket","version":"0.0.7","type":"module","main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.mts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.mts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsdown","watch":"tsdown --watch src","check":"tsc -p ./tsconfig.json --noEmit","test":"vitest run","lint":"eslint ."},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dada78641/strim-obstools.git"},"license":"MIT","devDependencies":{"@dada78641/eslint-config":"^1.0.1","@types/lodash-es":"^4.17.12","@types/node":"^24.3.0","eslint":"^9.34.0","jiti":"^2.5.1","tsdown":"^0.20.0-beta.3","typescript":"^5.9.2","vitest":"^3.2.4"},"dependencies":{"lodash-es":"^4.17.22","obs-websocket-js":"^5.0.7"},"gitHead":"c9f0b79353b9ab37f741d3171e61f09beae05d7b","_id":"@dada78641/strim-obstools@0.0.7","bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"homepage":"https://github.com/dada78641/strim-obstools#readme","_nodeVersion":"24.6.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-lEVHOYIOPQjAwSvGoy5baSXWM/uP9Gevobnf+cevvooxcdQl52D23AIvHOvjBFWdE6ss308jgm6bX0cX3hS63Q==","shasum":"3f53837672b88cd334cfb8308b3884a058dec206","tarball":"https://registry.npmjs.org/@dada78641/strim-obstools/-/strim-obstools-0.0.7.tgz","fileCount":9,"unpackedSize":271169,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDJrFey0NPAR9xsgC9I+iMcWCLWzHTFVPrET07xaDf/PgIhALTSbhK80mr+30q6b7k1wHK6pnUk3WIBr0TGtn+q5ELQ"}]},"_npmUser":{"name":"dada78641","email":"dada78641.exe@gmail.com"},"directories":{},"maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/strim-obstools_0.0.7_1782652871984_0.24191218659585156"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-29T16:08:24.323Z","modified":"2026-06-28T13:21:12.253Z","0.0.1":"2026-01-29T16:08:24.565Z","0.0.2":"2026-01-29T16:21:47.262Z","0.0.3":"2026-05-07T10:57:15.384Z","0.0.4":"2026-05-08T16:16:28.919Z","0.0.5":"2026-05-09T09:15:48.576Z","0.0.6":"2026-06-28T10:50:09.650Z","0.0.7":"2026-06-28T13:21:12.135Z"},"bugs":{"url":"https://github.com/dada78641/strim-obstools/issues"},"license":"MIT","homepage":"https://github.com/dada78641/strim-obstools#readme","repository":{"type":"git","url":"git+https://github.com/dada78641/strim-obstools.git"},"description":"Higher level OBS operations using the websocket","maintainers":[{"name":"dada78641","email":"dada78641.exe@gmail.com"}],"readme":"[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=fff)](https://www.typescriptlang.org/) [![MIT license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/@dada78641%2Fstrim-obstools.svg)](https://badge.fury.io/js/@dada78641%2Fstrim-obstools)\n\n# @dada78641/strim-obstools\n\nThis library wraps [obs-websocket-js](https://github.com/obs-websocket-community-projects/obs-websocket-js) and provides a number of higher level operations.\n\nThe functionality provided by this library is specific to my personal OBS setup, and most of the functions don't work if the scenes aren't set up in a particular way.\n\n## Usage\n\nInstall via npm:\n\n```bash\nnpm i @dada78641/strim-obstools\n```\n\nBasic usage is as follows:\n\n```js\nimport {ObsTools} from '@dada78641/strim-obstools'\n\nconst ot = new ObsTools({address: 'ws://obs.local:4455', password: 'my_password'})\not.once('ready', async () => {\n  // OBS is connected and ready to do stuff.\n  const game = await ot.getActiveGame()\n  // Direct access to the obs-websocket-js instance:\n  const scenes = await ot.obs.call('GetSceneList')\n})\n```\n\nThe `ready` event is fired when OBS is ready to start handling requests (which might be some time after it successfully connects). See the `ConnectionEvents` type to find out which events get fired.\n\nThis library is designed to be used both on server and browser.\n\n### Tags\n\nThis library is based around the concept of \"tags\" in scene names and source names. Tags take on the following form:\n\n* A single tag: `[[TestItem]]`\n* A key-value tag: `[[Game:StarCraft]]`\n\nThis is used to find specific types of scenes and sources and do stuff with them (e.g. hide/unhide them).\n\n### Triggers\n\nTriggers are a little hack. Very simply put, they're placeholder sources that, when hidden, fire a callback and then unhide themselves. The sources themselves are never seen—they're purely there for the callbacks.\n\nA trigger either just sends a single signal (it's always visible; fires a callback when hidden, and then instantly unhides itself), or can be used as a binary toggle (it can be hidden or visible and fires a callback when toggled).\n\nThe reason triggers are used is because it's an easy way to send custom events without your tool needing to be websocket aware. For example, the Elgato Stream Deck can't send websocket events, but it can hide sources; so using triggers, the Stream Deck can be purposed to directly send events.\n\n## See also\n\n* [OBS Websocket v5 protocol reference](https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md)\n\n## License\n\nMIT licensed.\n","readmeFilename":"readme.md"}