{"_id":"@brainz_llc/js","_rev":"6-343ebd1676424c8f5e2c037de5f03c56","name":"@brainz_llc/js","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@brainz_llc/js","version":"0.1.0","keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"author":{"name":"Brainz Lab"},"license":"MIT","_id":"@brainz_llc/js@0.1.0","maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"homepage":"https://github.com/brainz-lab/brainzlab-js#readme","bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"dist":{"shasum":"3ea64c14e2043d809b6c6203faae68612f3c8404","tarball":"https://registry.npmjs.org/@brainz_llc/js/-/js-0.1.0.tgz","fileCount":22,"integrity":"sha512-li8JkoPwxUtkXpRttoHFE9Cae26yo7v5RBhy1+EBajj/OW9C1CyfbyJ600wS5lXgyBIQYfz+9Mz0JsqTN6Uzfw==","signatures":[{"sig":"MEUCIG2gJxfwPmGkNNPomEj/1Ay1JOVYUxa2Vq/eFO8D9TGLAiEA0yUxYjNouOYI/nZBcwFC15NXRPvV3sy6WHiWyqC5xeY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227972},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"a9d580b2db267e57289c79d0a4e8163ff9214635","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"brainz_lab","email":"npm@brainz.llc"},"repository":{"url":"git+https://github.com/brainz-lab/brainzlab-js.git","type":"git"},"_npmVersion":"11.6.2","description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@brainzlab/js":"../brainzlab-js"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.2","rollup":"^4.9.0","typescript":"^5.3.0","@types/node":"^20.10.0","@hotwired/stimulus":"^3.2.2","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"@hotwired/stimulus":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/js_0.1.0_1767506201416_0.02876612692018421","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@brainz_llc/js","version":"0.1.1","keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"author":{"name":"Brainz Lab"},"license":"MIT","_id":"@brainz_llc/js@0.1.1","maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"homepage":"https://github.com/brainz-lab/brainzlab-js#readme","bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"dist":{"shasum":"f72277b95ba698fe7605be1e01a2f78c09d73d15","tarball":"https://registry.npmjs.org/@brainz_llc/js/-/js-0.1.1.tgz","fileCount":24,"integrity":"sha512-uwOV38oOOhNzGz3MkKI/BPCLTw+enzRLjwyclqRVsKon6MEp4HrZGeRqLmHsGqL6A7iJXhmtI4SfF8+xyCJWcA==","signatures":[{"sig":"MEQCICOztQudjPWTsClowvBaO7RFjjNYB69RlhQrITCwfLRKAiAA8dSctIszyPNCdfb+FijENfMJBiSkzH9LRmlWvL/hzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325363},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/brainzlab.umd.js","module":"dist/index.esm.js","browser":"dist/brainzlab.umd.js","gitHead":"a9d580b2db267e57289c79d0a4e8163ff9214635","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"brainz_lab","email":"npm@brainz.llc"},"jsdelivr":"dist/brainzlab.umd.js","repository":{"url":"git+https://github.com/brainz-lab/brainzlab-js.git","type":"git"},"_npmVersion":"11.6.2","description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@brainzlab/js":"../brainzlab-js"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.2","rollup":"^4.9.0","typescript":"^5.3.0","@types/node":"^20.10.0","@hotwired/stimulus":"^3.2.2","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"@hotwired/stimulus":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/js_0.1.1_1767506379347_0.5239066377340378","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@brainz_llc/js","version":"0.1.2","keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"author":{"name":"Brainz Lab"},"license":"MIT","_id":"@brainz_llc/js@0.1.2","maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"homepage":"https://github.com/brainz-lab/brainzlab-js#readme","bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"dist":{"shasum":"ba14c61b9d6003896bbe7172beb559fbfebf8a0f","tarball":"https://registry.npmjs.org/@brainz_llc/js/-/js-0.1.2.tgz","fileCount":24,"integrity":"sha512-9SJ1DK52zrG1JD7GvxvO6Jd13Bjs4fDOChS2rgO6kn7CxHWIoWa8KC7yFblcE7znwtEv6Vo/axDXduUepy4OEQ==","signatures":[{"sig":"MEUCIQCiZh4CoXFAvEtM9mGf0wk9L67hIKEAMBPEV448jwqoNQIgUBOaqbS92+HD7/dOMGRkl1kWEqnUInQC/+PGHc3wycQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325512},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/brainzlab.umd.js","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./umd":"./dist/brainzlab.umd.js"},"gitHead":"3d0ae1be1e701a20934eda0448af0103042fc770","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"brainz_lab","email":"npm@brainz.llc"},"jsdelivr":"dist/brainzlab.umd.js","repository":{"url":"git+https://github.com/brainz-lab/brainzlab-js.git","type":"git"},"_npmVersion":"11.6.2","description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@brainzlab/js":"../brainzlab-js"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.2","rollup":"^4.9.0","typescript":"^5.3.0","@types/node":"^20.10.0","@hotwired/stimulus":"^3.2.2","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"@hotwired/stimulus":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/js_0.1.2_1767506515344_0.5068094477868159","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@brainz_llc/js","version":"0.1.3","keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"author":{"name":"Brainz Lab"},"license":"MIT","_id":"@brainz_llc/js@0.1.3","maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"homepage":"https://github.com/brainz-lab/brainzlab-js#readme","bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"dist":{"shasum":"ffe3bf0d1b71a207b0014c044c26a727d6685a1f","tarball":"https://registry.npmjs.org/@brainz_llc/js/-/js-0.1.3.tgz","fileCount":24,"integrity":"sha512-K9ZILK2GCyYiueiwALEdACTpORMGDKAAphGYegoSv/AkZIjcuLI2a93U0KBIWGFO16R4hyudL5K5icHmxyc7rw==","signatures":[{"sig":"MEYCIQCyFNEeowEe8bj9+6plczcRx7WBejBZUNXp4o3HITJTAgIhAJiPhorWv/sb9E+EEk33GZHhDWOyq3FgmTU+8pSpHmxj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379704},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/brainzlab.umd.js","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./umd":"./dist/brainzlab.umd.js"},"gitHead":"01d287514fcc643834ffbeee64e218eb5a1efc0b","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"brainz_lab","email":"npm@brainz.llc"},"jsdelivr":"dist/brainzlab.umd.js","repository":{"url":"git+https://github.com/brainz-lab/brainzlab-js.git","type":"git"},"_npmVersion":"11.6.2","description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","directories":{},"_nodeVersion":"24.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.2","rollup":"^4.9.0","typescript":"^5.3.0","@types/node":"^20.10.0","@hotwired/stimulus":"^3.2.2","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"@hotwired/stimulus":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/js_0.1.3_1767507348363_0.9449985659264009","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@brainz_llc/js","version":"0.1.4","keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"author":{"name":"Brainz Lab"},"license":"MIT","_id":"@brainz_llc/js@0.1.4","maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"homepage":"https://github.com/brainz-lab/brainzlab-js#readme","bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"dist":{"shasum":"d1ea28fa6ccc740dd6b0e1ef10d89ab4f0e74e2d","tarball":"https://registry.npmjs.org/@brainz_llc/js/-/js-0.1.4.tgz","fileCount":24,"integrity":"sha512-IInpYkBtmQFM6vBb96nICpVH2JhnsTj3nG62mcCS6aVA6zKJnml1iVFkHZQDOZIsveWmCUb9HxsVGLy8UwuxOw==","signatures":[{"sig":"MEUCIBh2MbVsuAWivwzibfmVWysk5En7TMVT3GPoR8eFFbD9AiEArzRZEkX7f2xDNokNBKwhHh84q9Q5tB6vsjpPnPyo2Lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393090},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","unpkg":"dist/brainzlab.umd.js","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./umd":"./dist/brainzlab.umd.js"},"gitHead":"7c206ced48588fe2bac5a9112e6020572878e44a","scripts":{"dev":"rollup -c -w","lint":"eslint src --ext .ts,.js","test":"jest","build":"rollup -c","prepublishOnly":"npm run build"},"_npmUser":{"name":"brainz_lab","email":"npm@brainz.llc"},"jsdelivr":"dist/brainzlab.umd.js","repository":{"url":"git+https://github.com/brainz-lab/brainzlab-js.git","type":"git"},"_npmVersion":"11.6.2","description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","directories":{},"_nodeVersion":"24.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.2","rollup":"^4.9.0","typescript":"^5.3.0","@types/node":"^20.10.0","@hotwired/stimulus":"^3.2.2","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"@hotwired/stimulus":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/js_0.1.4_1767511457609_0.3058978761779647","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@brainz_llc/js","version":"0.1.5","type":"module","description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","main":"dist/index.js","module":"dist/index.esm.js","unpkg":"dist/brainzlab.umd.js","jsdelivr":"dist/brainzlab.umd.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.js","types":"./dist/index.d.ts"},"./umd":"./dist/brainzlab.umd.js"},"scripts":{"build":"rollup -c","dev":"rollup -c -w","test":"jest","lint":"eslint src --ext .ts,.js","prepublishOnly":"npm run build"},"keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"author":{"name":"Brainz Lab"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/brainz-lab/brainzlab-js.git"},"peerDependencies":{"@hotwired/stimulus":"^3.0.0"},"devDependencies":{"@hotwired/stimulus":"^3.2.2","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-typescript":"^11.1.6","@types/node":"^20.10.0","rollup":"^4.9.0","tslib":"^2.6.2","typescript":"^5.3.0"},"dependencies":{},"gitHead":"68bb5bdee63ff02d40d85b1aa03025e33a5574d3","_id":"@brainz_llc/js@0.1.5","bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"homepage":"https://github.com/brainz-lab/brainzlab-js#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-9kjCjHlrggCGiRDjhhvjFxivXKUkZEKe98nTo0xaagDKsBK2aRaEs3ci/RQ1mJJQwK17qjAsPmXK9K34iS7h9g==","shasum":"8ec051fd043cea36712a4a2e4acdeb77b2534ea7","tarball":"https://registry.npmjs.org/@brainz_llc/js/-/js-0.1.5.tgz","fileCount":24,"unpackedSize":402733,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCAnzYiRTA/4393eVBUOKwYkNcd9ozD2vjAjr9UlF1lAwIhANwPCos1TbpCR9rutw9yhwYoge+uWguAIHmLSgNhqySE"}]},"_npmUser":{"name":"brainz_lab","email":"npm@brainz.llc"},"directories":{},"maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/js_0.1.5_1767512075615_0.9981400356341874"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-04T05:56:41.254Z","modified":"2026-01-04T07:34:36.029Z","0.1.0":"2026-01-04T05:56:41.542Z","0.1.1":"2026-01-04T05:59:39.486Z","0.1.2":"2026-01-04T06:01:55.486Z","0.1.3":"2026-01-04T06:15:48.585Z","0.1.4":"2026-01-04T07:24:17.781Z","0.1.5":"2026-01-04T07:34:35.789Z"},"bugs":{"url":"https://github.com/brainz-lab/brainzlab-js/issues"},"author":{"name":"Brainz Lab"},"license":"MIT","homepage":"https://github.com/brainz-lab/brainzlab-js#readme","keywords":["brainzlab","monitoring","observability","stimulus","hotwire","apm","error-tracking","performance"],"repository":{"type":"git","url":"git+https://github.com/brainz-lab/brainzlab-js.git"},"description":"BrainzLab JavaScript SDK - Stimulus controllers for full-stack observability","maintainers":[{"name":"brainz_lab","email":"npm@brainz.llc"}],"readme":"# @brainz_llc/js\n\nJavaScript SDK for BrainzLab - Full-stack observability for JavaScript/TypeScript applications with Stimulus controllers.\n\n## Installation\n\n```bash\nnpm install @brainz_llc/js\n# or\nyarn add @brainz_llc/js\n```\n\n## Usage with Importmaps (Rails 7+)\n\nAdd to your `config/importmap.rb`:\n\n```ruby\npin \"@brainz_llc/js\", to: \"https://cdn.jsdelivr.net/npm/@brainz_llc/js@0.1.1/dist/index.esm.js\"\npin \"@hotwired/stimulus\", to: \"stimulus.min.js\", preload: true\n```\n\nThen in your `app/javascript/controllers/index.js`:\n\n```javascript\nimport { application } from \"./application\"\nimport { BrainzlabController } from \"@brainz_llc/js\"\n\napplication.register(\"brainzlab\", BrainzlabController)\n```\n\n## Usage with Stimulus (esbuild/webpack)\n\n### 1. Register the controller\n\n```javascript\n// app/javascript/controllers/index.js\nimport { application } from \"./application\"\nimport { BrainzlabController } from \"@brainz_llc/js\"\n\napplication.register(\"brainzlab\", BrainzlabController)\n```\n\n### 2. Add to your layout\n\n```erb\n<body data-controller=\"brainzlab\"\n      data-brainzlab-endpoint-value=\"<%= ENV['BRAINZLAB_PLATFORM_URL'] %>\"\n      data-brainzlab-api-key-value=\"<%= ENV['BRAINZLAB_API_KEY'] %>\"\n      data-brainzlab-environment-value=\"<%= Rails.env %>\"\n      data-brainzlab-service-value=\"my-app\"\n      data-brainzlab-debug-value=\"<%= Rails.env.development? %>\">\n```\n\n## Configuration Options\n\n| Data Attribute | Description | Default |\n|----------------|-------------|---------|\n| `endpoint-value` | BrainzLab API endpoint | Required |\n| `api-key-value` | Your BrainzLab API key | Required |\n| `environment-value` | Environment name | `production` |\n| `service-value` | Service/app name | - |\n| `release-value` | Release/version | - |\n| `debug-value` | Enable debug logging | `false` |\n| `sample-rate-value` | Performance event sample rate (0-1) | `1.0` |\n| `enable-errors-value` | Track JavaScript errors | `true` |\n| `enable-network-value` | Track fetch/XHR requests | `true` |\n| `enable-performance-value` | Track Web Vitals | `true` |\n| `enable-console-value` | Track console output | `true` |\n\n## Standalone Usage\n\n```javascript\nimport { init } from \"@brainz_llc/js\"\n\ninit({\n  endpoint: \"https://platform.brainzlab.ai\",\n  apiKey: \"your-api-key\",\n  environment: \"production\",\n  service: \"my-app\",\n  debug: false,\n})\n```\n\n## Features\n\n### Error Tracking\n- Captures `window.onerror` events\n- Captures unhandled promise rejections\n- Manual error capture with `captureError(error)`\n\n### Network Monitoring\n- Intercepts `fetch()` requests\n- Intercepts `XMLHttpRequest` requests\n- Tracks request duration, status, and errors\n\n### Performance Monitoring\n- Core Web Vitals (LCP, FID, CLS, INP)\n- Navigation timing (TTFB, FCP)\n- Long task detection\n- Slow resource detection\n\n### Console Tracking\n- Captures `console.log`, `console.warn`, `console.error`\n- Truncates long messages automatically\n\n## Manual Event Tracking\n\n```javascript\n// Track custom events via Stimulus actions\n<button data-action=\"brainzlab#track\"\n        data-brainzlab-name-param=\"button_click\"\n        data-brainzlab-button-param=\"signup\">\n  Sign Up\n</button>\n\n// Track page views (useful for SPA)\n<div data-action=\"turbo:load->brainzlab#pageView\"></div>\n\n// Identify users\n<div data-controller=\"brainzlab\"\n     data-action=\"login:success->brainzlab#identify\"\n     data-brainzlab-user-id-param=\"123\"\n     data-brainzlab-traits-param='{\"email\":\"user@example.com\"}'>\n</div>\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}