{"_id":"@camelai/tldr","_rev":"2-bd4bf6fd72cdc4fdf3ef7861607eb2fc","name":"@camelai/tldr","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@camelai/tldr","version":"0.1.0","keywords":["cli","summary","tldr","openai","anthropic","openrouter"],"author":{"name":"QAML AI"},"license":"MIT","_id":"@camelai/tldr@0.1.0","maintainers":[{"name":"camelai","email":"miguel@camelai.com"}],"homepage":"https://github.com/qaml-ai/tldr#readme","bugs":{"url":"https://github.com/qaml-ai/tldr/issues"},"bin":{"tldr":"bin/tldr.js"},"dist":{"shasum":"8027a4da7f7826977d67b20feb95773a749c7857","tarball":"https://registry.npmjs.org/@camelai/tldr/-/tldr-0.1.0.tgz","fileCount":4,"integrity":"sha512-hlAJc7ewVLAJKC2zZ06+FZonKK6BbNAx6pbURv/zsyM/yQY92Q/VcNZ96j5Bkajf5e27CMoolpYt4D4vQ2Eexw==","signatures":[{"sig":"MEQCIBr6s1+4iwiMIIUU9lyWoxK46FxQbhe3yBGnV8Qq7GErAiADe9ONQdxBTMjzZtcGIh8cTDNU06H1HOGryu2Gt5bsDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11687},"type":"module","engines":{"node":">=18"},"gitHead":"b76a104f1178183b2cab5429746ac80861d27fd7","scripts":{"start":"node ./bin/tldr.js"},"_npmUser":{"name":"camelai","email":"miguel@camelai.com"},"repository":{"url":"git+https://github.com/qaml-ai/tldr.git","type":"git"},"_npmVersion":"10.9.4","description":"CLI to summarize text with OpenAI, Anthropic, or OpenRouter","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tldr_0.1.0_1774841925173_0.3116591861394462","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@camelai/tldr","version":"0.1.1","description":"CLI to summarize text with OpenAI, Anthropic, or OpenRouter","type":"module","main":"./lib/index.js","exports":{".":"./lib/index.js"},"bin":{"tldr":"bin/tldr.js"},"scripts":{"start":"node ./bin/tldr.js"},"keywords":["cli","summary","tldr","openai","anthropic","openrouter"],"author":{"name":"QAML AI"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/qaml-ai/tldr.git"},"homepage":"https://github.com/qaml-ai/tldr#readme","bugs":{"url":"https://github.com/qaml-ai/tldr/issues"},"engines":{"node":">=18"},"_id":"@camelai/tldr@0.1.1","gitHead":"7d9ef712bc2f33bdf06eb904b041d7186d90227b","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-ofCyh2BawuIg9/M5qwGh9cxkTjyokqgsxFVZ4Q12NKmIRbL1BEkmueDNw2dsTqDYoW7jEFdcVLahAKLJLII/DQ==","shasum":"2a3367c07f1d35a382d252b0e0a804eb7348561f","tarball":"https://registry.npmjs.org/@camelai/tldr/-/tldr-0.1.1.tgz","fileCount":5,"unpackedSize":14142,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDKT7t1191zfm03OkuhA3ueqL4RrRa1U7P9v3k5YH4HGAiAaI+QNgz8Fjc9gOvCLstJT/Uf34AMqW2ZDWHfBkoFO6Q=="}]},"_npmUser":{"name":"camelai","email":"miguel@camelai.com"},"directories":{},"maintainers":[{"name":"camelai","email":"miguel@camelai.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tldr_0.1.1_1774894219678_0.05706773485282168"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T03:38:45.119Z","modified":"2026-03-30T18:10:19.966Z","0.1.0":"2026-03-30T03:38:45.313Z","0.1.1":"2026-03-30T18:10:19.843Z"},"bugs":{"url":"https://github.com/qaml-ai/tldr/issues"},"author":{"name":"QAML AI"},"license":"MIT","homepage":"https://github.com/qaml-ai/tldr#readme","keywords":["cli","summary","tldr","openai","anthropic","openrouter"],"repository":{"type":"git","url":"git+https://github.com/qaml-ai/tldr.git"},"description":"CLI to summarize text with OpenAI, Anthropic, or OpenRouter","maintainers":[{"name":"camelai","email":"miguel@camelai.com"}],"readme":"# tldr\n\nA tiny CLI that summarizes text using OpenAI, Anthropic, or OpenRouter.\n\n## Install\n\n### Run locally\n\n```bash\nnpm install\nnode ./bin/tldr.js --help\n```\n\n### Install globally from npm\n\n```bash\nnpm install -g @camelai/tldr\n```\n\n### Install from this repo\n\n```bash\nnpm install -g github:qaml-ai/tldr\n```\n\n## Usage\n\n### As a JavaScript library\n\n```js\nimport { summarize, resolveConfig } from '@camelai/tldr';\n\nconst config = resolveConfig({ provider: 'openai' });\nconst summary = await summarize('Long text to summarize...', config);\n\nconsole.log(config.provider, config.model);\nconsole.log(summary);\n```\n\nYou can also pass options directly:\n\n```js\nimport { summarize } from '@camelai/tldr';\n\nconst summary = await summarize('Long text to summarize...', {\n  provider: 'openrouter',\n  model: 'google/gemini-3.1-flash-lite-preview',\n  system: 'Summarize in 3 bullet points.'\n});\n```\n\nThe library uses the same environment variables as the CLI for API keys and default model selection.\n\n\nSummarize a prompt:\n\n```bash\ntldr \"Summarize the key points from this meeting note...\"\n```\n\nSummarize stdin:\n\n```bash\ncat notes.txt | tldr\n```\n\nChoose a provider explicitly:\n\n```bash\ntldr --provider openai \"text\"\ntldr --provider anthropic \"text\"\ntldr --provider openrouter \"text\"\n```\n\nOverride the model:\n\n```bash\ntldr --provider openai --model gpt-5.4-nano \"text\"\ntldr --provider anthropic --model claude-4-haiku-20250305 \"text\"\ntldr --provider openrouter --model google/gemini-3.1-flash-lite-preview \"text\"\n```\n\nOverride the system prompt:\n\n```bash\ntldr --system \"Summarize in 3 bullet points.\" \"text\"\n```\n\n## Options\n\n- `-p, --provider <name>`: `openai`, `anthropic`, or `openrouter`\n- `-m, --model <model>`: override the model\n- `-s, --system <prompt>`: override the summarization system prompt\n- `-h, --help`: show help\n\n## Environment variables\n\nAPI keys:\n\n- `OPENAI_API_KEY`\n- `ANTHROPIC_API_KEY`\n- `OPENROUTER_API_KEY`\n\nDefaults:\n\n- `TLDR_SYSTEM_PROMPT`\n- `TLDR_OPENAI_MODEL` default: `gpt-5.4-nano`\n- `TLDR_ANTHROPIC_MODEL` default: `claude-4-haiku-20250305`\n- `TLDR_OPENROUTER_MODEL` default: `google/gemini-3.1-flash-lite-preview`\n\nLegacy env vars are also supported:\n\n- `SUMMARIZE_SYSTEM_PROMPT`\n- `SUMMARIZE_OPENAI_MODEL`\n- `SUMMARIZE_ANTHROPIC_MODEL`\n- `SUMMARIZE_OPENROUTER_MODEL`\n\n## Default model selection\n\nIf `--provider` is omitted, `tldr` picks the first available provider in this order:\n\n1. `OPENAI_API_KEY`\n2. `ANTHROPIC_API_KEY`\n3. `OPENROUTER_API_KEY`\n\n## Library API\n\n### `summarize(input, options)`\n\nReturns a summary string.\n\nOptions:\n\n- `provider`: `openai`, `anthropic`, or `openrouter`\n- `model`: optional model override\n- `system`: optional system prompt override\n- `apiKey`: optional explicit API key override\n\n### `resolveConfig(options)`\n\nResolves the effective provider, model, and system prompt using arguments and environment defaults.\n\n### `detectProvider(explicitProvider)`\n\nReturns the selected provider based on an explicit provider or env-var priority.\n\n### `getDefaultModel(provider)`\n\nReturns the default model for a provider.\n\n## Publish to npm\n\nWhen you're ready:\n\n```bash\nnpm publish\n```\n\nBecause `publishConfig.access` is set to `public`, this package is ready for public npm publishing.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}