aweshare 0.7.4 → 0.7.6

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.
Files changed (47) hide show
  1. package/README.md +12 -8
  2. package/apps/agent/dist/cli.js +17 -10
  3. package/apps/agent/dist/cli.js.map +1 -1
  4. package/apps/agent/dist/hub.d.ts +2 -0
  5. package/apps/agent/dist/hub.js +2 -0
  6. package/apps/agent/dist/hub.js.map +1 -1
  7. package/apps/agent/dist/table.d.ts +2 -2
  8. package/apps/agent/dist/table.js +48 -14
  9. package/apps/agent/dist/table.js.map +1 -1
  10. package/apps/hub/dist/admin.js +26 -18
  11. package/apps/hub/dist/admin.js.map +1 -1
  12. package/apps/hub/dist/cli.js +18 -10
  13. package/apps/hub/dist/cli.js.map +1 -1
  14. package/apps/hub/dist/config.d.ts +9 -1
  15. package/apps/hub/dist/config.js +59 -4
  16. package/apps/hub/dist/config.js.map +1 -1
  17. package/apps/hub/dist/consumer.d.ts +8 -1
  18. package/apps/hub/dist/consumer.js +71 -33
  19. package/apps/hub/dist/consumer.js.map +1 -1
  20. package/apps/hub/dist/db.d.ts +2 -0
  21. package/apps/hub/dist/db.js.map +1 -1
  22. package/apps/hub/dist/limiter.d.ts +13 -0
  23. package/apps/hub/dist/limiter.js +52 -0
  24. package/apps/hub/dist/limiter.js.map +1 -1
  25. package/apps/hub/dist/local.d.ts +6 -0
  26. package/apps/hub/dist/local.js +23 -2
  27. package/apps/hub/dist/local.js.map +1 -1
  28. package/apps/hub/dist/table.d.ts +13 -1
  29. package/apps/hub/dist/table.js +72 -20
  30. package/apps/hub/dist/table.js.map +1 -1
  31. package/apps/hub/dist/tunnel.d.ts +22 -0
  32. package/apps/hub/dist/tunnel.js +61 -2
  33. package/apps/hub/dist/tunnel.js.map +1 -1
  34. package/package.json +3 -2
  35. package/packages/producer-core/dist/health.d.ts +8 -3
  36. package/packages/producer-core/dist/health.js +12 -5
  37. package/packages/producer-core/dist/health.js.map +1 -1
  38. package/packages/producer-core/dist/job.js +1 -1
  39. package/packages/producer-core/dist/job.js.map +1 -1
  40. package/packages/protocol/dist/format.d.ts +4 -0
  41. package/packages/protocol/dist/format.js +15 -0
  42. package/packages/protocol/dist/format.js.map +1 -1
  43. package/packages/protocol/dist/messages.d.ts +5 -0
  44. package/packages/protocol/dist/messages.js.map +1 -1
  45. package/packages/protocol/dist/schedule.d.ts +8 -3
  46. package/packages/protocol/dist/schedule.js +124 -11
  47. package/packages/protocol/dist/schedule.js.map +1 -1
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
  <a href="https://ko-fi.com/mugpeng"><img src="https://img.shields.io/badge/Ko--fi-Buy%20me%20a%20coffee-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white" alt="Ko-fi"></a>
15
15
  </p>
16
16
  <p>
17
- <a href="https://github.com/wehuman01/aweshare-source/releases"><img src="https://img.shields.io/badge/version-0.7.4-7C3AED?style=flat-square" alt="Version"></a>
17
+ <a href="https://github.com/wehuman01/aweshare-source/releases"><img src="https://img.shields.io/badge/version-0.7.5-7C3AED?style=flat-square" alt="Version"></a>
18
18
  <a href="https://github.com/wehuman01/aweshare"><img src="https://img.shields.io/badge/node-%E2%89%A522-0EA5E9?style=flat-square" alt="Node"></a>
19
19
  <a href="https://github.com/wehuman01/aweshare/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-proprietary-E34F26?style=flat-square" alt="License"></a>
20
20
  <a href="https://www.npmjs.com/package/aweshare"><img src="https://img.shields.io/badge/npm-aweshare-7C3AED?style=flat-square" alt="npm package"></a>
@@ -240,7 +240,7 @@ base_url = "https://hub.example.com/v1"
240
240
  }
241
241
  ```
242
242
 
243
- Set `small_model` — otherwise the session-title request collides with your first message: opencode fires it concurrently, both count against the alias's `maxConcurrencyPerUser`, and the default 1 turns the title call into a 429 `PRODUCER_MAX_CONCURRENCY` retry loop. Left unset, opencode auto-picks a small model from the same provider, but only custom models carrying a recent `release_date` and an id/name matching its cheap keywords (`flash`/`lite`/`mini`/`nano`/`haiku`/`small`/`fast`) are eligible — entries without `release_date` read as 1970 and never qualify — and with no eligible candidate it falls back to the main alias and hits the cap anyway. Pointing `small_model` at any non-aweshare provider works too.
243
+ Set `small_model` — otherwise the session-title request collides with your first message: opencode fires it concurrently, both count against the alias's `maxConcurrencyPerUser`, and the default 1 turns the title call into a 429 `PRODUCER_MAX_CONCURRENCY` retry loop. Left unset, opencode auto-picks a small model from the same provider, but only custom models carrying a recent `release_date` and an id/name matching its cheap keywords (`flash`/`lite`/`mini`/`nano`/`haiku`/`small`/`fast`) are eligible — entries without `release_date` read as 1970 and never qualify — and with no eligible candidate it falls back to the main alias and hits the cap anyway. Pointing `small_model` at any non-aweshare provider works too. Hub-side, admission queueing (see Per-offering usage caps) already absorbs the short version of this collision: the title request holds the slot for a few seconds and the main request queues through instead of erroring.
244
244
 
245
245
  **Discovering models**: `GET /v1/models` (OpenAI SDK `client.models.list()`) returns every alias registered on the hub, with online status.
246
246
 
@@ -296,12 +296,14 @@ One alias can also speak several wire protocols at once: replace `backend = "…
296
296
 
