{"_id":"@aibrowser-optimizer/sdk","name":"@aibrowser-optimizer/sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aibrowser-optimizer/sdk","version":"0.1.0","description":"Automatically reduce OpenAI and Anthropic token usage by 60-90% with intelligent text compression","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepare":"npm run build","test":"node examples/test.js"},"keywords":["openai","anthropic","claude","gpt","llm","tokens","optimization","cost-reduction","ai","compression"],"author":{"name":"AI Browser"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/yourusername/aibrowser-optimizer.git"},"bugs":{"url":"https://github.com/yourusername/aibrowser-optimizer/issues"},"homepage":"https://github.com/yourusername/aibrowser-optimizer#readme","peerDependencies":{"@anthropic-ai/sdk":"^0.18.0","openai":"^4.0.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"dependencies":{"axios":"^1.6.0"},"devDependencies":{"@anthropic-ai/sdk":"^0.78.0","@types/node":"^20.0.0","openai":"^6.25.0","typescript":"^5.0.0"},"_id":"@aibrowser-optimizer/sdk@0.1.0","gitHead":"4e801a8f25775bc143fb3f799efd1df672919d44","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-VmSg6eB4WUxGg+CjwwNothyXtIr8eohijFCQBaoGsPUALd4iYEkI0gkOVIudcVmhiPdOEwzf6sGcnT0zd6mS5g==","shasum":"c5647e1ed915dcac7e9af2a11647ad48beb89d9d","tarball":"https://registry.npmjs.org/@aibrowser-optimizer/sdk/-/sdk-0.1.0.tgz","fileCount":13,"unpackedSize":23598,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBSXF3KZ78Jgun+aqRMpm8Pu2Cm92NaP5WZi1FoVqmorAiA8hOR9f9XL68qptGP4H08cqB6tpoxGrnvBqi7Oi4N3zw=="}]},"_npmUser":{"name":"elprofugo","email":"jesus.elitepichardo@gmail.com"},"directories":{},"maintainers":[{"name":"elprofugo","email":"jesus.elitepichardo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1772490212251_0.7467156826092569"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-02T22:23:32.153Z","0.1.0":"2026-03-02T22:23:32.412Z","modified":"2026-03-02T22:23:32.622Z"},"maintainers":[{"name":"elprofugo","email":"jesus.elitepichardo@gmail.com"}],"description":"Automatically reduce OpenAI and Anthropic token usage by 60-90% with intelligent text compression","homepage":"https://github.com/yourusername/aibrowser-optimizer#readme","keywords":["openai","anthropic","claude","gpt","llm","tokens","optimization","cost-reduction","ai","compression"],"repository":{"type":"git","url":"git+https://github.com/yourusername/aibrowser-optimizer.git"},"author":{"name":"AI Browser"},"bugs":{"url":"https://github.com/yourusername/aibrowser-optimizer/issues"},"license":"MIT","readme":"# AI Browser Token Optimizer SDK (JavaScript/TypeScript)\n\n**Reduce your OpenAI and Anthropic costs by 60-90% automatically.**\n\nDrop-in replacement for OpenAI and Anthropic clients that automatically compresses long text before sending it to LLMs.\n\n## Features\n\n- ✅ **Drop-in replacement** - Change just 2 lines of code\n- ✅ **TypeScript support** - Full type definitions included\n- ✅ **Automatic compression** - No manual work required\n- ✅ **60-90% token savings** - Typical reduction\n- ✅ **Supports OpenAI & Anthropic** - Works with all models\n- ✅ **Smart detection** - Auto-detects content type\n- ✅ **Zero config** - Works out of the box\n\n## Installation\n\n```bash\nnpm install @aibrowser/optimizer\n```\n\nWith OpenAI:\n```bash\nnpm install @aibrowser/optimizer openai\n```\n\nWith Anthropic:\n```bash\nnpm install @aibrowser/optimizer @anthropic-ai/sdk\n```\n\n## Quick Start\n\n### OpenAI (TypeScript)\n\n```typescript\nimport { OptimizedOpenAI } from '@aibrowser/optimizer';\n\n// Just change these 2 lines:\nconst client = new OptimizedOpenAI({\n  openaiKey: 'sk-...',           // Your OpenAI API key\n  optimizerKey: 'your-api-key'   // Your AI Browser API key\n});\n\n// Use exactly like OpenAI:\nconst response = await client.chat.completions.create({\n  model: 'gpt-4',\n  messages: [\n    { role: 'user', content: 'Explain this code: ' + longCodeFile }\n  ]\n});\n\nconsole.log(response.choices[0].message.content);\nconsole.log(`Tokens saved: ${client.getTotalTokensSaved()}`);\n```\n\n### OpenAI (JavaScript)\n\n```javascript\nconst { OptimizedOpenAI } = require('@aibrowser/optimizer');\n\nconst client = new OptimizedOpenAI({\n  openaiKey: 'sk-...',\n  optimizerKey: 'your-api-key'\n});\n\nconst response = await client.chat.completions.create({\n  model: 'gpt-4',\n  messages: [{ role: 'user', content: 'long text...' }]\n});\n```\n\n### Anthropic (TypeScript)\n\n```typescript\nimport { OptimizedAnthropic } from '@aibrowser/optimizer';\n\nconst client = new OptimizedAnthropic({\n  anthropicKey: 'sk-ant-...',      // Your Anthropic API key\n  optimizerKey: 'your-api-key'     // Your AI Browser API key\n});\n\nconst response = await client.messages.create({\n  model: 'claude-3-5-sonnet-20241022',\n  max_tokens: 1024,\n  messages: [\n    { role: 'user', content: 'Analyze these logs: ' + longLogs }\n  ]\n});\n\nconsole.log(response.content[0].text);\nconsole.log(`Tokens saved: ${client.getTotalTokensSaved()}`);\n```\n\n## Configuration\n\n### Compression Threshold\n\n```typescript\nconst client = new OptimizedOpenAI({\n  openaiKey: '...',\n  optimizerKey: '...',\n  threshold: 5000  // Only compress if > 5000 characters\n});\n```\n\n### Disable Auto-Compression\n\n```typescript\nconst client = new OptimizedOpenAI({\n  openaiKey: '...',\n  optimizerKey: '...',\n  autoCompress: false  // Disable automatic compression\n});\n```\n\n### Custom Optimizer URL\n\n```typescript\nconst client = new OptimizedOpenAI({\n  openaiKey: '...',\n  optimizerKey: '...',\n  optimizerUrl: 'http://localhost:3002/v1'  // Use local instance\n});\n```\n\n## Examples\n\n### Code Explanation\n\n```typescript\nimport { OptimizedOpenAI } from '@aibrowser/optimizer';\nimport fs from 'fs';\n\nconst client = new OptimizedOpenAI({\n  openaiKey: process.env.OPENAI_KEY,\n  optimizerKey: process.env.OPTIMIZER_KEY\n});\n\n// Read large code file\nconst code = fs.readFileSync('large_codebase.js', 'utf-8');  // 10,000 lines\n\n// Without optimization: ~30,000 tokens = $0.90\n// With optimization: ~3,000 tokens = $0.09\nconst response = await client.chat.completions.create({\n  model: 'gpt-4',\n  messages: [{ role: 'user', content: `Explain this code:\\n\\n${code}` }]\n});\n\nconsole.log(response.choices[0].message.content);\n// Savings: $0.81 (90%)\n```\n\n### Log Analysis\n\n```typescript\nimport { OptimizedOpenAI } from '@aibrowser/optimizer';\nimport fs from 'fs';\n\nconst client = new OptimizedOpenAI({\n  openaiKey: process.env.OPENAI_KEY,\n  optimizerKey: process.env.OPTIMIZER_KEY\n});\n\nconst logs = fs.readFileSync('error.log', 'utf-8');  // 50,000 lines\n\nconst response = await client.chat.completions.create({\n  model: 'gpt-4',\n  messages: [{ role: 'user', content: `Find the root cause:\\n\\n${logs}` }]\n});\n\nconsole.log(response.choices[0].message.content);\n```\n\n### Migration from Existing Code\n\n**Before:**\n```typescript\nimport OpenAI from 'openai';\n\nconst client = new OpenAI({ apiKey: 'sk-...' });\n\nconst response = await client.chat.completions.create({\n  model: 'gpt-4',\n  messages: [{ role: 'user', content: '...' }]\n});\n```\n\n**After:**\n```typescript\nimport { OptimizedOpenAI } from '@aibrowser/optimizer';\n\nconst client = new OptimizedOpenAI({\n  openaiKey: 'sk-...',\n  optimizerKey: 'your-api-key'\n});\n\nconst response = await client.chat.completions.create({\n  model: 'gpt-4',\n  messages: [{ role: 'user', content: '...' }]\n});\n```\n\n**Only 2 lines changed!** ✅\n\n## API\n\n### OptimizedOpenAI\n\n```typescript\nclass OptimizedOpenAI {\n  constructor(options: {\n    openaiKey: string;\n    optimizerKey: string;\n    optimizerUrl?: string;  // Default: 'https://api.aibrowser.dev/v1'\n    autoCompress?: boolean; // Default: true\n    threshold?: number;     // Default: 2000\n    baseURL?: string;       // OpenAI base URL\n    organization?: string;  // OpenAI organization\n  });\n\n  // Get total tokens saved\n  getTotalTokensSaved(): number;\n\n  // Access to OpenAI methods (with auto-compression)\n  chat: { completions: { create(...) } };\n  completions: OpenAI.Completions;\n  embeddings: OpenAI.Embeddings;\n  images: OpenAI.Images;\n  // ... all other OpenAI methods\n\n  // Direct access to underlying OpenAI client\n  raw: OpenAI;\n}\n```\n\n### OptimizedAnthropic\n\n```typescript\nclass OptimizedAnthropic {\n  constructor(options: {\n    anthropicKey: string;\n    optimizerKey: string;\n    optimizerUrl?: string;  // Default: 'https://api.aibrowser.dev/v1'\n    autoCompress?: boolean; // Default: true\n    threshold?: number;     // Default: 2000\n  });\n\n  // Get total tokens saved\n  getTotalTokensSaved(): number;\n\n  // Access to Anthropic methods (with auto-compression)\n  messages: { create(...) };\n\n  // Direct access to underlying Anthropic client\n  raw: Anthropic;\n}\n```\n\n## Use Cases\n\nPerfect for:\n\n- 📊 **Code analysis** - Explain large codebases\n- 🐛 **Debugging** - Analyze error logs\n- 📚 **Documentation** - Process technical docs\n- 🤖 **AI Agents** - Optimize context for agents\n- 💬 **Long conversations** - Compress chat history\n- 🔍 **Research** - Summarize research papers\n\n## Get API Key\n\nSign up at: [https://aibrowser.dev/signup](https://aibrowser.dev/signup)\n\n## Pricing\n\n- **Free tier**: 10,000 compressions/month\n- **Pro**: $9/month - Unlimited compressions\n- **Enterprise**: Custom pricing\n\n**ROI**: Average user saves $50-200/month in LLM costs, paying only $9 for the optimizer.\n\n## FAQ\n\n**Q: Does it work with ESM and CommonJS?**\nA: Yes, both are supported.\n\n**Q: TypeScript support?**\nA: Full TypeScript definitions included.\n\n**Q: Does it modify the LLM responses?**\nA: No, only input text is compressed.\n\n**Q: What if compression fails?**\nA: Falls back to original text automatically.\n\n## License\n\nMIT License\n\n## Support\n\n- 📧 Email: support@aibrowser.dev\n- 💬 Discord: [Join our community](https://discord.gg/aibrowser)\n- 📖 Docs: https://docs.aibrowser.dev\n- 🐛 Issues: https://github.com/yourusername/aibrowser-optimizer/issues\n\n---\n\n**Made with ❤️ by the AI Browser team**\n","readmeFilename":"README.md","_rev":"1-c288ecf8cf16b63240770c0165ab4e80"}