@profullstack/readm3 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -3
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -421,8 +421,17 @@ the whole open document: a short abstract and its key points. Signed in, the fir
|
|
|
421
421
|
**10 documents a week are free** (Monday 00:00 UTC to the next); after that each one is
|
|
422
422
|
charged from the balance like a change summary. Free summaries carry no price arm, so
|
|
423
423
|
the experiment counts only paid ones. Up to 400 KB of text; the first 60,000
|
|
424
|
-
characters are sent.
|
|
425
|
-
|
|
424
|
+
characters are sent. Every summary is **kept for the account**, keyed by exactly what
|
|
425
|
+
the model was given: the same document (or the same change) asked for again, on any
|
|
426
|
+
device or after a reload, is answered from that copy with no model call, no charge and
|
|
427
|
+
no free summary used.
|
|
428
|
+
|
|
429
|
+
**Listen** (optional) reads a summary aloud with ElevenLabs. The first listen is
|
|
430
|
+
charged from the balance at the account's price multiple of the voice's cost; the audio
|
|
431
|
+
is kept with the summary, so every replay is free. The whole server reads at most
|
|
432
|
+
`READM3_TTS_DAILY_CHARS` characters a day (default 5,000) so a shared ElevenLabs plan
|
|
433
|
+
cannot run dry; past that, Listen pauses until midnight UTC and the summary stays
|
|
434
|
+
readable.
|
|
426
435
|
|
|
427
436
|
It works on every kind of file, not just text:
|
|
428
437
|
|
|
@@ -445,13 +454,18 @@ It works on every kind of file, not just text:
|
|
|
445
454
|
| `GET /api/v1/billing/topups/<id>` | `pending` or `paid` |
|
|
446
455
|
| `POST /api/v1/summaries` `{ path, before, after }` | the abstract, `chargedMicros`, new balance |
|
|
447
456
|
| `POST /api/v1/summaries/document` `{ path, text }` or `{ path, data, mime? }` | a summary of a whole document, from its text or from the file as base64 `data` (PDF, PNG/JPEG/GIF/WebP, Office, OpenDocument, EPUB; the type comes from `mime` or the name); `free`, `chargedMicros`, `freeSummaries { perWeek, left, resetsAt }`, new balance |
|
|
457
|
+
| `POST /api/v1/summaries/<summaryId>/speech` | a kept summary read aloud as `audio/mpeg`; `x-charged-micros` (0 on a replay) and `x-balance-micros` headers |
|
|
448
458
|
| `GET /api/v1/billing/experiment` | admins: per arm accounts, payers, top-ups, summaries, revenue, model cost |
|
|
449
459
|
| `POST /api/v1/billing/coinpay/webhook` | CoinPay's signed webhook (`t=…,v1=` HMAC-SHA256) |
|
|
450
460
|
|
|
451
461
|
Server configuration: `ANTHROPIC_API_KEY` turns summaries on (`READM3_SUMMARY_MODEL`,
|
|
452
462
|
default `claude-opus-5-5`, run at low effort) and `OPENAI_API_KEY` is the fallback when
|
|
453
463
|
the Claude call fails (`READM3_OPENAI_MODEL`, default `gpt-5.2`); either one alone works.
|
|
454
|
-
`READM3_FREE_SUMMARIES_PER_WEEK` changes the free allowance (default 10).
|
|
464
|
+
`READM3_FREE_SUMMARIES_PER_WEEK` changes the free allowance (default 10).
|
|
465
|
+
`ELEVENLABS_API_KEY` turns Listen on (`READM3_TTS_VOICE`, default Matilda
|
|
466
|
+
`XrExE9yKIg1WjnnlVkGX`; `READM3_TTS_MODEL`, default `eleven_flash_v2_5`;
|
|
467
|
+
`READM3_TTS_MICROS_PER_CHAR`, our cost per character, default 100;
|
|
468
|
+
`READM3_TTS_DAILY_CHARS`, default 5,000). `COINPAY_API_KEY`, `COINPAY_BUSINESS_ID`
|
|
455
469
|
and `COINPAY_WEBHOOK_SECRET` open top-ups (`COINPAY_API_URL` defaults to
|
|
456
470
|
coinpayportal.com). Without them the history still works and the paid parts say so.
|
|
457
471
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ColorMode } from "./print.ts";
|
|
2
2
|
import { type ViewerOptions } from "./viewer.ts";
|
|
3
|
-
export declare const VERSION = "0.
|
|
3
|
+
export declare const VERSION = "0.20.0";
|
|
4
4
|
/** The help text, exported so a test can hold it to the flags it documents. */
|
|
5
5
|
export declare const USAGE: string;
|
|
6
6
|
export interface ParsedArgs extends ViewerOptions {
|
package/dist/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ import { printDocument, COLOR_MODES } from "./print.js";
|
|
|
11
11
|
import { run } from "./viewer.js";
|
|
12
12
|
import { isCloudCommand, cloudMain, CLOUD_USAGE } from "./cloud-cli.js";
|
|
13
13
|
import { isDesktopCommand, desktopMain, installedDesktop, prefersDesktop, DESKTOP_USAGE } from "./desktop-cli.js";
|
|
14
|
-
export const VERSION = "0.
|
|
14
|
+
export const VERSION = "0.20.0";
|
|
15
15
|
/** The help text, exported so a test can hold it to the flags it documents. */
|
|
16
16
|
export const USAGE = `readm3 — a plain text editor for Markdown and code
|
|
17
17
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@profullstack/readm3",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Markdown editing and sharing for people and teams. Web/PWA, CLI, API and MCP with version history, view/edit links, and a terminal reader.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|