{"_id":"@dneighbors/benji-sdk","_rev":"2-3b3d43c8657ccd2097753e88fa7df80f","name":"@dneighbors/benji-sdk","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.1":{"name":"@dneighbors/benji-sdk","version":"0.1.1","keywords":["benji","api","sdk","typescript","productivity","habits","todos","journal","health","wellness"],"author":{"name":"Kitze"},"license":"MIT","_id":"@dneighbors/benji-sdk@0.1.1","maintainers":[{"name":"dneighbors","email":"dneighbo@gmail.com"}],"homepage":"https://github.com/kitze/benji-sdk#readme","bugs":{"url":"https://github.com/kitze/benji-sdk/issues"},"dist":{"shasum":"abffe7bb053580c3beacf79537e93d930f39121a","tarball":"https://registry.npmjs.org/@dneighbors/benji-sdk/-/benji-sdk-0.1.1.tgz","fileCount":63,"integrity":"sha512-3cQd3Fe0QRo2vvo/nzSXcLQvryMj0+odsW/AoSv07casNE39KgAkdFvTDty+YjFBESwhsP/YGgMIa4x3DaUrQg==","signatures":[{"sig":"MEQCIHhi7Wm7qOwRegbpLkZVlBRTJ0/TPxjTSgDTmi0bMeM4AiBo6T6KBA8Ds1XYpOAoZcrrn5iVfZieZ+IDLFOp3D25Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1487514},"main":"./dist/index.js","type":"module","_from":"file:dneighbors-benji-sdk-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"pnpm generate && pnpm fix-imports && tsc","clean":"rm -rf dist","generate":"openapi-ts","fix-imports":"node fix-imports.mjs"},"_npmUser":{"name":"dneighbors","email":"dneighbo@gmail.com"},"_resolved":"/tmp/de685d68e79cb185ab7dbf5ab83175dc/dneighbors-benji-sdk-0.1.1.tgz","_integrity":"sha512-3cQd3Fe0QRo2vvo/nzSXcLQvryMj0+odsW/AoSv07casNE39KgAkdFvTDty+YjFBESwhsP/YGgMIa4x3DaUrQg==","repository":{"url":"git+https://github.com/kitze/benji-sdk.git","type":"git","directory":"packages/benji-sdk"},"_npmVersion":"10.9.4","description":"Official TypeScript SDK for the Benji API - Your personal life operating system","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@hey-api/openapi-ts":"0.90.0"},"_npmOperationalInternal":{"tmp":"tmp/benji-sdk_0.1.1_1774834090749_0.4357129975490286","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dneighbors/benji-sdk","version":"0.1.2","description":"Official TypeScript SDK for the Benji API - Your personal life operating system","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"keywords":["benji","api","sdk","typescript","productivity","habits","todos","journal","health","wellness"],"author":{"name":"Kitze"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/kitze/benji-sdk.git","directory":"packages/benji-sdk"},"bugs":{"url":"https://github.com/kitze/benji-sdk/issues"},"homepage":"https://github.com/kitze/benji-sdk#readme","devDependencies":{"@hey-api/openapi-ts":"0.90.0","typescript":"^5.5.0"},"scripts":{"generate":"openapi-ts","fix-imports":"node fix-imports.mjs","build":"pnpm generate && pnpm fix-imports && tsc","clean":"rm -rf dist"},"_id":"@dneighbors/benji-sdk@0.1.2","_integrity":"sha512-A9XFLmK5o76jebMIisKShyiBaBAwCmujsLAqLE8vCwA5czS01KEqESohT/y6Sccs08XNGCyrogcM7CdMKbgngQ==","_resolved":"/tmp/c73d9f3f680285fdd6610680de82e539/dneighbors-benji-sdk-0.1.2.tgz","_from":"file:dneighbors-benji-sdk-0.1.2.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-A9XFLmK5o76jebMIisKShyiBaBAwCmujsLAqLE8vCwA5czS01KEqESohT/y6Sccs08XNGCyrogcM7CdMKbgngQ==","shasum":"d0bd0269a3a95a5dc20a3b890eaaaa4a1d43a1ad","tarball":"https://registry.npmjs.org/@dneighbors/benji-sdk/-/benji-sdk-0.1.2.tgz","fileCount":63,"unpackedSize":1487518,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC6ZLGx4QoZfx18/sDvdipJKBn3fC2U2K3DfIc9rRJ6lAIhAI8qlumjGleqOQ496553cnqBxNL/I1wIjIndm9WdsO+l"}]},"_npmUser":{"name":"dneighbors","email":"dneighbo@gmail.com"},"directories":{},"maintainers":[{"name":"dneighbors","email":"dneighbo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/benji-sdk_0.1.2_1774834965152_0.519923291644101"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T01:28:10.677Z","modified":"2026-03-30T01:42:45.429Z","0.1.1":"2026-03-30T01:28:10.924Z","0.1.2":"2026-03-30T01:42:45.303Z"},"bugs":{"url":"https://github.com/kitze/benji-sdk/issues"},"author":{"name":"Kitze"},"license":"MIT","homepage":"https://github.com/kitze/benji-sdk#readme","keywords":["benji","api","sdk","typescript","productivity","habits","todos","journal","health","wellness"],"repository":{"type":"git","url":"git+https://github.com/kitze/benji-sdk.git","directory":"packages/benji-sdk"},"description":"Official TypeScript SDK for the Benji API - Your personal life operating system","maintainers":[{"name":"dneighbors","email":"dneighbo@gmail.com"}],"readme":"# Benji SDK\n\nOfficial TypeScript SDK for the [Benji](https://benji.so) API - Your personal life operating system.\n\n## Installation\n\n```bash\nnpm install benji-sdk\n# or\npnpm add benji-sdk\n# or\nyarn add benji-sdk\n```\n\n## Quick Start\n\n```typescript\nimport { configure, Todos, Habits } from \"benji-sdk\";\n\n// Configure with your API key\nconfigure({ apiKey: \"your-api-key\" });\n\n// List today's todos\nconst { data } = await Todos.todosList({\n  body: { screen: \"today\" }\n});\n\nconsole.log(data.todos);\n```\n\n## Getting Your API Key\n\n1. Log in to [Benji](https://app.benji.so)\n2. Go to Settings > API\n3. Generate a new API key\n\n## Available Modules\n\n| Module | Description |\n|--------|-------------|\n| `Todos` | Create, list, update, and manage todos |\n| `Habits` | Track daily habits |\n| `Mood` | Log and retrieve mood entries |\n| `Journal` | Create and manage journal entries |\n| `Hydration` | Track water intake |\n| `Fasting` | Manage fasting windows |\n| `Workouts` | Log workouts and exercises |\n| `Projects` | Organize todos into projects |\n| `Tags` | Categorize items with tags |\n| `Trips` | Plan and track travel |\n| `PainEvents` | Log pain events for health tracking |\n\n## Examples\n\n### Todos\n\n```typescript\nimport { configure, Todos } from \"benji-sdk\";\n\nconfigure({ apiKey: \"your-api-key\" });\n\n// Create a todo\nawait Todos.todosCreate({\n  body: {\n    title: \"Buy groceries\",\n    priority: \"high\",\n    dueDate: \"2024-12-25\"\n  }\n});\n\n// List todos for today\nconst { data } = await Todos.todosList({\n  body: { screen: \"today\" }\n});\n\n// Mark as complete\nawait Todos.todosToggle({\n  body: { id: \"todo-id\" }\n});\n\n// Delete a todo\nawait Todos.todosDelete({\n  body: { id: \"todo-id\" }\n});\n```\n\n### Habits\n\n```typescript\nimport { configure, Habits } from \"benji-sdk\";\n\nconfigure({ apiKey: \"your-api-key\" });\n\n// Create a habit\nawait Habits.habitsCreate({\n  body: {\n    name: \"Drink 8 glasses of water\",\n    emoji: \"💧\"\n  }\n});\n\n// List all habits\nconst { data } = await Habits.habitsList();\n\n// Toggle habit completion for today\nawait Habits.habitsToggle({\n  body: { id: \"habit-id\" }\n});\n```\n\n### Mood Tracking\n\n```typescript\nimport { configure, Mood } from \"benji-sdk\";\n\nconfigure({ apiKey: \"your-api-key\" });\n\n// Log your mood\nawait Mood.moodCreate({\n  body: {\n    level: 4,  // 1-5 scale\n    notes: \"Feeling great today!\"\n  }\n});\n\n// Get mood logs\nconst { data } = await Mood.moodList();\n```\n\n### Journal\n\n```typescript\nimport { configure, Journal } from \"benji-sdk\";\n\nconfigure({ apiKey: \"your-api-key\" });\n\n// Create a journal entry\nawait Journal.journalCreate({\n  body: {\n    content: \"Today was a productive day...\",\n    title: \"Daily Reflection\"\n  }\n});\n```\n\n## Custom Base URL\n\nFor self-hosted instances or development:\n\n```typescript\nconfigure({\n  apiKey: \"your-api-key\",\n  baseUrl: \"https://your-instance.com/api/rest\"\n});\n```\n\n## TypeScript Support\n\nThis SDK is written in TypeScript and provides full type definitions for all API endpoints, request bodies, and responses.\n\n```typescript\nimport type { TodosListResponse, HabitsCreateData } from \"benji-sdk\";\n```\n\n## Error Handling\n\n```typescript\nimport { Todos } from \"benji-sdk\";\n\ntry {\n  const { data, error, response } = await Todos.todosGet({\n    body: { id: \"invalid-id\" }\n  });\n\n  if (error) {\n    console.error(\"API Error:\", error.message);\n  }\n} catch (err) {\n  console.error(\"Network error:\", err);\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}