297
297
  | Key | Default | Meaning | Enforcement |
298
298
  |---|---|---|---|
299
- | `maxConcurrencyPerUser` | 1 | concurrent requests **per consumer** on this alias | 429 `PRODUCER_MAX_CONCURRENCY` |
299
+ | `maxConcurrencyPerUser` | 1 | concurrent requests **per consumer** on this alias | 429 `PRODUCER_MAX_CONCURRENCY` — only after `queueWaitMs` of queueing (see below) |
300
300
  | `maxConcurrentUsers` | 3 | distinct consumers with a request in flight on this alias | 429 `PRODUCER_MAX_USERS` |
301
301
  | `dailyTokens` | 1000000 | tokens (prompt + completion) shared across all consumers on this alias, per Beijing day (UTC+8); `0` = unlimited | 429 `QUOTA_EXCEEDED` (resets at Beijing midnight) |
302
302
 
303
303
  `maxConcurrencyPerUser` caps each consumer's in-flight **requests**; `maxConcurrentUsers` caps in-flight **people** — a consumer firing 5 parallel requests needs `maxConcurrencyPerUser ≥ 5` for itself alone, while the total on the alias is bounded by `maxConcurrentUsers × maxConcurrencyPerUser`. Coding agents need headroom here: opencode keeps a background title/summary request in flight next to the main one, so on offerings meant for such agents `maxConcurrencyPerUser = 2` is the practical floor unless consumers route their small model elsewhere (see Consumer tool configuration). Daily caps count recorded usage (see "Honest limits" below). (Renamed in v0.4.3 from `maxConcurrency`, which capped the alias's total in-flight requests.)
304
304
 
305
+ **Admission queueing (`queueWaitMs`)** softens this cap's failure mode without changing its meaning: when the consumer's slot on the alias is busy, the request parks at the hub for up to `queueWaitMs` (env `AWESHARE_QUEUE_WAIT_MS`, config.toml `queueWaitMs`, default 10000, `0` = reject at once) and is admitted the moment the slot frees — a short same-key overlap (the background title request, a second window starting up) resolves invisibly instead of 429ing. Only a slot still busy after the window answers 429, and the denial then names how long it waited. The wait budget is shared across the alias's backup queue (primary and backups draw on one deadline, they do not stack), probes never wait (`consumer list --ping` must answer fast and tell the truth), and `hub status` shows the setting on the timeouts line. Waiting holds no upstream resources — just the HTTP connection.
306
+
305
307
  **Share-time scheduling** (optional, same `[[offerings]]` block; any of the four keys turns it on): `shareWindows = ["00:00-06:00"]` shares the alias **only** inside those wall-clock windows, `blockWindows = ["14:00-18:00"]` is the deny-list alternative — set one or the other, never both. `shareDays` scopes the calendar: `everyday` (default), `weekdays`, `weekend`, `today`, `tomorrow` (both freeze into concrete dates when the config is read — edit the file again tomorrow for another one-day window) or explicit dates like `["2026-09-08", "2026-09-10"]`. `shareTimezone` names the IANA zone the windows live in; unset it defaults to the writing machine's display zone (`AWESHARE_TIMEZONE`, else Asia/Shanghai), resolved once at parse time and sent with the registration — the hub enforces it however its own clock is set. A window whose start is later than its end (`"22:00-06:00"`) crosses midnight and belongs to its start day, so `weekdays`-scheduled `22:00-06:00` stays open into Saturday's small hours but not Saturday night. Days-only schedules (no windows) share all day on matching days. Outside the schedule the hub answers 503 `SHARE_WINDOW_CLOSED` with a `Retry-After` of the exact time until the next window; `consumer list`, `hub list offerings` and `producer list` show a SCHEDULE column (`daily 00:00-06:00`, `weekdays !14:00-18:00`, `2026-09-08 all day`, `-` when unset, `(closed)` while shut). Schedules are config like the caps — hot-reload edits them, and hub-hosted models set the same keys in `config.produce.toml`.
306
308
 
307
309
  An exhausted daily budget can be reopened mid-day by the offering's **owner** — no restart, no re-register: `aweshare producer refresh ns/model` on the producer's machine re-anchors today's window at this moment (usage before it stops counting), `--add N` raises today's cap by N tokens until Beijing midnight, `--clear` drops both markers. For hub-hosted models the same verbs live under `aweshare hub produce refresh name` (`hub/` prefix optional). Both commands take `--all` to bare-refresh every one of their own offerings in a single run. The split is deliberate: quota expansion is the owner's call — the hub operator can restrict a producer's model (`admin offering revoke`) but never spends more of its upstream budget; grants survive re-registers and any catalog edit (they live in their own alias-keyed table, never on the offering rows) and lapse at Beijing midnight on their own. A permanent raise belongs in the config (`dailyTokens`), which hot-reloads.
