{"_id":"@deutschlandgpt/beacon-sdk","_rev":"7-d8bd40d98f7ea9fafa9ed42a793b83c6","name":"@deutschlandgpt/beacon-sdk","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.0":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.0","keywords":["beacon","status-page","sdk"],"author":{"name":"Titanom"},"license":"MIT","_id":"@deutschlandgpt/beacon-sdk@0.1.0","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"dist":{"shasum":"d45215656d2a59c0c097a6163305949e261b5c48","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.0.tgz","fileCount":9,"integrity":"sha512-R5a1tECrPTUOyCYoaoOpCIWhLOXEfsMMlyHIDZmh/Oz6WiqXXeKDKvrb3as0j6XgM23nJPM2rh7xw7zAubDI2g==","signatures":[{"sig":"MEUCIHgIQ1Hy1/rZ1Ljm+qAB6J6fCShspo9xBILAvl8/MiSPAiEAnxAfagpyGJZvy5UsXaP65SnhK00s2L48S3976VVs95I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57633},"main":"./dist/index.cjs","type":"module","_from":"file:deutschlandgpt-beacon-sdk-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"_resolved":"/tmp/06487c60c3a31bc586577e7519e43382/deutschlandgpt-beacon-sdk-0.1.0.tgz","_integrity":"sha512-R5a1tECrPTUOyCYoaoOpCIWhLOXEfsMMlyHIDZmh/Oz6WiqXXeKDKvrb3as0j6XgM23nJPM2rh7xw7zAubDI2g==","repository":{"url":"git+https://github.com/deutschlandgpt/beacon-sdk.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for the DGPT Beacon API","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@deutschlandgpt/prettier-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beacon-sdk_0.1.0_1771507218092_0.5735635701644124","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.1","keywords":["beacon","status-page","sdk"],"author":{"name":"Titanom"},"license":"MIT","_id":"@deutschlandgpt/beacon-sdk@0.1.1","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"dist":{"shasum":"65559865917043ca9375134321b9ede4f51bba02","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.1.tgz","fileCount":9,"integrity":"sha512-AgdxjjetlylBakDmcJZgR8SPfjh3IyiL5n1zMgLvKAoXeXL1eOSZwnIvdFQ893v/BsU+ATAIepEztoMDneDzow==","signatures":[{"sig":"MEQCIFI90m0DvquGfeacaXugPR0KS10l7PdVaKvuIC9AC/XuAiBoREIzQLm5Bq2J50S6alEbvIL7OR7kx36JWAdZGhewhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59793},"main":"./dist/index.cjs","type":"module","_from":"file:deutschlandgpt-beacon-sdk-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"_resolved":"/tmp/78ad5647e0ef9d4fabd38edff3db7912/deutschlandgpt-beacon-sdk-0.1.1.tgz","_integrity":"sha512-AgdxjjetlylBakDmcJZgR8SPfjh3IyiL5n1zMgLvKAoXeXL1eOSZwnIvdFQ893v/BsU+ATAIepEztoMDneDzow==","repository":{"url":"git+https://github.com/deutschlandgpt/beacon-sdk.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for the DGPT Beacon API","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@deutschlandgpt/prettier-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beacon-sdk_0.1.1_1772038022717_0.5574708305513276","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.2","keywords":["beacon","status-page","sdk"],"author":{"name":"Titanom"},"license":"MIT","_id":"@deutschlandgpt/beacon-sdk@0.1.2","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"dist":{"shasum":"f7dd15ba4fb89a6b63ef5c8650bc26b16fa25453","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.2.tgz","fileCount":9,"integrity":"sha512-XyExOwAthIDqZ0JQHM/GXNbNHV0+bhL5pXK7U1ELwMqvtqG6/XkJx0QX7NhX0p6Ut5Yx5ecBHfoqS4cYN11+Gw==","signatures":[{"sig":"MEQCIGYAENwqLKboPBTU0mhzG8c2WGGMmo74+8ojX8Ko9IcPAiAete3MsTi8rlAryq9lrSKoPyGMU4mJBqFPZ07GHZYw1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59857},"main":"./dist/index.cjs","type":"module","_from":"file:deutschlandgpt-beacon-sdk-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"_resolved":"/tmp/72add6076ab76a7b124dd774bb94b71e/deutschlandgpt-beacon-sdk-0.1.2.tgz","_integrity":"sha512-XyExOwAthIDqZ0JQHM/GXNbNHV0+bhL5pXK7U1ELwMqvtqG6/XkJx0QX7NhX0p6Ut5Yx5ecBHfoqS4cYN11+Gw==","repository":{"url":"git+https://github.com/deutschlandgpt/beacon-sdk.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for the DGPT Beacon API","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@deutschlandgpt/prettier-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beacon-sdk_0.1.2_1772526050231_0.1854289943237981","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.3","keywords":["beacon","status-page","sdk"],"author":{"name":"Titanom"},"license":"MIT","_id":"@deutschlandgpt/beacon-sdk@0.1.3","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"dist":{"shasum":"2b0d15f6bc04d2512dea99e56dc21ed9839be31a","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.3.tgz","fileCount":9,"integrity":"sha512-/9Na5jzlkQAzcOW1zo8eXylpGGWurCJCx0sXDYBuXx2dO611CDfGDjWJGL0t/Qjwd0qNgC6pCSeLQd6Su5krrQ==","signatures":[{"sig":"MEYCIQDFTmGsojTMw6D1GcTKf1KSa20U2jH3NkKM8JotebfrZgIhAMB0tDBtrrfGxkhFeuEhjxqt5eqM1S08v8ZoYX3E3TQZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60601},"main":"./dist/index.cjs","type":"module","_from":"file:deutschlandgpt-beacon-sdk-0.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"_resolved":"/tmp/0a1bb2a8384aaf910874434858fefd07/deutschlandgpt-beacon-sdk-0.1.3.tgz","_integrity":"sha512-/9Na5jzlkQAzcOW1zo8eXylpGGWurCJCx0sXDYBuXx2dO611CDfGDjWJGL0t/Qjwd0qNgC6pCSeLQd6Su5krrQ==","repository":{"url":"git+https://github.com/deutschlandgpt/beacon-sdk.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for the DGPT Beacon API","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.0","typescript":"^5.7.0","@deutschlandgpt/prettier-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beacon-sdk_0.1.3_1772553661694_0.1585586226226785","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.4","keywords":["beacon","status-page","sdk"],"author":{"name":"Titanom"},"license":"MIT","_id":"@deutschlandgpt/beacon-sdk@0.1.4","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"dist":{"shasum":"1f93c8033127b13b5e41756c937baabd1925db5d","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.4.tgz","fileCount":9,"integrity":"sha512-8Q2jz0CUd2buBna1PqSb/jcKvvI2WKrpFktqqPqZKaTv3gAyy9RjyxqETSrMJ219/eCRTRsSVLwAtt+21GsQaw==","signatures":[{"sig":"MEUCIEqHQNtyN9zZyNXoMke5otmY5oFeLDE1dQ6g2QWgBX51AiEApOtpRyPBrMawlYFSGFdwP3OPJb89di3grh3vAb/eVFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68310},"main":"./dist/index.cjs","type":"module","_from":"file:deutschlandgpt-beacon-sdk-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"_resolved":"/tmp/4bd842c9ca7311b1420da100fee3e9f9/deutschlandgpt-beacon-sdk-0.1.4.tgz","_integrity":"sha512-8Q2jz0CUd2buBna1PqSb/jcKvvI2WKrpFktqqPqZKaTv3gAyy9RjyxqETSrMJ219/eCRTRsSVLwAtt+21GsQaw==","repository":{"url":"git+https://github.com/deutschlandgpt/beacon-sdk.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for the DGPT Beacon API","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.2.6","typescript":"^5.7.0","@deutschlandgpt/prettier-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beacon-sdk_0.1.4_1781770196120_0.11923635283369483","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.5","keywords":["beacon","status-page","sdk"],"author":{"name":"Titanom"},"license":"MIT","_id":"@deutschlandgpt/beacon-sdk@0.1.5","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"dist":{"shasum":"ad41ed3e3f3214f3bf1e4f0827213633b8450501","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.5.tgz","fileCount":9,"integrity":"sha512-NDG0QxPr4HF1fi63fPoldpbKRNE801N6TC4knCyxvQHCUR+SO41KOqupsiSF9yyezFelvlB3dOpLfoQPpexL8w==","signatures":[{"sig":"MEUCIDtDFkAHACqfO6oTgw4WNED2dKBoH5BrtzLPorH2CuawAiEAqxUG3n1D9IuyZYVaGY12u5c4PLHMc68+U+SKEdkQ39M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70360},"main":"./dist/index.cjs","type":"module","_from":"file:deutschlandgpt-beacon-sdk-0.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","format":"prettier --write .","typecheck":"tsc --noEmit","format:check":"prettier --check ."},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"_resolved":"/tmp/85421b5c8662bdb7c6bd2aa2c9465371/deutschlandgpt-beacon-sdk-0.1.5.tgz","_integrity":"sha512-NDG0QxPr4HF1fi63fPoldpbKRNE801N6TC4knCyxvQHCUR+SO41KOqupsiSF9yyezFelvlB3dOpLfoQPpexL8w==","repository":{"url":"git+https://github.com/deutschlandgpt/beacon-sdk.git","type":"git"},"_npmVersion":"11.8.0","description":"TypeScript SDK for the DGPT Beacon API","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.2.6","typescript":"^5.7.0","@deutschlandgpt/prettier-config":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/beacon-sdk_0.1.5_1783421854404_0.6240327095427578","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@deutschlandgpt/beacon-sdk","version":"0.1.6","description":"TypeScript SDK for the DGPT Beacon API","keywords":["beacon","status-page","sdk"],"repository":{"type":"git","url":"git+https://github.com/deutschlandgpt/beacon-sdk.git"},"license":"MIT","author":{"name":"DeutschlandGPT"},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","devDependencies":{"@deutschlandgpt/prettier-config":"^1.0.0","tsup":"^8.4.0","typescript":"^5.7.0","vitest":"^3.2.6"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"scripts":{"build":"tsup","format":"prettier --write .","format:check":"prettier --check .","test":"vitest run","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json"},"_id":"@deutschlandgpt/beacon-sdk@0.1.6","bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","_integrity":"sha512-PFs0RqocaqqDYhHoaVkIlzjizgU9aW5v+TVYUTA1rjPAD72vr5U8q4AdRT+bBISu/aFK2X/fW/SQL07LwrZpjw==","_resolved":"/tmp/592427930855dce8d0795e5fcd5cc7b7/deutschlandgpt-beacon-sdk-0.1.6.tgz","_from":"file:deutschlandgpt-beacon-sdk-0.1.6.tgz","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-PFs0RqocaqqDYhHoaVkIlzjizgU9aW5v+TVYUTA1rjPAD72vr5U8q4AdRT+bBISu/aFK2X/fW/SQL07LwrZpjw==","shasum":"0f2ad5fd4e9e1da570b5e1398819ad3b5cabd4f5","tarball":"https://registry.npmjs.org/@deutschlandgpt/beacon-sdk/-/beacon-sdk-0.1.6.tgz","fileCount":9,"unpackedSize":76413,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deutschlandgpt%2fbeacon-sdk@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC8vc4OSY9SxyQbMrBL+MOz1N1W0mrb0Q3yNZp+yBo3LwIhAI/cy3U72yMUMeRHm0KxSoUWsoBikzI0ySxYazHqDULX"}]},"_npmUser":{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"},"directories":{},"maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/beacon-sdk_0.1.6_1786517104789_0.8241393984108416"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-19T13:20:17.991Z","modified":"2026-08-12T06:45:05.324Z","0.1.0":"2026-02-19T13:20:18.228Z","0.1.1":"2026-02-25T16:47:02.881Z","0.1.2":"2026-03-03T08:20:50.378Z","0.1.3":"2026-03-03T16:01:01.852Z","0.1.4":"2026-06-18T08:09:56.292Z","0.1.5":"2026-07-07T10:57:34.540Z","0.1.6":"2026-08-12T06:45:04.950Z"},"bugs":{"url":"https://github.com/deutschlandgpt/beacon-sdk/issues"},"author":{"name":"DeutschlandGPT"},"license":"MIT","homepage":"https://github.com/deutschlandgpt/beacon-sdk#readme","keywords":["beacon","status-page","sdk"],"repository":{"type":"git","url":"git+https://github.com/deutschlandgpt/beacon-sdk.git"},"description":"TypeScript SDK for the DGPT Beacon API","maintainers":[{"name":"alexanderberkov","email":"alexander.berkov@deutschlandgpt.de"}],"readme":"# Beacon SDK\n\nTypeScript SDK for the Beacon status page API. Interact with changelogs, monitors, incidents, and more.\n\n## Installation\n\n```bash\npnpm add @deutschlandgpt/beacon-sdk\n```\n\n## Requirements\n\n- Node.js 18 or higher\n- TypeScript 5.0+ (for TypeScript projects)\n\n## Quick Start\n\n```typescript\nimport { BeaconClient } from \"@deutschlandgpt/beacon-sdk\";\n\n// Initialize the client\nconst beacon = new BeaconClient({\n  baseUrl: \"https://your-beacon-instance.com\",\n  apiKey: \"your-api-key\", // Optional, required for authenticated endpoints\n});\n\n// Fetch changelogs\nconst changelogs = await beacon.changelogs.list();\nconsole.log(changelogs);\n```\n\n## Configuration\n\nThe `BeaconClient` accepts the following configuration options:\n\n```typescript\nconst beacon = new BeaconClient({\n  baseUrl: string;        // Your Beacon instance URL (required)\n  apiKey?: string;        // API key for authenticated endpoints (optional)\n  fetch?: typeof fetch;   // Custom fetch implementation (optional)\n});\n```\n\n## API Reference\n\n### Changelogs\n\nList and retrieve changelogs from your Beacon instance.\n\n```typescript\n// List all changelogs\nconst changelogs = await beacon.changelogs.list();\n\n// List with filters\nconst filtered = await beacon.changelogs.list({\n  tag: \"api\", // Filter by tag: 'api' | 'chat' | 'workflows'\n  since: \"2024-01-01\", // Only changelogs after this date\n  breaking: true, // Only breaking changes\n  limit: 10, // Limit results\n  offset: 0, // Pagination offset\n});\n\n// Get a specific changelog by ID\nconst changelog = await beacon.changelogs.get(\"changelog-id\");\n```\n\n### Monitors\n\nCheck the status of monitored services.\n\n```typescript\n// Get status of all monitors\nconst monitors = await beacon.monitors.status();\n\n// Each monitor includes:\n// - id, name, description\n// - currentStatus: 'operational' | 'degraded' | 'outage' | 'unknown'\n// - responseTime, statusCode, lastChecked\n// - uptimePercent: 90-day uptime as a string (e.g. \"99.95\"), or null\n// - dailySummaries: per-day check summaries (up to 90 days)\n```\n\n### Incidents\n\nRetrieve incident information.\n\n```typescript\n// List all incidents\nconst incidents = await beacon.incidents.list();\n\n// Get active incidents (requires API key)\nconst activeIncidents = await beacon.incidents.active();\n\n// Incident properties include:\n// - status: 'investigating' | 'identified' | 'monitoring' | 'resolved'\n// - severity: 'minor' | 'major' | 'critical'\n// - affectedMonitorIds: array of affected monitor IDs\n```\n\n### Subscribers\n\nManage email subscriptions.\n\n```typescript\n// Subscribe to updates\nconst response = await beacon.subscribers.subscribe({\n  email: \"user@example.com\",\n  subscribeTo: [\"changelogs\", \"status_updates\", \"newsletters\"],\n});\n\n// Subscription types:\n// - 'changelogs': Product changelog updates\n// - 'status_updates': Service status updates\n// - 'newsletters': General newsletters\n```\n\n### Feedback\n\nSubmit user feedback. `submit()` requires an API key and returns the created\nfeedback plus similar existing feedback; `submitPublic()` is unauthenticated\n(for public/embedded forms), **requires `userEmail`**, and returns\n`{ success: true }`.\n\n```typescript\n// Submit feedback (requires API key)\nconst result = await beacon.feedback.submit({\n  type: \"bug_report\", // 'bug_report' | 'feature_request' | 'improvement' | 'support' | 'other'\n  title: \"Issue with login\",\n  description: \"Detailed description of the issue\",\n\n  // Optional fields\n  userEmail: \"user@example.com\",\n  userName: \"John Doe\",\n  featureOrService: \"Authentication\",\n  planTier: \"Pro\",\n  browserInfo: navigator.userAgent,\n  deviceInfo: \"Desktop\",\n  pageUrl: \"https://app.example.com/dashboard\", // URL where the feedback was submitted\n  consentToNotify: true,\n  tags: { source: \"widget\", region: \"eu\" }, // Arbitrary key/value metadata\n  attachments: [file1, file2], // Array of File objects\n\n  // Authenticated-only (see below): where the reporter's organisation stands\n  // commercially, so support can prioritise a customer who is still evaluating.\n  reporterStage: \"trial_business\", // 'customer' | 'trial_business' | 'trial_enterprise'\n  reporterTrialEndsAt: \"2026-08-24T00:00:00.000Z\", // ISO 8601; snapshot at report time\n});\n\n// Response includes the created feedback and similar existing feedback\nconsole.log(result.feedback);\nconsole.log(result.similar);\n\n// The returned feedback carries a lifecycle status and a server-assigned urgency:\n// status:  'new' | 'investigating' | 'in_progress' | 'waiting_for_user' | 'planned' | 'resolved' | 'wont_fix'\n// urgency: 'critical' | 'high' | 'medium' | 'low' | null  (classified automatically, read-only)\n\n// Submit feedback from a public form (no API key required — userEmail is required)\nawait beacon.feedback.submitPublic({\n  type: \"feature_request\",\n  title: \"Add dark mode\",\n  description: \"Please add a dark theme\",\n  userEmail: \"user@example.com\",\n});\n```\n\n`reporterStage` and `reporterTrialEndsAt` are accepted **only** by `submit()`.\n`submitPublic()` posts to an unauthenticated endpoint, so a caller must never be\nable to claim trial priority for their own ticket — Beacon strips both fields\nthere. They therefore live on `SubmitFeedbackParams` rather than the shared\n`FeedbackParamsBase`, and `SubmitPublicFeedbackParams` does not accept them at all.\n\nWhen feedback is submitted with a `userEmail`, the user can follow up through a\npublic conversation thread identified by the feedback's `publicToken`:\n\n```typescript\n// Fetch the message thread for a feedback item\nconst messages = await beacon.feedback.messages(\"public-token\");\n\n// Post a user reply to the thread\nconst message = await beacon.feedback.sendMessage({\n  token: \"public-token\",\n  body: \"Any update on this?\",\n});\n```\n\n## Error Handling\n\nThe SDK provides typed error classes for different error scenarios:\n\n```typescript\nimport {\n  BeaconError,\n  BeaconValidationError,\n  BeaconAuthError,\n  BeaconNotFoundError,\n} from \"@deutschlandgpt/beacon-sdk\";\n\ntry {\n  const changelogs = await beacon.changelogs.list();\n} catch (error) {\n  if (error instanceof BeaconAuthError) {\n    console.error(\"Authentication failed:\", error.message);\n  } else if (error instanceof BeaconNotFoundError) {\n    console.error(\"Resource not found:\", error.message);\n  } else if (error instanceof BeaconValidationError) {\n    console.error(\"Validation error:\", error.message);\n    console.error(\"Details:\", error.details);\n  } else if (error instanceof BeaconError) {\n    console.error(\"API error:\", error.message);\n    console.error(\"Status:\", error.status);\n  }\n}\n```\n\n### Error Types\n\n- `BeaconError`: Base error class for all SDK errors\n- `BeaconValidationError`: Validation errors (400 status)\n- `BeaconAuthError`: Authentication errors (401 status)\n- `BeaconNotFoundError`: Resource not found errors (404 status)\n\n## TypeScript Support\n\nThe SDK is written in TypeScript and includes full type definitions. All API responses and parameters are typed:\n\n```typescript\nimport type {\n  Changelog,\n  MonitorStatusEntry,\n  Incident,\n  Feedback,\n  ChangelogListParams,\n  SubmitFeedbackParams,\n  FeedbackReporterStage,\n} from \"@deutschlandgpt/beacon-sdk\";\n\n// Types are automatically inferred\nconst changelogs: Changelog[] = await beacon.changelogs.list();\nconst monitor: MonitorStatusEntry = monitors[0];\n```\n\n## Examples\n\n### Displaying System Status\n\n```typescript\nconst monitors = await beacon.monitors.status();\nconst activeIncidents = await beacon.incidents.list();\n\nmonitors.forEach((monitor) => {\n  console.log(`${monitor.name}: ${monitor.currentStatus}`);\n  console.log(`Response time: ${monitor.responseTime}ms`);\n});\n\nif (activeIncidents.length > 0) {\n  console.log(\"\\nActive Incidents:\");\n  activeIncidents.forEach((incident) => {\n    console.log(`[${incident.severity}] ${incident.title}`);\n    console.log(`Status: ${incident.status}`);\n  });\n}\n```\n\n### Fetching Recent Changelogs\n\n```typescript\nconst recentChanges = await beacon.changelogs.list({\n  limit: 5,\n  since: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString(),\n});\n\nrecentChanges.forEach((changelog) => {\n  console.log(`v${changelog.version} - ${changelog.title}`);\n  console.log(changelog.content);\n  console.log(`Tags: ${changelog.tags.join(\", \")}`);\n  if (changelog.isBreakingChange) {\n    console.log(\"⚠️ Breaking Change\");\n  }\n});\n```\n\n### User Feedback Collection\n\n```typescript\n// Collect feedback with file attachments\nconst fileInput = document.querySelector<HTMLInputElement>(\"#file-input\");\nconst files = Array.from(fileInput?.files ?? []);\n\nconst feedback = await beacon.feedback.submit({\n  type: \"bug_report\",\n  title: \"Cannot upload files\",\n  description: \"Getting an error when uploading files larger than 10MB\",\n  userEmail: \"user@example.com\",\n  featureOrService: \"File Upload\",\n  attachments: files,\n});\n\nconsole.log(\"Feedback submitted:\", feedback.feedback.id);\n\nif (feedback.similar.length > 0) {\n  console.log(\"Similar feedback found:\");\n  feedback.similar.forEach((item) => {\n    console.log(`- ${item.title} (${item.status})`);\n  });\n}\n```\n\n## Releasing\n\nPublishing is driven by git tags, not by the `version` field in `package.json`. Pushing a tag like `0.1.0` from a commit on `master` triggers the publish workflow, which derives the published version from the tag and overwrites `package.json` at build time. Manually bumping the version in `package.json` has no effect on what gets published.\n\n```bash\ngit tag 0.1.0\ngit push origin 0.1.0\n```\n\n## License\n\nMIT\n\n## Author\n\nDeutschlandGPT\n","readmeFilename":"README.md"}