{"_id":"@a11ops/sdk","_rev":"6-1c1042b35b1c845877c4e439869f06eb","name":"@a11ops/sdk","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"@a11ops/sdk","version":"1.0.0","keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call"],"author":{"name":"a11ops"},"license":"MIT","_id":"@a11ops/sdk@1.0.0","maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"homepage":"https://github.com/a11ops/sdk","bugs":{"url":"https://github.com/a11ops/sdk/issues"},"dist":{"shasum":"940665498640aceb3c1186d4e153e87e2794c384","tarball":"https://registry.npmjs.org/@a11ops/sdk/-/sdk-1.0.0.tgz","fileCount":6,"integrity":"sha512-LbxL5+guKYqx5ZyWfFjSxdxyETmJGePoKfNMGYDPa3aR/jMLdcmodaLdY2MFU5KAPCnw0R4srgRCs1rcxayhTw==","signatures":[{"sig":"MEUCIQDtG9z2xoI1im0RQJmW219+h0jiQkM1GWd6Wr156BGqDQIgDK3DCL59tibkFD/e5tBd9cCJy9DIZEe5L1rlCNqPCHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19629},"main":"src/index.js","types":"src/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"8db11ee21b1e714e60f800aa4c53457638444c60","scripts":{"lint":"eslint src/","test":"jest","dry-run":"npm publish --dry-run","prepare":"npm run lint","version":"npm test && git add -A src","postversion":"git push && git push --tags","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run lint"},"_npmUser":{"name":"alikonuk","email":"alikonuk1@protonmail.com"},"repository":{"url":"git+https://github.com/a11ops/sdk.git","type":"git"},"_npmVersion":"11.0.0","description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.0_1753980435853_0.6524049211952849","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@a11ops/sdk","version":"1.1.0","keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call"],"author":{"name":"a11ops"},"license":"MIT","_id":"@a11ops/sdk@1.1.0","maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"homepage":"https://github.com/a11ops/sdk","bugs":{"url":"https://github.com/a11ops/sdk/issues"},"dist":{"shasum":"55718a44c141e40921b28c48851df5e920864676","tarball":"https://registry.npmjs.org/@a11ops/sdk/-/sdk-1.1.0.tgz","fileCount":6,"integrity":"sha512-2VqAO0KyLJLwv47X/pgGXDVwWfDKAwFOw6MJpHJqISx+hNbUP/MyS9qcTtDGGUXcL2ALAf24MvTkpxW4Nw6L0Q==","signatures":[{"sig":"MEUCIQCqZJ3hh8T8wFPzJlY3tZcx0fECwBuPufsonhAqLiOI2wIgTrHXfFbXWae+nF5qsQuGRQ+VeNqsTuQoH1L0kb6WP28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18992},"main":"src/index.js","types":"src/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"8f3b7f0dcc25f0bb7d97ca8a40314ac4814b1289","scripts":{"lint":"eslint src/","test":"jest","dry-run":"npm publish --dry-run","prepare":"npm run lint","version":"npm test && git add -A src","postversion":"git push && git push --tags","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run lint"},"_npmUser":{"name":"alikonuk","email":"alikonuk1@protonmail.com"},"repository":{"url":"git+https://github.com/a11ops/sdk.git","type":"git"},"_npmVersion":"11.0.0","description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.1.0_1753983913202_0.1366248254365967","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@a11ops/sdk","version":"1.1.1","keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call"],"author":{"name":"a11ops"},"license":"MIT","_id":"@a11ops/sdk@1.1.1","maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"homepage":"https://github.com/a11ops/sdk","bugs":{"url":"https://github.com/a11ops/sdk/issues"},"dist":{"shasum":"d7994aa16191dbacd3e05e72c37c310916fbbf44","tarball":"https://registry.npmjs.org/@a11ops/sdk/-/sdk-1.1.1.tgz","fileCount":6,"integrity":"sha512-KRFrlLUxIsKvuzJRSWcZ03Pf6m96LnkooFzCisbmWkC9PyN5vPBDA36jtLv/QskGNbCumXMQDrGAV21JwntQUw==","signatures":[{"sig":"MEQCIAl5w9hsgN6quTKh+qcvYASLtRiQIbIBpbeiW3rLwIsuAiB6bceKGdEfFERgRmcViTOGnG/QsuG3wXB8sTO2Eh8ZGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19793},"main":"src/index.js","types":"src/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"a62119f6795a091b3176013723939018baa70fcd","scripts":{"lint":"eslint src/","test":"jest","dry-run":"npm publish --dry-run","prepare":"npm run lint","version":"npm test && git add -A src","postversion":"git push && git push --tags","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run lint"},"_npmUser":{"name":"alikonuk","email":"alikonuk1@protonmail.com"},"repository":{"url":"git+https://github.com/a11ops/sdk.git","type":"git"},"_npmVersion":"11.0.0","description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.1.1_1754163562933_0.37829966596628295","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@a11ops/sdk","version":"1.1.2","keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call"],"author":{"name":"a11ops"},"license":"MIT","_id":"@a11ops/sdk@1.1.2","maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"homepage":"https://github.com/a11ops/sdk","bugs":{"url":"https://github.com/a11ops/sdk/issues"},"dist":{"shasum":"ec7957c785bb6441c149d4252a9748ec7213f797","tarball":"https://registry.npmjs.org/@a11ops/sdk/-/sdk-1.1.2.tgz","fileCount":6,"integrity":"sha512-UuoLmmlZRk+SeRz/u/iXHNt3bjiL3HDmYHN+z+Hiqs0Ey3d8r+39w2ErYHZYcRt60sr88ANnspFjvHJx3SfZVQ==","signatures":[{"sig":"MEYCIQDZ/fFh/QPdGzXhKh/u0zQ/DNSnfuf5QqqoEkCED4++vwIhALl+tmIUiyiXaf3Y38bSSoQfe7K1HhYKnagKAubwOjkK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19801},"main":"src/index.js","types":"src/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"31ebcc15e6d32792ca7e8420232a3d7dcae73e95","scripts":{"lint":"eslint src/","test":"jest","dry-run":"npm publish --dry-run","prepare":"npm run lint","version":"npm test && git add -A src","postversion":"git push && git push --tags","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run lint"},"_npmUser":{"name":"alikonuk","email":"alikonuk1@protonmail.com"},"repository":{"url":"git+https://github.com/a11ops/sdk.git","type":"git"},"_npmVersion":"11.0.0","description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.1.2_1754479820179_0.18676462222509382","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@a11ops/sdk","version":"1.2.0","keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call","log-monitoring","log-monitoring","debugging","observability"],"author":{"name":"a11ops"},"license":"MIT","_id":"@a11ops/sdk@1.2.0","maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"homepage":"https://github.com/a11ops/sdk","bugs":{"url":"https://github.com/a11ops/sdk/issues"},"dist":{"shasum":"4b53ea734d4acd4b5316a4680c0b16dd1a4a7877","tarball":"https://registry.npmjs.org/@a11ops/sdk/-/sdk-1.2.0.tgz","fileCount":7,"integrity":"sha512-uEePZl9jXFJT+MUWOKZ8jPGuxpoC69PbZwUuuyu2zBdjbO7e8qr3RZAhnbsqjOCivZ70pn1icMBn7QzRGqdK3g==","signatures":[{"sig":"MEUCIDYQc7fPBQ0kJ9Wxf/CC6M6nLG0Gwhld0p3Rl0Mjzj4lAiEAsinow481XLAYFJxtjZUXGk68I00o3dGJMu7KteSlJkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36881},"main":"src/index.js","types":"src/index.d.ts","engines":{"node":">=14.0.0"},"gitHead":"81573f590291da5ec9a0c5a2b29338234c24c55a","scripts":{"lint":"eslint src/","test":"jest","dry-run":"npm publish --dry-run","prepare":"npm run lint","version":"npm test && git add -A src","postversion":"git push && git push --tags","release:major":"npm version major","release:minor":"npm version minor","release:patch":"npm version patch","prepublishOnly":"npm run lint"},"_npmUser":{"name":"alikonuk","email":"alikonuk1@protonmail.com"},"repository":{"url":"git+https://github.com/a11ops/sdk.git","type":"git"},"_npmVersion":"11.0.0","description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts with log monitoring","directories":{},"_nodeVersion":"23.3.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.2.0_1754860955575_0.6146398431922213","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@a11ops/sdk","version":"1.2.1","description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts with log monitoring","main":"src/index.js","types":"src/index.d.ts","scripts":{"test":"jest","lint":"eslint src/","prepublishOnly":"npm run lint","prepare":"npm run lint","version":"npm test && git add -A src","postversion":"git push && git push --tags","release:patch":"npm version patch","release:minor":"npm version minor","release:major":"npm version major","dry-run":"npm publish --dry-run"},"keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call","log-monitoring","log-monitoring","debugging","observability"],"author":{"name":"a11ops"},"license":"MIT","homepage":"https://github.com/a11ops/sdk","repository":{"type":"git","url":"git+https://github.com/a11ops/sdk.git"},"bugs":{"url":"https://github.com/a11ops/sdk/issues"},"dependencies":{"axios":"^1.6.0"},"devDependencies":{"eslint":"^8.57.1","jest":"^29.7.0"},"engines":{"node":">=14.0.0"},"_id":"@a11ops/sdk@1.2.1","gitHead":"ad518625349cfad2717e0bdf9ccf94289ff00ebd","_nodeVersion":"23.3.0","_npmVersion":"11.0.0","dist":{"integrity":"sha512-dV//Tx9X2DmDqMIbmpDvd6NdsOl3va7+fFdM93gSi3/yECkugjawASAA+exsExLKiOZ6XJkQjz0WpkseuLjA4w==","shasum":"300ee3beac51ae8d1803df1ed4c20223e5001956","tarball":"https://registry.npmjs.org/@a11ops/sdk/-/sdk-1.2.1.tgz","fileCount":7,"unpackedSize":36987,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEZNIlo6jKY2/hTXaGhkjUOuoBd+fBow4GBY6sS9eTUsAiAEElC89x9hBRqbsr87XSiXyzcGPR1MDFSMG7oJs4Vvhg=="}]},"_npmUser":{"name":"alikonuk","email":"alikonuk1@protonmail.com"},"directories":{},"maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_1.2.1_1766392645973_0.35609632951453096"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-31T16:47:15.778Z","modified":"2025-12-22T08:37:26.319Z","1.0.0":"2025-07-31T16:47:16.023Z","1.1.0":"2025-07-31T17:45:13.377Z","1.1.1":"2025-08-02T19:39:23.130Z","1.1.2":"2025-08-06T11:30:20.356Z","1.2.0":"2025-08-10T21:22:35.768Z","1.2.1":"2025-12-22T08:37:26.124Z"},"bugs":{"url":"https://github.com/a11ops/sdk/issues"},"author":{"name":"a11ops"},"license":"MIT","homepage":"https://github.com/a11ops/sdk","keywords":["a11ops","alerts","monitoring","notifications","push-notifications","incident-response","on-call","log-monitoring","log-monitoring","debugging","observability"],"repository":{"type":"git","url":"git+https://github.com/a11ops/sdk.git"},"description":"Official Node.js SDK for a11ops - Push notification infrastructure for critical alerts with log monitoring","maintainers":[{"name":"alikonuk","email":"alikonuk1@protonmail.com"}],"readme":"# @a11ops/sdk\n\nOfficial Node.js SDK for [a11ops](https://a11ops.com) - Enterprise-grade push notification infrastructure for critical alerts.\n\n## Installation\n\n```bash\nnpm install @a11ops/sdk\n```\n\n## Quick Start - 2 Lines of Code!\n\n```javascript\nimport { a11ops } from \"@a11ops/sdk\";\n\n// That's it. Send critical alerts instantly.\nawait a11ops.alert({\n  title: \"Database CPU at 95%\",\n  priority: \"critical\",\n  workspace: \"production\",\n});\n```\n\n## Zero Configuration Setup\n\nThe SDK automatically handles authentication for you:\n\n1. **First time?** Run your code and follow the interactive setup\n2. **CI/Production?** Set the `A11OPS_API_KEY` environment variable\n3. **Already configured?** Just start sending alerts!\n\n## Usage Examples\n\n### Simple Alerts\n\n```javascript\nimport { a11ops } from \"@a11ops/sdk\";\n\n// Send alerts with different priorities\nawait a11ops.critical(\"Payment gateway down!\");\nawait a11ops.error(\"Failed to process order\", \"Order ID: 12345\");\nawait a11ops.warning(\"High memory usage\", \"Server using 85% RAM\");\nawait a11ops.info(\"Deployment completed\", \"Version 2.0.1 live\");\n```\n\n### Detailed Alerts\n\n```javascript\nawait a11ops.alert({\n  title: \"Database Connection Lost\",\n  message: \"Primary database unreachable\",\n  priority: \"critical\",\n  workspace: \"production\",\n  metadata: {\n    server: \"db-primary-01\",\n    region: \"us-east-1\",\n    connectionPool: 0,\n  },\n});\n```\n\n### Error Monitoring\n\n```javascript\nprocess.on(\"uncaughtException\", async (error) => {\n  await a11ops.critical({\n    title: `Uncaught Exception: ${error.message}`,\n    message: error.stack,\n    workspace: \"production\",\n  });\n});\n```\n\n### Express.js Integration\n\n```javascript\napp.use(async (err, req, res, next) => {\n  await a11ops.error({\n    title: \"API Error\",\n    message: `${req.method} ${req.path}: ${err.message}`,\n    metadata: {\n      statusCode: err.status || 500,\n      userId: req.user?.id,\n      requestId: req.id,\n    },\n  });\n\n  res.status(500).json({ error: \"Internal Server Error\" });\n});\n```\n\n## Configuration\n\n### Environment Variables\n\n```bash\n# Set your API key (required in production)\nA11OPS_API_KEY=your-api-key\n\n# Optional: Set default workspace\nA11OPS_DEFAULT_WORKSPACE=production\n\n# Optional: Custom API endpoint\nA11OPS_API_URL=https://api.a11ops.com\n```\n\n### Programmatic Configuration\n\n```javascript\nimport { a11ops } from \"@a11ops/sdk\";\n\n// Configure once in your app initialization\na11ops.configure({\n  apiKey: \"your-api-key\", // Optional if set via env\n});\n```\n\n## Traditional API (Class-based)\n\nFor more control, you can use the class-based API:\n\n```javascript\nimport A11ops from \"@a11ops/sdk\";\n\nconst client = new A11ops(\"your-api-key\", {\n  baseUrl: \"https://api.a11ops.com\",\n  region: \"us-west-2\",\n  timeout: 30000,\n  retries: 3,\n  retryDelay: 1000,\n});\n\nawait client.alert({\n  title: \"Alert Title\",\n  severity: \"critical\",\n});\n\n// Batch alerts\nawait client.batchAlert([\n  { title: \"Alert 1\" },\n  { title: \"Alert 2\" },\n  { title: \"Alert 3\" },\n]);\n\n// Get metrics\nconst metrics = await client.getMetrics({\n  workspaceId: \"workspace-123\",\n  period: \"7d\",\n});\n```\n\n## TypeScript\n\nFull TypeScript support with type definitions included:\n\n```typescript\nimport { a11ops } from \"@a11ops/sdk\";\n\ninterface CustomAlert {\n  userId: string;\n  action: string;\n  timestamp: Date;\n}\n\nawait a11ops.alert<CustomAlert>({\n  title: \"User Action\",\n  priority: \"info\",\n  metadata: {\n    userId: \"user-123\",\n    action: \"login\",\n    timestamp: new Date(),\n  },\n});\n```\n\n## Priority Levels\n\n- `critical` - Immediate attention required\n- `high` - High priority issues\n- `medium` - Warning conditions\n- `low` - Low priority notifications\n- `info` - Informational messages\n\n## Error Handling\n\n```javascript\ntry {\n  await a11ops.alert({ title: \"Test Alert\" });\n} catch (error) {\n  if (error.status === 429) {\n    console.log(\"Rate limit exceeded\");\n  } else {\n    console.error(\"Failed to send alert:\", error.message);\n  }\n}\n```\n\n### Log Monitoring\n\na11ops includes comprehensive log monitoring capabilities. Automatically capture and track errors with rich context, breadcrumbs, and user information.\n\n### Quick Start\n\n```javascript\nimport A11ops from \"@a11ops/sdk\";\n\nconst client = new A11ops(\"your-api-key\", {\n  logMonitoring: true, // Enable log monitoring\n  environment: \"production\",\n  release: \"1.0.0\",\n});\n\n// Errors are now automatically captured!\n// Manual capture also available:\nclient.captureError(new Error(\"Something went wrong\"), {\n  level: \"error\",\n  tags: { module: \"payment\" },\n  user: { id: \"123\", email: \"user@example.com\" },\n});\n```\n\n### Automatic Error Capture\n\n```javascript\n// Browser: Automatically captures unhandled errors and promise rejections\nwindow.addEventListener(\"error\", (e) => {\n  /* Handled automatically */\n});\n\n// Node.js: Automatically captures uncaught exceptions\nprocess.on(\"uncaughtException\", (e) => {\n  /* Handled automatically */\n});\n```\n\n### Breadcrumbs & Context\n\n```javascript\n// Add breadcrumbs for debugging\nclient.addBreadcrumb({\n  message: \"User clicked checkout\",\n  category: \"user-action\",\n  level: \"info\",\n});\n\n// Set user context\nclient.setUser({\n  id: \"user-123\",\n  email: \"user@example.com\",\n  username: \"johndoe\",\n});\n\n// Set additional context\nclient.setContext(\"subscription\", {\n  plan: \"enterprise\",\n  seats: 50,\n});\n\n// Set tags for filtering\nclient.setTag(\"release\", \"2.0.1\");\nclient.setTag(\"environment\", \"production\");\n```\n\n### Express.js Error Tracking\n\n```javascript\napp.use((err, req, res, next) => {\n  // Capture error with request context\n  client.captureError(err, {\n    level: \"error\",\n    user: req.user,\n    extra: {\n      method: req.method,\n      url: req.url,\n      ip: req.ip,\n    },\n    tags: {\n      endpoint: `${req.method} ${req.path}`,\n    },\n  });\n\n  res.status(500).json({ error: \"Internal Server Error\" });\n});\n```\n\n### Capture Messages\n\n```javascript\n// Capture informational messages\nclient.captureMessage(\"Payment processed successfully\", \"info\", {\n  extra: { amount: 99.99, currency: \"USD\" },\n});\n```\n\n## Local Development\n\nThe SDK stores configuration in `~/.a11ops/config.json` in your home directory (not your project directory) after initial setup.\n\n### Security Notes\n\n- **Configuration location**: `~/.a11ops/config.json` is stored in your home directory, not your project\n- **API keys**: Never commit API keys to version control\n- **Environment variables**: Use `A11OPS_API_KEY` in production instead of config files\n- **CI/CD**: Always use environment variables, never config files\n\n### Reset Configuration\n\nTo reset your local configuration:\n\n```bash\nrm -rf ~/.a11ops\n```\n\n### Best Practices\n\n1. **Development**: Use the interactive setup for local development\n2. **Production**: Always use environment variables:\n   ```bash\n   export A11OPS_API_KEY=your-api-key\n   ```\n3. **Version Control**: Add to `.gitignore` if you ever store keys in your project:\n   ```gitignore\n   # A11ops configuration\n   .a11ops/\n   *.a11ops.json\n   ```\n\n## Support\n\n- 📚 Documentation: [https://a11ops.com/docs](https://a11ops.com/docs)\n- 🐛 Issues: [https://github.com/a11ops/sdk/issues](https://github.com/a11ops/sdk/issues)\n- 💬 Discord: [https://discord.gg/ywZvTAHT8N](https://discord.gg/ywZvTAHT8N)\n- 📧 Email: ali@a11ops.com\n\n## License\n\nMIT\n","readmeFilename":"README.md"}