@@ -382,11 +384,11 @@ The file lives in the hub data dir next to `config.toml` (`~/.aweshare-hub/confi
382
384
  | `GET /v1/catalog` | every offering on the hub — producer, alias, protocol, status, the per-offering caps, live in-flight occupancy (`activeUsers`/`activeRequests`) and today's used/remaining tokens (discovery view for `aweshare consumer list`) |
383
385
  | `GET /healthz` | liveness |
384
386
  | `GET /admin/v1/offerings` | registered offerings with live status, caps, in-flight occupancy and today's used tokens — admin sees everything, a producer token only its own slice (`aweshare producer list`) |
385
- | `/admin/v1/*` | token/limit/usage management (admin or producer token) · usage: `GET /admin/v1/usage` (newest-first log) and `GET /admin/v1/usage/summary` (`group=consumer-alias\|consumer\|alias`, `since=30m\|12h\|7d\|all`, default 7d, `consumer`/`producer`/`alias` filters; every role sees its own slice) · consumer limit overrides: `GET`/`PUT`/`DELETE /admin/v1/consumers/{name}/limits` (admin only) |
387
+ | `/admin/v1/*` | token/limit/usage management (admin or producer token) · usage: `GET /admin/v1/usage` (newest-first log, same `since` window) and `GET /admin/v1/usage/summary` (`group=consumer-alias\|consumer\|alias`, `since=30m\|12h\|7d\|all`, default `all`, `consumer`/`producer`/`alias` filters; every role sees its own slice) · consumer limit overrides: `GET`/`PUT`/`DELETE /admin/v1/consumers/{name}/limits` (admin only) |
386
388
 
387
389
  Error semantics: `401` invalid key · `401 TOKEN_REVOKED` suspended token (ask the operator to restore it) · `403 HUB_FULL` producer capacity reached · `404` unknown alias · `400 PROTOCOL_MISMATCH` protocol/alias mismatch · `429` rate limit, TPM or producer concurrency cap (`PRODUCER_MAX_USERS` = distinct-consumer cap; `QUOTA_EXCEEDED` = lifetime or daily token budget hit) · `502` upstream/tunnel failure (upstream 4xx/5xx passes through verbatim) · `503` producer offline / backend degraded · `504` timeout. Errors carry `{error:{code,message,requestId}}`; the requestId spans both sides' logs.
388
390
 
389
- Usage metering: one row per request (alias, declared upstream model, response-reported model when available, status, duration, byte counts, best-effort token counts), **zero content stored**. `aweshare hub list usage` (and `aweshare producer list usage` on a producer's machine, scoped to its own models) answers "who used how much" by default: server-side aggregation on the hub's SQLite, one row per consumer × model, **most recently used first** — with request/error counts, best-effort token totals, an explicit unknown-token count (streaming backends that report no counts) and mean duration. The window defaults to 7 days and is printed with the table (`--since 30m\|12h\|7d\|…\|all`); `--group-by consumer` rolls up to per-person totals, `--group-by alias` to per-model totals; `--sort` re-orders the rows (`consumer`, `producer` or `model`, alphabetical with newest first within; `tokens` or `requests`, busiest first — tokens keeps a person's rows together, the pre-0.6.1 default order). `--details` switches to the per-request log (`GET /admin/v1/usage`; admin sees everything, producers and consumers their own slice, rows carry the consumer/producer names).
391
+ Usage metering: one row per request (alias, declared upstream model, response-reported model when available, status, duration, byte counts, best-effort token counts), **zero content stored**. `aweshare hub list usage` (and `aweshare producer list usage` on a producer's machine, scoped to its own models) answers "who used how much" by default: server-side aggregation on the hub's SQLite, one row per consumer × model, **most recently used first** — with request/error counts, best-effort token totals, an explicit unknown-token count (streaming backends that report no counts) and mean duration; the table closes with a TOTAL row summing every group (duration averaged request-weighted). The window defaults to all time and is printed with the table (`--since 30m\|12h\|7d\|…\|all`); `--group-by consumer` rolls up to per-person totals, `--group-by alias` to per-model totals; `--sort` re-orders the rows (`consumer`, `producer` or `model`, alphabetical with newest first within; `tokens` or `requests`, busiest first — tokens keeps a person's rows together, the pre-0.6.1 default order). `--details` switches to the per-request log (`GET /admin/v1/usage`; admin sees everything, producers and consumers their own slice, rows carry the consumer/producer names).
390
392
 
391
393
  ## Command reference
392
394
 
@@ -410,7 +412,7 @@ Both sides at a glance — details in the sections above.
410
412
  | `aweshare hub status` | the live dashboard: capacity (producer slots, consumers, offering counts), a last-5m requests/ok-rate/errors line from the usage summary (hub-admission 429s are not metered), admission-rejection pressure (top throttled alias/consumer) and the effective consumer defaults |
411
413
  | `aweshare hub limits NAME… [--rps N] [--burst N] [--max-concurrent N] [--tpm N] [--max-total-tokens N] [--probe-budget N] [--clear] [--json]` | show, merge or clear consumers' limit overrides, one consumer or several per call (unset keys keep the hub-wide defaults) |
412
414
  | `aweshare hub backups [ALIAS] [--add A[,A…]] [--first] [--remove A[,A…]] [--clear] [--json]` | per-alias failover queues in the data dir's `config.backups.toml` (hot-reloads; this machine's file, like `config.toml` itself): bare `ALIAS` shows one queue, no `ALIAS` lists all; `--add` appends (comma-separate several), `--first` prepends, `--remove` deletes entries, `--clear` drops the queue — see Alias backups |
413
- | `aweshare hub list usage [--details] [--consumer NAME] [--producer NAME] [--alias ns/model] [--group-by consumer-alias\|consumer\|alias] [--since 7d\|all] [--sort time\|consumer\|producer\|model\|tokens\|requests] [--limit N] [--json]` | who used how much (default): aggregate per consumer × model, most recently used first — requests, errors, rate, best-effort token totals, unknown-token count, mean duration; window defaults to 7d and is printed with the table; `--sort` re-orders (consumer/producer/model alphabetical, tokens/requests busiest first) · `--details`: per-request log, newest first, zero content stored, each row naming its consumer |
415
+ | `aweshare hub list usage [--details] [--consumer NAME] [--producer NAME] [--alias ns/model] [--group-by consumer-alias\|consumer\|alias] [--since 7d\|all] [--sort time\|consumer\|producer\|model\|tokens\|requests] [--limit N] [--json]` | who used how much (default): aggregate per consumer × model, most recently used first — requests, errors, rate, best-effort token totals, unknown-token count, mean duration, closing TOTAL row; window defaults to all and is printed with the table; `--sort` re-orders (consumer/producer/model alphabetical, tokens/requests busiest first) · `--details`: per-request log, newest first, windowed by the same `--since`, zero content stored, each row naming its consumer |
414
416
  | `aweshare hub produce refresh NAME… [--add N] [--clear] [--json]` · `aweshare hub produce refresh --all [--json]` | reopen hub-hosted models' daily token budgets mid-day (`hub/` prefix optional; several names per call): bare call re-anchors today's window at this moment, `--add N` raises today's cap by N tokens until Beijing midnight, `--clear` drops both markers. Hub-hosted (`hub/…`) offerings only — a producer's models are its own to refresh. `--all` bare-refreshes every `hub/…` offering with a daily cap in one run (unlimited ones are reported and skipped; one failure does not stop the rest) |
415
417
 
416
418
  Token issuance runs through invites (both roles). `admin`, `limits` and `list usage` are thin wrappers over the admin REST API (`/admin/v1/*`, see Endpoints and errors) — curl works too.
@@ -426,7 +428,7 @@ Every `list` table and `status` print aligned columns by default; append `--json
426
428
  | `aweshare producer config path` · `config show` · `config edit` | locate / inspect (secrets redacted) / edit the config |
427
429
  | `aweshare producer doctor [--status]` | diagnose end to end: background instance, config, backend probes, hub (including how many of your offerings are registered), recent log (`--status` skips the network probes for an instant answer) |
428
430
  | `aweshare producer list [offerings] [--json] [--all]` | what this producer has registered on the hub — alias, protocol, live status, caps, live occupancy (`IN USE`, distinct consumers in flight right now), today's token use — plus the local background instance state and drift against config.toml (hubUrl/token come from config.toml); `--all`: every producer's registrations, the discovery view |
429
- | `aweshare producer list usage [--details] [--consumer NAME] [--alias ns/model] [--group-by consumer-alias\|consumer\|alias] [--since 7d\|all] [--sort time\|consumer\|model\|tokens\|requests] [--limit N] [--json]` | who used this producer's models (the producer token scopes the hub's metering to its own slice): aggregate per consumer × model by default, most recently used first (`--sort` re-orders), window defaults to 7d · `--details`: per-request log, newest first, each row naming its consumer |
431
+ | `aweshare producer list usage [--details] [--consumer NAME] [--alias ns/model] [--group-by consumer-alias\|consumer\|alias] [--since 7d\|all] [--sort time\|consumer\|model\|tokens\|requests] [--limit N] [--json]` | who used this producer's models (the producer token scopes the hub's metering to its own slice): aggregate per consumer × model by default, most recently used first (`--sort` re-orders), closing TOTAL row, window defaults to all · `--details`: per-request log, newest first, same `--since` window, each row naming its consumer |
430
432
  | `aweshare producer status` | the live one-glance summary: local process, config counts, registered-offering health rollup and drift — the full table is `list offerings` |
431
433
  | `aweshare producer start [--background \| --install]` | connect and relay (long-running; `--background` detaches it — logs to `~/.aweshare/producer.log`, pid to `producer.pid`; `--install` installs and starts a launchd/systemd service for boot auto-start and crash recovery) |
432
434
  | `aweshare producer reload` | signal the background producer (SIGHUP) to re-read `config.toml` + `secrets.json` and re-register its offerings on the open tunnel — no disconnect; a broken config keeps the previous values |
@@ -461,16 +463,18 @@ The hub reads `config.toml` from its data dir (`~/.aweshare-hub/config.toml`; Do
461
463
  | `AWESHARE_CONSUMER_RPS` / `BURST` / `CONCURRENCY` | 10 / 20 / 8 | per-consumer limits |
462
464
  | `AWESHARE_CONSUMER_PROBE_BUDGET` | 10 | complete `consumer list --ping` runs per consumer per day; 0 = unlimited |
463
465
  | `AWESHARE_HEAD_TIMEOUT_MS` / `IDLE_TIMEOUT_MS` | 120000 / 120000 | response-head timeout / stream idle timeout |
466
+ | `AWESHARE_QUEUE_WAIT_MS` | 10000 | how long a request may wait for a per-user admission slot before 429 — short same-key overlaps (a coding agent's background title request, a second window) queue through instead of failing at once; `0` = reject immediately |
464
467
  | `AWESHARE_MAX_BODY_BYTES` | 32MB | request body cap |
465
468
  | `AWESHARE_INVITE_REDEEM_PER_MIN` | 10 | redeem entry global insurance budget (valid-format attempts shared by every origin) |
466
469
  | `AWESHARE_INVITE_REDEEM_PER_IP_MIN` | 5 | redeem entry per-origin-IP bucket (`CF-Connecting-IP` behind a tunnel/proxy) — one visitor cannot monopolize admission; both keys reload via SIGHUP |
467
470
  | `AWESHARE_MAX_PRODUCERS` | 10 | max active producers — token issuance (admin API), invite redeem and restore refuse with `403 HUB_FULL` when full |
468
471
  | `AWESHARE_AUTO_BLOCK_MODEL_MISMATCH` | false | auto-block an offering after 2 consecutive successful responses report a different model than declared. Off by default: mismatches are logged once (flip) and visible in `hub list offerings` / `consumer list` / `list usage --details` either way — the hub is report-only until the operator opts in. An auto block clears when the producer re-declares a different `upstreamModel`; an explicit manual `admin offering revoke` takes precedence and always persists; reloads via SIGHUP |
472
+ | `AWESHARE_OFFLINE_AFTER_MS` | 432000000 (120h) | continuous-degraded duration before an offering renders `offline` — the honest verdict for a backend that has not recovered in days. Display and catalog only: dispatch is already cut at degraded, recovery probes keep running, and a late success returns the offering straight to `online`. Per offering (its backend), never per producer: the producer's other models keep their own verdicts. The 503 gains how long it has been dead, `hub status` lists the dead aliases, and `/v1/catalog` carries `degradedSince`. Upgraded agents report the exact streak start; older ones get a hub-side first-seen stamp (reset by a hub restart or producer reconnect). 0 = stay degraded forever; reloads via SIGHUP |
469
473
  | `AWESHARE_HUB_CONTACT_EMAIL` | unset | contact address shown on the browser landing page (`GET /` with `Accept: text/html`) where visitors request an invite — a static bilingual EN/中文 page (toggle via `?lang=`, first visit follows `Accept-Language`); unset shows generic "contact the hub operator" wording; reloads via SIGHUP |
470
474
  | `AWESHARE_NO_UPDATE_CHECK` | unset | set to `1` to disable the passive update reminder |
471
475
  | `AWESHARE_TIMEZONE` | `Asia/Shanghai` | display zone for every human-readable time the CLIs print (table cells, `since …` windows, log lines). Any IANA name; the wire, SQLite and `--json` stay UTC ISO. Read by whichever CLI renders, so it also applies to `docker exec` — set it on the container to change `hub list`/`hub status` output. Not a server tunable: no SIGHUP reload, no config.toml key |
472
476
 
473
- Health: agent heartbeats every 15s, silent 45s = dead; backends with 2 consecutive AUTH/QUOTA failures auto-degrade (alias shows `degraded`, dispatch stops), 30s probes recover; 2 consecutive upstream 5xx show `unstable` (dispatch continues), a 3rd degrades only with `degradeOn5xx` opted in. A new connection with the same producer token replaces the old one (latest-wins).
477
+ Health: agent heartbeats every 15s, silent 45s = dead; backends with 2 consecutive AUTH/QUOTA failures auto-degrade (alias shows `degraded`, dispatch stops), 30s probes recover; 2 consecutive upstream 5xx show `unstable` (dispatch continues), a 3rd degrades only with `degradeOn5xx` opted in. A degraded streak older than `AWESHARE_OFFLINE_AFTER_MS` (default 120h) escalates that offering to `offline` — per offering, the producer's other models unaffected; probes keep running, and a recovery returns it straight to `online` (the escalation is never a block, and never stops the daily last-gasp probe). A new connection with the same producer token replaces the old one (latest-wins).
474
478
 
475
479
  Model honesty: an offering's `upstreamModel` is the producer's claim — the hub compares it with the bounded model id reported by each successful response (`model` / `message.model` / `response.model`). This is consistency evidence, not proof of the model's underlying weights: a producer or upstream router can still rewrite that metadata. The observation rides the existing usage meter, never rewrites the relayed response, and is scoped to the same alias, protocol and current declaration. It appears in the `OBSERVED MODEL` column, `list usage --details`, and `/v1/catalog` as `observedModel`, `observedAt`, `modelMatch` and the backward-compatible `modelVerified`. The catalog also carries `hubCheckAt` — the newer of that observation and the serving side's heartbeat-reported last success — rendered as the LAST SEEN column: how long ago the hub's evidence says the offering actually served (`-` = never). Comparison is token-aware: exact ids and explicit date/revision suffixes are affirmative; vendor prefixes are tolerated; adjacent variants such as `gpt-4`/`gpt-4o` and `gpt-4o`/`gpt-4o-mini` mismatch; a less-specific response is marked `?`/`insufficient`, not verified. Handling is tiered: default **report-only**, manual `hub admin offering revoke ALIAS` or whole-producer `hub admin invite revoke`, and opt-in auto-block after 2 consecutive mismatches. Manual blocks override automatic ones. `producer doctor` probes every distinct configured model and reports the response-named id with the same evidence boundary.
476
480
 
@@ -92,11 +92,12 @@ Options:
92
92
  remaining tokens — plus the local background instance state and
93
93
  any drift against config.toml.
94
94
  usage Who used this producer's models: aggregated on the hub, one row
95
- per consumer × model (default), most recently used first. The
96
- producer token scopes everything to this producer's slice.
97
- --details switches to the request log instead: newest first,
98
- one row per request, zero content stored, each row naming the
99
- consumer that made it.
95
+ per consumer × model (default), most recently used first,
96
+ closing with a TOTAL row. The producer token scopes everything
97
+ to this producer's slice. --details switches to the request log
98
+ instead: newest first, one row per request, zero content
99
+ stored, each row naming the consumer that made it. Both take
100
+ the same --since window (default all time).
100
101
 
101
102
  Options (offerings only):
102
103
  --json Print the raw API response instead of a table.
@@ -110,7 +111,8 @@ Options:
110
111
  --consumer NAME Only rows for this consumer.
111
112
  --alias ALIAS Only rows for this alias (one of your offerings).
112
113
  --group-by KEY consumer × model (default), consumer or alias.
113
- --since DUR Window: 30m, 12h, 7d (default), 30d… or all.
114
+ --since DUR Window (summary and --details): all (default), or
115
+ 30m, 12h, 7d, 30d…
114
116
  --sort KEY Summary only: time (default, newest first), consumer or
115
117
  model (alphabetical, newest first within), or tokens /
116
118
  requests (busiest first; tokens keeps a person's rows
@@ -464,15 +466,16 @@ async function runUsage(dir, flags) {
464
466
  const { config } = loadAgentConfig(dir);
465
467
  const consumer = flags.get('consumer');
466
468
  const alias = flags.get('alias');
469
+ // the window is shared by the summary and the detail log (default all time)
470
+ const since = flags.get('since') ?? 'all';
471
+ if (since !== 'all' && !/^\d+[smhd]$/.test(since))
472
+ fail(`--since must look like 30m, 12h, 7d or all, got '${since}'`);
467
473
  if (flags.get('details') !== 'true') {
468
474
  if (flags.get('limit') !== undefined)
469
475
  fail('--limit applies to --details, not the summary');
470
476
  const group = flags.get('group-by') ?? 'consumer-alias';
471
477
  if (group !== 'consumer-alias' && group !== 'consumer' && group !== 'alias')
472
478
  fail(`--group-by must be 'consumer', 'alias' or 'consumer-alias' (default), got '${group}'`);
473
- const since = flags.get('since') ?? '7d';
474
- if (since !== 'all' && !/^\d+[smhd]$/.test(since))
475
- fail(`--since must look like 30m, 12h, 7d or all, got '${since}'`);
476
479
  const sort = flags.get('sort') ?? 'time';
477
480
  if (!USAGE_SORTS.includes(sort))
478
481
  fail(`--sort must be time (default), consumer, producer, model, tokens or requests, got '${sort}'`);
@@ -516,7 +519,7 @@ async function runUsage(dir, flags) {
516
519
  // the details log is a timeline — newest first, nothing to re-sort
517
520
  if (flags.get('sort') !== undefined)
518
521
  fail('--sort applies to the summary, not --details (the log is newest first)');
519
- const rows = await fetchUsage(config.hubUrl, config.token, { consumer, alias, limit });
522
+ const rows = await fetchUsage(config.hubUrl, config.token, { consumer, alias, since, limit });
520
523
  if (flags.get('json') === 'true') {
521
524
  console.log(JSON.stringify(rows, null, 2));
522
525
  return;
@@ -526,6 +529,10 @@ async function runUsage(dir, flags) {
526
529
  const names = new Map();
527
530
  for (const r of rows)
528
531
  names.set(r.consumer_id, r.consumer_name ?? `#${r.consumer_id}`);
532
+ const window = since === 'all'
533
+ ? 'all time'
534
+ : `since ${fmtDate(new Date(Date.now() - sinceMs(since)))} (${since})`;
535
+ console.log(`usage ${window} — details, newest first`);
529
536
  console.log(renderUsage(rows, (id) => names.get(id) ?? `#${id}`));
530
537
  }
531
538
  /** '30m' / '12h' / '7d' → milliseconds (the window header's date math). */
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -118,6 +118,8 @@ export interface UsageEventRow {
118
118
  export interface UsageQuery {
119
119
  consumer?: string;
120
120
  alias?: string;
121
+ /** Window like '30m'/'7d', or 'all' — the server translates to a cutoff. */
122
+ since?: string;
121
123
  limit?: number;
122
124
  }
123
125
  /** Recent requests against this producer's models, newest first. */
@@ -191,6 +191,8 @@ export async function fetchUsage(hubUrl, token, query = {}) {
191
191
  params.set('consumer', query.consumer);
192
192
  if (query.alias)
193
193
  params.set('alias', query.alias);
194
+ if (query.since)
195
+ params.set('since', query.since);
194
196
  if (query.limit !== undefined)
195
197
  params.set('limit', String(query.limit));
196
198
  const qs = params.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,6 @@ export type UsageSort = 'time' | 'consumer' | 'producer' | 'model' | 'tokens' |
128
128
  /** "Who used how much" against this producer's models: one row per consumer ×
129
129
  * alias (default), per consumer, or per alias — rows arrive as the hub sorted
130
130
  * them (most recently used first by default; --sort on the CLI, sort= on the
131
- * API). The PRODUCER column stays hidden every row is already this
132
- * producer's own. */
131
+ * API). The table closes with a TOTAL row summing every group. The PRODUCER
132
+ * column stays hidden — every row is already this producer's own. */
133
133
  export declare function renderUsageSummary(rows: UsageSummaryRow[], group: UsageGroup): string;
@@ -159,14 +159,35 @@ export function renderUsage(rows, consumerName) {
159
159
  : `${fmtTokens(r.prompt_tokens ?? 0)}+${fmtTokens(r.completion_tokens ?? 0)}`,
160
160
  ]));
