{"_id":"@asm3r96/semplu","_rev":"4-c0083288e6fe16a3caa0dd738112aab3","name":"@asm3r96/semplu","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@asm3r96/semplu","version":"0.1.0","_id":"@asm3r96/semplu@0.1.0","maintainers":[{"name":"asm3r96","email":"asm3r96@gmail.com"}],"bin":{"semplu":"dist/cli.js"},"dist":{"shasum":"c23216e9c292592829ea73cb888093e1ecf4ea14","tarball":"https://registry.npmjs.org/@asm3r96/semplu/-/semplu-0.1.0.tgz","fileCount":466,"integrity":"sha512-RXHa9njFc5OrZ37Yy7fQkxhCkmlEmFq0uEHiDSwi65ebdRLNYXXc7vEv0wMo9oGs6I3R1z0o7fhNJHbU+S/wkA==","signatures":[{"sig":"MEYCIQD8i2HnVfdRWktRgB5nD8RmMqlzHD3qpoMvlfltuEITTQIhAMdWAeadumYsFZbPEFKROeVH0amlkrrosOo4gVEITm+z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11110035},"main":"./dist/esm/index.js","type":"module","_from":"file:asm3r96-semplu-0.1.0.tgz","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js"},"./content":{"types":"./dist/types/content/index.d.ts","import":"./dist/esm/content/index.js"},"./prompts":{"types":"./dist/types/prompts/index.d.ts","import":"./dist/esm/prompts/index.js"}},"scripts":{"s":"tsx src/cli.ts","lint":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json .","test":"vitest run","build":"pnpm clean && pnpm -C packages/core build && pnpm build:lib && pnpm build:cli","check":"pnpm format:check && pnpm lint && pnpm check:branding && pnpm test:coverage","clean":"rimraf dist packages/core/dist","format":"oxfmt --write","semplu":"tsx src/cli.ts","release":"bash scripts/release.sh","lint:fix":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json --fix . && pnpm format","build:bun":"bun scripts/build-bun.js","build:cli":"node scripts/build-cli.mjs","build:lib":"tsc -p tsconfig.build.json","docs:list":"tsx scripts/docs-list.ts","typecheck":"tsc -p tsconfig.build.json --noEmit","mobile:ios":"npm --prefix apps/mobile run ios","mobile:lint":"npm --prefix apps/mobile run lint","mobile:test":"npm --prefix apps/mobile test","test:mobile":"npm --prefix apps/mobile test","format:check":"oxfmt --check","mobile:start":"npm --prefix apps/mobile start","test:coverage":"vitest run --coverage","build:bun:test":"bun scripts/build-bun.js --test","check:branding":"node scripts/check-branding.mjs","mobile:android":"npm --prefix apps/mobile run android","mobile:install":"npm --prefix apps/mobile install","mobile:typecheck":"npm --prefix apps/mobile run typecheck","mobile:bundle:ios":"npm --prefix apps/mobile run bundle:ios","test:extension-e2e":"pnpm -C apps/chrome-extension test:e2e","test:coverage:build":"pnpm build && pnpm test:coverage","mobile:bundle:android":"npm --prefix apps/mobile run bundle:android"},"_npmUser":{"name":"asm3r96","email":"asm3r96@gmail.com"},"_resolved":"/private/var/folders/_6/kb81n0g936s31k7dcszw2qwh0000gn/T/5d4f4c2869e2f4d9f57feb2e5d7b6f09/asm3r96-semplu-0.1.0.tgz","_integrity":"sha512-RXHa9njFc5OrZ37Yy7fQkxhCkmlEmFq0uEHiDSwi65ebdRLNYXXc7vEv0wMo9oGs6I3R1z0o7fhNJHbU+S/wkA==","_npmVersion":"10.9.4","description":"Link → clean text → summary.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","mime":"^4.1.0","json5":"^2.2.3","tslog":"^4.10.2","commander":"^14.0.3","file-type":"^21.3.0","markdansi":"^0.2.1","tokentally":"^0.1.1","osc-progress":"^0.3.0","gpt-tokenizer":"^3.4.0","qrcode-terminal":"^0.12.0","@mariozechner/pi-ai":"^0.56.1","@asm3r96/semplu-core":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","oxfmt":"0.36.0","oxlint":"^1.51.0","rimraf":"^6.1.3","vitest":"^4.0.18","esbuild":"^0.27.3","typescript":"^5.9.3","@types/node":"^25.3.3","@types/jsdom":"^28.0.0","@fal-ai/client":"^1.9.4","oxlint-tsgolint":"^0.16.0","@vitest/coverage-v8":"^4.0.18","@types/sanitize-html":"^2.16.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/semplu_0.1.0_1773084532601_0.061631571101798954","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@asm3r96/semplu","version":"0.1.1","_id":"@asm3r96/semplu@0.1.1","maintainers":[{"name":"asm3r96","email":"asm3r96@gmail.com"}],"bin":{"semplu":"dist/cli.js"},"dist":{"shasum":"b5d523dadb11fa05ee66279a4ec3dfaf863f1a37","tarball":"https://registry.npmjs.org/@asm3r96/semplu/-/semplu-0.1.1.tgz","fileCount":466,"integrity":"sha512-oqXeSMzw99RHTOwfgNaHLhJUiVKrzvMEK9bbek1VtuABe0/wDIfcDaqrC2fqEB0ru69U5cmayusVNXrusrdMVw==","signatures":[{"sig":"MEUCIE78tdfPYa6MHq34nXALXZ/DUiFOvsQfm1smYKQYbFdGAiEAmZ2OPrExjzukLaDTWY4x8+wS0XHTchuRZOD80Fiqwhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11110033},"main":"./dist/esm/index.js","type":"module","_from":"file:asm3r96-semplu-0.1.1.tgz","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js"},"./content":{"types":"./dist/types/content/index.d.ts","import":"./dist/esm/content/index.js"},"./prompts":{"types":"./dist/types/prompts/index.d.ts","import":"./dist/esm/prompts/index.js"}},"scripts":{"s":"tsx src/cli.ts","lint":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json .","test":"vitest run","build":"pnpm clean && pnpm -C packages/core build && pnpm build:lib && pnpm build:cli","check":"pnpm format:check && pnpm lint && pnpm check:branding && pnpm test:coverage","clean":"rimraf dist packages/core/dist","format":"oxfmt --write","semplu":"tsx src/cli.ts","release":"bash scripts/release.sh","lint:fix":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json --fix . && pnpm format","build:bun":"bun scripts/build-bun.js","build:cli":"node scripts/build-cli.mjs","build:lib":"tsc -p tsconfig.build.json","docs:list":"tsx scripts/docs-list.ts","typecheck":"tsc -p tsconfig.build.json --noEmit","mobile:ios":"npm --prefix apps/mobile run ios","mobile:lint":"npm --prefix apps/mobile run lint","mobile:test":"npm --prefix apps/mobile test","test:mobile":"npm --prefix apps/mobile test","format:check":"oxfmt --check","mobile:start":"npm --prefix apps/mobile start","test:coverage":"vitest run --coverage","build:bun:test":"bun scripts/build-bun.js --test","check:branding":"node scripts/check-branding.mjs","mobile:android":"npm --prefix apps/mobile run android","mobile:install":"npm --prefix apps/mobile install","mobile:typecheck":"npm --prefix apps/mobile run typecheck","mobile:bundle:ios":"npm --prefix apps/mobile run bundle:ios","test:extension-e2e":"pnpm -C apps/chrome-extension test:e2e","test:coverage:build":"pnpm build && pnpm test:coverage","mobile:bundle:android":"npm --prefix apps/mobile run bundle:android"},"_npmUser":{"name":"asm3r96","email":"asm3r96@gmail.com"},"_resolved":"/private/var/folders/_6/kb81n0g936s31k7dcszw2qwh0000gn/T/e94441ce0f8436bf5b8ed9228efb2821/asm3r96-semplu-0.1.1.tgz","_integrity":"sha512-oqXeSMzw99RHTOwfgNaHLhJUiVKrzvMEK9bbek1VtuABe0/wDIfcDaqrC2fqEB0ru69U5cmayusVNXrusrdMVw==","_npmVersion":"10.9.4","description":"Link → clean text → summary.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","mime":"^4.1.0","json5":"^2.2.3","tslog":"^4.10.2","commander":"^14.0.3","file-type":"^21.3.0","markdansi":"^0.2.1","tokentally":"^0.1.1","osc-progress":"^0.3.0","gpt-tokenizer":"^3.4.0","qrcode-terminal":"^0.12.0","@mariozechner/pi-ai":"^0.56.1","@asm3r96/semplu-core":"0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","oxfmt":"0.36.0","oxlint":"^1.51.0","rimraf":"^6.1.3","vitest":"^4.0.18","esbuild":"^0.27.3","typescript":"^5.9.3","@types/node":"^25.3.3","@types/jsdom":"^28.0.0","@fal-ai/client":"^1.9.4","oxlint-tsgolint":"^0.16.0","@vitest/coverage-v8":"^4.0.18","@types/sanitize-html":"^2.16.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/semplu_0.1.1_1773089345344_0.019225537892888722","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@asm3r96/semplu","version":"0.1.2","license":"MIT","_id":"@asm3r96/semplu@0.1.2","maintainers":[{"name":"asm3r96","email":"asm3r96@gmail.com"}],"bin":{"semplu":"dist/cli.js"},"dist":{"shasum":"9e4540cf20b5723502de99cb841815940bd9a699","tarball":"https://registry.npmjs.org/@asm3r96/semplu/-/semplu-0.1.2.tgz","fileCount":466,"integrity":"sha512-lP6ixmRLya3Jv7IAif65cKwBOaE1DFznh3U2NhvIWbyF5LzjT7l3q2tS859N0cG4UOjN0KT2eXFwIerZLo1bdg==","signatures":[{"sig":"MEYCIQDxsM098O8K4j7RvPxQvt8pP+n2zQCZ6a6MHNdog4GMQQIhAJIuUmBGxL66poOmiyIzzdgl1QZLazHi+meXD5MZkZQn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11110038},"main":"./dist/esm/index.js","type":"module","_from":"file:asm3r96-semplu-0.1.2.tgz","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js"},"./content":{"types":"./dist/types/content/index.d.ts","import":"./dist/esm/content/index.js"},"./prompts":{"types":"./dist/types/prompts/index.d.ts","import":"./dist/esm/prompts/index.js"}},"scripts":{"s":"tsx src/cli.ts","lint":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json .","test":"vitest run","build":"pnpm clean && pnpm -C packages/core build && pnpm build:lib && pnpm build:cli","check":"pnpm format:check && pnpm lint && pnpm check:branding && pnpm test:coverage","clean":"rimraf dist packages/core/dist","format":"oxfmt --write","semplu":"tsx src/cli.ts","release":"bash scripts/release.sh","lint:fix":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json --fix . && pnpm format","build:bun":"bun scripts/build-bun.js","build:cli":"node scripts/build-cli.mjs","build:lib":"tsc -p tsconfig.build.json","docs:list":"tsx scripts/docs-list.ts","typecheck":"tsc -p tsconfig.build.json --noEmit","mobile:ios":"npm --prefix apps/mobile run ios","mobile:lint":"npm --prefix apps/mobile run lint","mobile:test":"npm --prefix apps/mobile test","test:mobile":"npm --prefix apps/mobile test","format:check":"oxfmt --check","mobile:start":"npm --prefix apps/mobile start","test:coverage":"vitest run --coverage","build:bun:test":"bun scripts/build-bun.js --test","check:branding":"node scripts/check-branding.mjs","mobile:android":"npm --prefix apps/mobile run android","mobile:install":"npm --prefix apps/mobile install","mobile:typecheck":"npm --prefix apps/mobile run typecheck","mobile:bundle:ios":"npm --prefix apps/mobile run bundle:ios","test:extension-e2e":"pnpm -C apps/chrome-extension test:e2e","test:coverage:build":"pnpm build && pnpm test:coverage","mobile:bundle:android":"npm --prefix apps/mobile run bundle:android"},"_npmUser":{"name":"asm3r96","email":"asm3r96@gmail.com"},"_resolved":"/private/var/folders/_6/kb81n0g936s31k7dcszw2qwh0000gn/T/f847ffc5f4063530cf05e103c059de7b/asm3r96-semplu-0.1.2.tgz","_integrity":"sha512-lP6ixmRLya3Jv7IAif65cKwBOaE1DFznh3U2NhvIWbyF5LzjT7l3q2tS859N0cG4UOjN0KT2eXFwIerZLo1bdg==","_npmVersion":"10.9.4","description":"Ask, enhance, extract, and summarize web pages, files, and media.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ora":"^9.3.0","mime":"^4.1.0","json5":"^2.2.3","tslog":"^4.10.2","commander":"^14.0.3","file-type":"^21.3.0","markdansi":"^0.2.1","tokentally":"^0.1.1","osc-progress":"^0.3.0","gpt-tokenizer":"^3.4.0","qrcode-terminal":"^0.12.0","@mariozechner/pi-ai":"^0.56.1","@asm3r96/semplu-core":"0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","oxfmt":"0.36.0","oxlint":"^1.51.0","rimraf":"^6.1.3","vitest":"^4.0.18","esbuild":"^0.27.3","typescript":"^5.9.3","@types/node":"^25.3.3","@types/jsdom":"^28.0.0","@fal-ai/client":"^1.9.4","oxlint-tsgolint":"^0.16.0","@vitest/coverage-v8":"^4.0.18","@types/sanitize-html":"^2.16.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/semplu_0.1.2_1773089648653_0.3646607645233346","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@asm3r96/semplu","version":"0.1.3","description":"Ask, enhance, extract, and summarize web pages, files, and media.","license":"MIT","bin":{"semplu":"dist/cli.js"},"type":"module","main":"./dist/esm/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js"},"./content":{"types":"./dist/types/content/index.d.ts","import":"./dist/esm/content/index.js"},"./prompts":{"types":"./dist/types/prompts/index.d.ts","import":"./dist/esm/prompts/index.js"}},"dependencies":{"@mariozechner/pi-ai":"^0.56.1","commander":"^14.0.3","file-type":"^21.3.0","gpt-tokenizer":"^3.4.0","json5":"^2.2.3","markdansi":"^0.2.1","mime":"^4.1.0","ora":"^9.3.0","osc-progress":"^0.3.0","qrcode-terminal":"^0.12.0","tokentally":"^0.1.1","tslog":"^4.10.2","@asm3r96/semplu-core":"0.1.3"},"devDependencies":{"@fal-ai/client":"^1.9.4","@types/jsdom":"^28.0.0","@types/node":"^25.3.3","@types/qrcode-terminal":"^0.12.2","@types/sanitize-html":"^2.16.0","@vitest/coverage-v8":"^4.0.18","esbuild":"^0.27.3","oxfmt":"0.36.0","oxlint":"^1.51.0","oxlint-tsgolint":"^0.16.0","rimraf":"^6.1.3","tsx":"^4.21.0","typescript":"^5.9.3","vitest":"^4.0.18"},"engines":{"node":">=22"},"scripts":{"build":"pnpm clean && pnpm -C packages/core build && pnpm build:lib && pnpm build:cli","build:bun":"bun scripts/build-bun.js","build:bun:test":"bun scripts/build-bun.js --test","build:cli":"node scripts/build-cli.mjs","build:lib":"tsc -p tsconfig.build.json","check":"pnpm format:check && pnpm lint && pnpm check:branding && pnpm test:coverage","check:branding":"node scripts/check-branding.mjs","clean":"rimraf dist packages/core/dist","docs:list":"tsx scripts/docs-list.ts","format":"oxfmt --write","format:check":"oxfmt --check","lint":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json .","lint:fix":"oxlint --type-aware --tsconfig tsconfig.build.json --config .oxlintrc.json --fix . && pnpm format","mobile:android":"npm --prefix apps/mobile run android","mobile:bundle:android":"npm --prefix apps/mobile run bundle:android","mobile:bundle:ios":"npm --prefix apps/mobile run bundle:ios","mobile:install":"npm --prefix apps/mobile install","mobile:ios":"npm --prefix apps/mobile run ios","mobile:lint":"npm --prefix apps/mobile run lint","mobile:start":"npm --prefix apps/mobile start","mobile:test":"npm --prefix apps/mobile test","mobile:typecheck":"npm --prefix apps/mobile run typecheck","release":"bash scripts/release.sh","s":"tsx src/cli.ts","semplu":"tsx src/cli.ts","test":"vitest run","test:coverage":"vitest run --coverage","test:coverage:build":"pnpm build && pnpm test:coverage","test:extension-e2e":"pnpm -C apps/chrome-extension test:e2e","test:mobile":"npm --prefix apps/mobile test","typecheck":"tsc -p tsconfig.build.json --noEmit"},"_id":"@asm3r96/semplu@0.1.3","_integrity":"sha512-tlc1faXH74XIgUlxV+WbGaKBCTfGPsJT6cX8w0QgdLE9OZYTbN1qsuK2htQ/QwixfBxBh9iBVwfHurTXhJRE2w==","_resolved":"/private/var/folders/_6/kb81n0g936s31k7dcszw2qwh0000gn/T/d1a05ed5b2d5cb90f3e3566143462304/asm3r96-semplu-0.1.3.tgz","_from":"file:asm3r96-semplu-0.1.3.tgz","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-tlc1faXH74XIgUlxV+WbGaKBCTfGPsJT6cX8w0QgdLE9OZYTbN1qsuK2htQ/QwixfBxBh9iBVwfHurTXhJRE2w==","shasum":"a33c0fa7bb7089615067e9f4ad87ece7788bf4f8","tarball":"https://registry.npmjs.org/@asm3r96/semplu/-/semplu-0.1.3.tgz","fileCount":466,"unpackedSize":11110178,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEcEi+epxPhWaNIqDFSiiQdPA8mv7es1s+l4cmdTL4yEAiAOaTNiKxTQEBYdykS/LwE0nASjyy9O5Dc76w1e8PclAg=="}]},"_npmUser":{"name":"asm3r96","email":"asm3r96@gmail.com"},"directories":{},"maintainers":[{"name":"asm3r96","email":"asm3r96@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/semplu_0.1.3_1773089699083_0.8606968669404123"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T19:28:52.510Z","modified":"2026-03-09T20:54:59.628Z","0.1.0":"2026-03-09T19:28:53.161Z","0.1.1":"2026-03-09T20:49:05.817Z","0.1.2":"2026-03-09T20:54:09.035Z","0.1.3":"2026-03-09T20:54:59.529Z"},"license":"MIT","description":"Ask, enhance, extract, and summarize web pages, files, and media.","maintainers":[{"name":"asm3r96","email":"asm3r96@gmail.com"}],"readme":"# Semplu\n\nSemplu is a local-first CLI for asking, enhancing, extracting, and summarizing content from web pages, files, and media.\n\nThis package is the npm-distributed Semplu CLI. It can run on its own, and it can also pair with the Semplu browser extension through the local daemon.\n\nSemplu CLI started as a fork of Peter Steinberger's original `summarize` CLI:\n[steipete/summarize](https://github.com/steipete/summarize).\n\n## What Semplu Does\n\n- Ask questions about a URL, document, or extracted context\n- Enhance text with reusable rewrite and transformation flows\n- Extract clean content from websites, files, podcasts, and videos\n- Summarize long content in different lengths and output formats\n- Pair the local CLI/daemon with the Semplu browser extension\n\n## Install\n\n```bash\nnpm install -g @asm3r96/semplu\n```\n\n## Quick Start\n\n```bash\nsemplu --version\nsemplu --help\nsemplu \"https://example.com\"\nsemplu \"https://example.com\" --extract\nsemplu agent ask --question \"What changed?\" --json\nsemplu agent enhance --input \"Draft this better\" --template rewrite --json\n```\n\n## Main Workflows\n\n### Summarize\n\n```bash\nsemplu \"https://example.com\"\nsemplu \"https://example.com\" --length short\nsemplu \"https://www.youtube.com/watch?v=...\"\n```\n\n### Extract\n\n```bash\nsemplu \"https://example.com\" --extract\nsemplu \"https://example.com\" --extract --format md\nsemplu ./notes.pdf --extract\n```\n\n### Ask\n\n```bash\nsemplu agent ask --question \"What are the key risks?\" --json\n```\n\n### Enhance\n\n```bash\nsemplu agent enhance --input \"Make this clearer and shorter.\" --template rewrite --json\n```\n\n### Extension Pairing\n\n```bash\nsemplu setup\nsemplu daemon status\n```\n\n## Key Commands\n\n- `semplu <input>`: default content workflow for extract/summarize flows\n- `semplu setup`: onboarding for CLI-only or CLI + extension use\n- `semplu daemon ...`: local daemon lifecycle and pairing support\n- `semplu agent ask ...`: daemon-backed ask workflow\n- `semplu agent enhance ...`: daemon-backed enhancement workflow\n- `semplu memory ...`: inspect and manage local memory state\n\n## Documentation\n\n- CLI: `docs/cli.md`\n- Device pairing: `docs/device-pairing.md`\n- Browser extension: `docs/chrome-extension.md`\n- Release process: `RELEASING.md`\n\n## License\n\nMIT\n","readmeFilename":"README.md"}