{"_id":"@bara-agency/bems-sdk","_rev":"2-a22b25dc6b462844f8337519f47a3407","name":"@bara-agency/bems-sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@bara-agency/bems-sdk","version":"0.1.0","keywords":["bara","bems","retool","heroku","error-monitoring"],"license":"MIT","_id":"@bara-agency/bems-sdk@0.1.0","maintainers":[{"name":"nikomart","email":"niko.martell3@gmail.com"}],"homepage":"https://github.com/baraagency/bems-sdk#readme","bugs":{"url":"https://github.com/baraagency/bems-sdk/issues"},"dist":{"shasum":"fbe9ba8611b5f1baabd4bed73ca2de0ab94e6beb","tarball":"https://registry.npmjs.org/@bara-agency/bems-sdk/-/bems-sdk-0.1.0.tgz","fileCount":12,"integrity":"sha512-qNqnlshiHhP0ZQGRGvsQ6kn2f4X64rN8QbtOmgypocwDnsWTVOXc096b19TB2onzf2B+qNPhVWRkO+y8AWirhA==","signatures":[{"sig":"MEYCIQD/9fAUlhnAd/CHF+JuCCaXziemWFGCyhntqhZUnBN9tQIhAPj1lRcqYqjqhB3P/7PvFXrNwUDNL3ziiqW8mbR/HBev","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18838},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4a21fc0ae60bc315f2a1d258ca2e9af9f24e23a4","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"nikomart","email":"niko.martell3@gmail.com"},"repository":{"url":"git+https://github.com/baraagency/bems-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"Send Heroku app errors to the Bara BEMS Log Error Retool workflow","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.0","@types/express":"^5.0.0"},"peerDependencies":{"express":">=4.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/bems-sdk_0.1.0_1787338579633_0.16822615589241363","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bara-agency/bems-sdk","version":"0.1.1","description":"Send Heroku app errors to the Bara BEMS Log Error Retool workflow","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/baraagency/bems-sdk.git"},"publishConfig":{"access":"public"},"keywords":["bara","bems","retool","heroku","error-monitoring"],"license":"MIT","devDependencies":{"@types/express":"^5.0.0","@types/node":"^22.10.0","typescript":"^5.7.2"},"peerDependencies":{"express":">=4.0.0"},"peerDependenciesMeta":{"express":{"optional":true}},"gitHead":"f1691567aa6afd4f1240a9d786d7114d147fd100","_id":"@bara-agency/bems-sdk@0.1.1","bugs":{"url":"https://github.com/baraagency/bems-sdk/issues"},"homepage":"https://github.com/baraagency/bems-sdk#readme","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-tMNmWvOatLDKF2yQ0HfS2ZUdDwQRA3Z3AT4b6W2xC9H3fma735GEWa2L7HfZm2h/uMCzhqp9Grkw2gDKSAuVjg==","shasum":"d9e6ba78c596c9e9c7b4c7f0c95b3f6bd2a8b744","tarball":"https://registry.npmjs.org/@bara-agency/bems-sdk/-/bems-sdk-0.1.1.tgz","fileCount":12,"unpackedSize":21457,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCP+VkfVWfrwaNwAMWpVF9DCg5bc/BM+uFuxVKBRrILvQIhAJbNTFBf2a9qHQaHJ2Zz70Xk0CWO/jCrRZj0LLzD17d8"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d5c19866-791a-4368-9d47-422ad4fa5805"}},"directories":{},"maintainers":[{"name":"nikomart","email":"niko.martell3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bems-sdk_0.1.1_1787348889540_0.5404336765031843"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T18:56:19.464Z","modified":"2026-08-21T21:48:09.932Z","0.1.0":"2026-08-21T18:56:19.789Z","0.1.1":"2026-08-21T21:48:09.692Z"},"bugs":{"url":"https://github.com/baraagency/bems-sdk/issues"},"license":"MIT","homepage":"https://github.com/baraagency/bems-sdk#readme","keywords":["bara","bems","retool","heroku","error-monitoring"],"repository":{"type":"git","url":"git+https://github.com/baraagency/bems-sdk.git"},"description":"Send Heroku app errors to the Bara BEMS Log Error Retool workflow","maintainers":[{"name":"nikomart","email":"niko.martell3@gmail.com"}],"readme":"# @bara-agency/bems-sdk\n\nSend errors from Heroku Node.js apps to the Bara **Log Error** Retool workflow webhook using the same payload shape as existing Retool and Zapier integrations.\n\n## Install\n\n```bash\nnpm install @bara-agency/bems-sdk\n```\n\n## Environment variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `RETOOL_LOG_ERROR_API_KEY` | Yes | Sent as `X-Workflow-Api-Key` header |\n| `APP_ID` | Yes | Project UUID sent as `app_id` (see below) |\n| `APP_NAME` | Yes | Display name → payload `app_name` |\n| `APP_LINK` | Yes | Heroku dashboard URL → payload `app_link` (not the public app URL) |\n| `APP_ENV` | Yes (production) | Errors are sent **only** when `APP_ENV=production` |\n| `RETOOL_LOG_ERROR_SYSTEM` | No | Default `\"Heroku\"` |\n| `RETOOL_LOG_ERROR_WEBHOOK_URL` | No | Default `https://bara.retool.com/url/bals-query` |\n| `RETOOL_LOG_ERROR_ENABLED` | No | Set to `\"false\"` to disable |\n| `RETOOL_LOG_ERROR_EXCLUDED_STATUS_CODES` | No | Default `500,404,403` |\n\n### Webhook endpoint\n\n```\nhttps://bara.retool.com/url/bals-query\n```\n\nAuthentication: **`X-Workflow-Api-Key`** header from `RETOOL_LOG_ERROR_API_KEY`.\n\n### `APP_ID` — project UUID\n\nGenerate once per project and reuse on every Heroku environment:\n\n```bash\nuuidgen | tr '[:upper:]' '[:lower:]'\n```\n\n| Variable | Payload field |\n|----------|---------------|\n| `APP_ID` | `app_id` |\n| `APP_NAME` | `app_name` |\n| `APP_LINK` | `app_link` (Heroku dashboard URL) |\n\n## Usage\n\n```typescript\nimport express from \"express\";\nimport { createRetoolErrorLogger } from \"@bara-agency/bems-sdk\";\n\nconst errorLogger = createRetoolErrorLogger();\n\nerrorLogger.installProcessHandlers();\n\nconst app = express();\napp.use(errorLogger.expressMiddleware());\n\napp.listen(process.env.PORT ?? 3000);\n```\n\n## Heroku config (production)\n\n```bash\nheroku config:set \\\n  RETOOL_LOG_ERROR_API_KEY=\"your-workflow-api-key\" \\\n  APP_ID=\"your-project-uuid\" \\\n  APP_NAME=\"bara-forms\" \\\n  APP_LINK=\"https://dashboard.heroku.com/apps/bara-forms-prod\" \\\n  APP_ENV=\"production\" \\\n  --app bara-forms-prod\n```\n\n## Docs\n\n- [Log Error workflow review](docs/log-error-workflow-review.md)\n- [bara-forms integration guide](docs/bara-forms-integration.md)\n\n## Development\n\n```bash\nnpm install\nnpm run build\n```\n\n## Publish\n\nReleases are published to npm when you:\n\n- Create a GitHub Release, or\n- Push a version tag (`git push origin v0.1.1`), or\n- Run the **Publish** workflow manually from the Actions tab\n\nThe workflow uses npm [trusted publishing](https://docs.npmjs.com/trusted-publishers) (OIDC) — no `NPM_TOKEN` secret is required.\n\nFor a manual publish from your machine:\n\n```bash\nnpm publish --access public --otp=YOUR_6_DIGIT_CODE\n```\n\nRequires npm login with publish access to the `@bara-agency` scope.\n","readmeFilename":"README.md"}