161
161
  }
162
+ /** Grand total over summary rows: duration is averaged request-weighted and
163
+ * LAST USED is the newest row's — a flat mean of means would weigh a
164
+ * 1-request group same as a 10,000-request one. */
165
+ function usageTotal(rows) {
166
+ const requests = rows.reduce((s, r) => s + r.requests, 0);
167
+ return {
168
+ requests,
169
+ errors: rows.reduce((s, r) => s + r.errors, 0),
170
+ promptTokens: rows.reduce((s, r) => s + r.prompt_tokens, 0),
171
+ completionTokens: rows.reduce((s, r) => s + r.completion_tokens, 0),
172
+ unknownTokens: rows.reduce((s, r) => s + r.unknown_tokens, 0),
173
+ avgDurationMs: Math.round(rows.reduce((s, r) => s + r.avg_duration_ms * r.requests, 0) / requests),
174
+ lastAt: rows.reduce((max, r) => (r.last_at > max ? r.last_at : max), rows[0]?.last_at ?? ''),
175
+ };
176
+ }
162
177
  /** "Who used how much" against this producer's models: one row per consumer ×
163
178
  * alias (default), per consumer, or per alias — rows arrive as the hub sorted
164
179
  * them (most recently used first by default; --sort on the CLI, sort= on the
165
- * API). The PRODUCER column stays hidden every row is already this
166
- * producer's own. */
180
+ * API). The table closes with a TOTAL row summing every group. The PRODUCER
181
+ * column stays hidden — every row is already this producer's own. */
167
182
  export function renderUsageSummary(rows, group) {
168
183
  if (rows.length === 0)
169
184
  return 'no usage in this window — rows appear after the first consumer request';
185
+ const total = usageTotal(rows);
186
+ // 'TOTAL' sits in the leftmost identity column, the rest blank out
187
+ const totalIdentity = [
188
+ ...(group !== 'alias' ? ['CONSUMER'] : []),
189
+ ...(group !== 'consumer' ? ['ALIAS'] : []),
190
+ ].map((_, i) => (i === 0 ? 'TOTAL' : '-'));
170
191
  return formatTable([
171
192
  ...(group !== 'alias' ? ['CONSUMER'] : []),
172
193
  ...(group !== 'consumer' ? ['ALIAS'] : []),
@@ -178,17 +199,30 @@ export function renderUsageSummary(rows, group) {
178
199
  'UNK',
179
200
  'AVG TOOK',
180
201
  'LAST USED',
181
- ], rows.map((r) => [
182
- ...(group !== 'alias' ? [r.consumer_name ?? `#${r.consumer_id}`] : []),
183
- ...(group !== 'consumer' ? [r.alias ?? '-'] : []),
184
- String(r.requests),
185
- String(r.errors),
186
- `${(((r.requests - r.errors) / r.requests) * 100).toFixed(1)}%`,
187
- fmtTokens(r.prompt_tokens),
188
- fmtTokens(r.completion_tokens),
189
- String(r.unknown_tokens),
190
- `${r.avg_duration_ms}ms`,
191
- fmtTime(r.last_at),
192
- ]));
202
+ ], [
203
+ ...rows.map((r) => [
204
+ ...(group !== 'alias' ? [r.consumer_name ?? `#${r.consumer_id}`] : []),
205
+ ...(group !== 'consumer' ? [r.alias ?? '-'] : []),
206
+ String(r.requests),
207
+ String(r.errors),
208
+ `${(((r.requests - r.errors) / r.requests) * 100).toFixed(1)}%`,
209
+ fmtTokens(r.prompt_tokens),
210
+ fmtTokens(r.completion_tokens),
211
+ String(r.unknown_tokens),
212
+ `${r.avg_duration_ms}ms`,
213
+ fmtTime(r.last_at),
214
+ ]),
215
+ [
216
+ ...totalIdentity,
217
+ String(total.requests),
218
+ String(total.errors),
219
+ `${(((total.requests - total.errors) / total.requests) * 100).toFixed(1)}%`,
220
+ fmtTokens(total.promptTokens),
221
+ fmtTokens(total.completionTokens),
222
+ String(total.unknownTokens),
223
+ `${total.avgDurationMs}ms`,
224
+ fmtTime(total.lastAt),
225
+ ],
226
+ ]);
193
227
  }
194
228
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,25 @@ export function registerAdminRoutes(router, deps) {
29
29
  throw new HttpError(404, 'ALIAS_NOT_FOUND', `unknown producer: ${name}`);
30
30
  return producer.id;
31
31
  };
32
+ /** ?since=30m/12h/7d/all → the WHERE cutoff (undefined = all time); both
33
+ * usage endpoints share it, and omitting it means all time. */
34
+ const sinceFromQuery = (query) => {
35
+ const raw = query.get('since');
36
+ if (raw === null || raw === 'all')
37
+ return undefined;
38
+ const m = /^(\d+)([smhd])$/.exec(raw);
39
+ if (!m) {
40
+ throw new HttpError(400, 'INVALID_SINCE', 'since must look like 30m, 12h, 7d or all');
41
+ }
42
+ const unit = { s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000 }[m[2]];
43
+ // a huge magnitude overflows Date's ±8.64e15 ms range; toISOString()
44
+ // would throw RangeError and surface as a 500 — reject as input instead
45
+ const date = new Date(Date.now() - Number(m[1]) * unit);
46
+ if (Number.isNaN(date.getTime())) {
47
+ throw new HttpError(400, 'INVALID_SINCE', 'since magnitude is out of range');
48
+ }
49
+ return date.toISOString();
50
+ };
32
51
  /** ?alias=ns/model for the block/restore endpoints — required, and it must
33
52
  * name a registered offering (0 protocol rows = unknown alias). */
34
53
  const offeringAliasFromQuery = (query) => {
@@ -181,6 +200,7 @@ export function registerAdminRoutes(router, deps) {
181
200
  alias: ctx.query.get('alias') ?? undefined,
182
201
  consumerId: consumerIdFromQuery(ctx.query),
183
202
  producerId: producerIdFromQuery(ctx.query),
203
+ since: sinceFromQuery(ctx.query),
184
204
  limit,
185
205
  }));
186
206
  return;
@@ -191,6 +211,7 @@ export function registerAdminRoutes(router, deps) {
191
211
  producerId: row.id,
192
212
  alias: ctx.query.get('alias') ?? undefined,
193
213
  consumerId: consumerIdFromQuery(ctx.query),
214
+ since: sinceFromQuery(ctx.query),
194
215
  limit,
195
216
  }));
196
217
  return;
@@ -200,14 +221,16 @@ export function registerAdminRoutes(router, deps) {
200
221
  sendJson(ctx.res, 200, queryUsage(db, {
201
222
  consumerId: consumerRow.id,
202
223
  alias: ctx.query.get('alias') ?? undefined,
224
+ since: sinceFromQuery(ctx.query),
203
225
  limit,
204
226
  }));
205
227
  });
206
228
  // Consumption aggregated on the hub's SQLite: one row per consumer × alias
207
229
  // (group=consumer-alias, the default), per producer × consumer
208
230
  // (group=consumer) or per alias (group=alias). `since` bounds the window
209
- // (30m, 12h, 7d, … or `all`); omitting it defaults to 7d so a bare call
210
- // never reads as a lifetime total silently. `sort` orders the rows
231
+ // (30m, 12h, 7d, … or `all`); omitting it defaults to `all` a lifetime
232
+ // total is what a bare call is after, and the window is always printed
233
+ // with the table so it never reads silently. `sort` orders the rows —
211
234
  // time (most recently used first, the default), consumer, producer, model,
212
235
  // tokens or requests (busiest first).
213
236
  router.add('GET', '/admin/v1/usage/summary', (ctx) => {
@@ -223,22 +246,7 @@ export function registerAdminRoutes(router, deps) {
223
246
  throw new HttpError(400, 'INVALID_SORT', "sort must be 'time' (default), 'consumer', 'producer', 'model', 'tokens' or 'requests'");
224
247
  }
225
248
  const sort = sortRaw;
226
- const sinceRaw = ctx.query.get('since') ?? '7d';
227
- let since;
228
- if (sinceRaw !== 'all') {
229
- const m = /^(\d+)([smhd])$/.exec(sinceRaw);
230
- if (!m) {
231
- throw new HttpError(400, 'INVALID_SINCE', 'since must look like 30m, 12h, 7d or all');
232
- }
233
- const unit = { s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000 }[m[2]];
234
- // a huge magnitude overflows Date's ±8.64e15 ms range; toISOString()
235
- // would throw RangeError and surface as a 500 — reject as input instead
236
- const date = new Date(Date.now() - Number(m[1]) * unit);
237
- if (Number.isNaN(date.getTime())) {
238
- throw new HttpError(400, 'INVALID_SINCE', 'since magnitude is out of range');
239
- }
240
- since = date.toISOString();
241
- }
249
+ const since = sinceFromQuery(ctx.query);
242
250
  if (role === 'admin') {
243
251
  requireAdmin(ctx.req, auth);
244
252
  sendJson(ctx.res, 200, summarizeUsage(db, {