aweshare 0.5.9 → 0.6.1

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 (44) hide show
  1. package/README.ai.md +12 -10
  2. package/README.md +51 -28
  3. package/apps/agent/dist/cli.js +41 -9
  4. package/apps/agent/dist/cli.js.map +1 -1
  5. package/apps/agent/dist/hub.d.ts +6 -0
  6. package/apps/agent/dist/hub.js +1 -1
  7. package/apps/agent/dist/hub.js.map +1 -1
  8. package/apps/agent/dist/table.d.ts +11 -2
  9. package/apps/agent/dist/table.js +3 -2
  10. package/apps/agent/dist/table.js.map +1 -1
  11. package/apps/consumer/dist/cli.js +16 -0
  12. package/apps/consumer/dist/cli.js.map +1 -1
  13. package/apps/consumer/dist/table.d.ts +1 -1
  14. package/apps/consumer/dist/table.js +1 -1
  15. package/apps/hub/dist/admin.js +21 -9
  16. package/apps/hub/dist/admin.js.map +1 -1
  17. package/apps/hub/dist/auth.js +1 -1
  18. package/apps/hub/dist/auth.js.map +1 -1
  19. package/apps/hub/dist/cli.js +327 -207
  20. package/apps/hub/dist/cli.js.map +1 -1
  21. package/apps/hub/dist/config.d.ts +8 -5
  22. package/apps/hub/dist/config.js +35 -3
  23. package/apps/hub/dist/config.js.map +1 -1
  24. package/apps/hub/dist/consumer.js +7 -5
  25. package/apps/hub/dist/consumer.js.map +1 -1
  26. package/apps/hub/dist/db.d.ts +42 -18
  27. package/apps/hub/dist/db.js +97 -46
  28. package/apps/hub/dist/db.js.map +1 -1
  29. package/apps/hub/dist/invites.js +2 -2
  30. package/apps/hub/dist/invites.js.map +1 -1
  31. package/apps/hub/dist/landing.d.ts +39 -0
  32. package/apps/hub/dist/landing.js +276 -0
  33. package/apps/hub/dist/landing.js.map +1 -0
  34. package/apps/hub/dist/local.js +21 -2
  35. package/apps/hub/dist/local.js.map +1 -1
  36. package/apps/hub/dist/server.js +4 -0
  37. package/apps/hub/dist/server.js.map +1 -1
  38. package/apps/hub/dist/table.d.ts +21 -9
  39. package/apps/hub/dist/table.js +12 -15
  40. package/apps/hub/dist/table.js.map +1 -1
  41. package/apps/hub/dist/tunnel.js +1 -1
  42. package/apps/hub/dist/tunnel.js.map +1 -1
  43. package/bin/aweshare.mjs +1 -1
  44. package/package.json +1 -1
package/README.ai.md CHANGED
@@ -8,7 +8,7 @@ Unlike ordinary CLIs, aweshare's two core processes are **long-running services*
8
8
 
9
9
  - Never launch them from this agent — not `aweshare hub serve`, not `aweshare producer start` (foreground blocks the session; even `--background` starts a shared service, which is the user's call). The same applies to deploying the hub as a container (`docker run` / `docker compose up` of `ghcr.io/wehuman01/aweshare`). Give the user the commands and let them run them in their own terminal.
10
10
  - Upstream API keys live only in `~/.aweshare/secrets.json` (0600) on the producer's machine. Never print them, never echo them into logs or chat. `aweshare producer config show` redacts them.
11
- - Some tokens are printed exactly once (the hub admin token from `hub init`, an `asc_` consumer token from `consumer join`, invite codes from `hub invite`). Prefer having the user run those commands so the secret lands in their terminal; if you must run one, tell the user to save the value immediately.
11
+ - Some tokens are printed exactly once (the hub admin token from `hub init`, an `asc_` consumer token from `consumer join`, invite codes from `hub admin invite mint`). Prefer having the user run those commands so the secret lands in their terminal; if you must run one, tell the user to save the value immediately.
12
12
  - Before helping share an OpenAI/Anthropic backend, state the compliance boundary: relaying a personal-subscription key (coding plans included) to third parties likely violates the upstream's terms; self-hosted open models have no such issue. When in doubt, don't share.
13
13
 
14
14
  ## Language Behavior
@@ -227,13 +227,13 @@ Remind the consumer: prompts and responses transit the hub in plaintext — only
227
227
  ```
228
228
  2. After `hub init` (wherever it ran), mint invites — you may run these:
229
229
  ```bash
230
- aweshare hub invite --name peng # bound producer code → asi_...
231
- aweshare hub invite --count 10 # unbound batch, name+email at redeem
232
- aweshare hub invite --role consumer --name alice # bound consumer code → asi_...
230
+ aweshare hub admin invite mint --name peng # bound producer code → asi_...
231
+ aweshare hub admin invite mint --count 10 # unbound batch, name+email at redeem
232
+ aweshare hub admin invite mint --role consumer --name alice # bound consumer code → asi_...
233
233
  ```
234
234
  Consumers redeem codes themselves (`aweshare consumer join`); producers via `aweshare producer join`.
235
235
  3. Administering a remote hub: run admin commands on the server (`ssh` + CLI, or `docker exec aweshare-hub aweshare hub ...`), or locally with `AWESHARE_HUB_URL=https://<hub-host>` plus the admin-token file in a local data dir — otherwise they fail with "no admin token" / connection refused.
236
- 4. Guardrails you can tune on request: per-consumer `aweshare hub limits NAME [--rps N] [--tpm N] [--max-total-tokens N] ...`, suspension `aweshare hub invite revoke N` / `restore N` (reversible, invite-keyed).
236
+ 4. Guardrails you can tune on request: per-consumer `aweshare hub limits NAME [--rps N] [--tpm N] [--max-total-tokens N] ...`, suspension `aweshare hub admin invite revoke N` / `restore N` (reversible, invite-keyed).
237
237
  5. Security notes for the operator: keep :8787 off the public internet behind TLS; a redeemed consumer key can call **every** offering on the hub; tokens/codes stored plaintext-recoverable (`hub list invites --reveal` / `--token`) means a data-dir leak exposes identities — guard it.
238
238
 
239
239
  ---
@@ -245,7 +245,8 @@ After setup:
245
245
  ```bash
246
246
  aweshare producer doctor # full diagnosis, ordered to find the first failing link
247
247
  aweshare producer list # registered offerings, live status, caps, occupancy, config drift
248
- aweshare hub status [--all] # offering health + capacity; --all adds rosters
248
+ aweshare hub status # live dashboard: capacity, 5m health, admission pressure
249
+ aweshare hub list offerings # the catalog table (worst status first)
249
250
  aweshare hub list usage # who used how much, aggregated per consumer × model
250
251
  aweshare self-update --check # installed vs npm latest
251
252
  ```
@@ -271,7 +272,7 @@ aweshare producer list [--json] # this producer's offerings + drift
271
272
  aweshare producer list usage [...] # who used this producer's models
272
273
  aweshare producer status # one-glance summary: process, config counts, health rollup
273
274
  aweshare consumer list --hub URL --token asc_... # hub catalog view
274
- aweshare hub status [--all] # capacity + offering health; --all adds rosters
275
+ aweshare hub status # capacity + 5m health + admission pressure
275
276
  aweshare hub list invites [--reveal|--token] # invite ledger / codes / minted tokens
276
277
  aweshare hub limits NAME # bare call views current overrides
277
278
  aweshare hub list usage [--details] [--group-by consumer|alias] [--since 7d]
@@ -286,9 +287,10 @@ aweshare producer join --hub URL --code asi_... # redeem a producer invit
286
287
  aweshare producer config edit # open config.toml in $EDITOR
287
288
  aweshare producer reload # re-read config + re-register offerings
288
289
  aweshare hub init # create data dir + admin token (printed once!)
289
- aweshare hub invite [--role producer|consumer] ... # mint one-time codes (printed once)
290
+ aweshare hub admin invite mint [--role producer|consumer] ... # mint one-time codes (printed once)
290
291
  aweshare hub limits NAME [--rps N] [--burst N] [--max-concurrent N] [--tpm N] [--max-total-tokens N] [--clear]
291
- aweshare hub invite revoke N / restore N # reversible suspension, by invite handle
292
+ aweshare hub admin invite revoke N / restore N # reversible suspension, by invite handle
293
+ aweshare hub admin offering revoke ALIAS / restore ALIAS # per-alias scalpel
292
294
  ```
293
295
 
294
296
  User-only commands (long-running, TTY-confirming, or one-time-secret-printing):
@@ -305,7 +307,7 @@ docker run / docker compose up # hub deployment
305
307
 
306
308
  - Never start or stop the long-running services (`hub serve`, `producer start`/`stop`, hub containers) inside the agent — deployment is the user's call. Inspect a detached producer with `producer doctor --status`.
307
309
  - Never read or print `secrets.json` values; use `producer config show` (redacted) when showing config. Never ask the user to paste an upstream API key into chat — point them at the file instead.
308
- - Commands that print a secret exactly once (`hub init`, `consumer join`, `hub invite`) are best run by the user; if you run one, flag the value as save-now.
310
+ - Commands that print a secret exactly once (`hub init`, `consumer join`, `hub admin invite mint`) are best run by the user; if you run one, flag the value as save-now.
309
311
  - State the trust boundary before anyone joins a hub: consumer traffic transits the hub in plaintext; a redeemed consumer key can call every offering. State the compliance boundary before anyone shares a key: personal-subscription keys forwarded to third parties likely violate upstream terms — the producer bears the consequences.
310
312
  - Read state through the CLI (`config show`, `list`, `doctor`); do not hand-edit SQLite or pidfiles. Config TOML edits are fine — they hot-reload.
311
313
  - Offering aliases must be `namespace/name`, lowercase, namespace matching the producer token's name. One offering = one upstream model; the old `maxConcurrency` key fails validation with a rename hint (use `maxConcurrencyPerUser`).
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
  <img src="./logo/logo.png" alt="aweshare" width="760">
3
- <h1>aweshare: Local-first AI Capability Relay</h1>
3
+ <h1>aweshare: Local-first AI Capability Relay <a href="https://github.com/Webioinfo01/aweskill"><img src="https://raw.githubusercontent.com/Webioinfo01/aweskill/main/logo/aweskill-badge2.svg" alt="aweskill companion"></a></h1>
4
4
  <p><strong>An open-source, local-first AI capability relay: share your idle local models and token subscriptions, or use what others share — a sharing economy for tokens.</strong></p>
5
5
  <p>Share local Ollama/vLLM or authorized OpenAI/Anthropic backends through a self-hosted hub, consumed with standard SDKs via <code>namespace/alias</code>.</p>
6
6
  <p><strong>Upstream API keys never leave the producer's device.</strong></p>
@@ -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.5.9-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.6.1-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>
@@ -56,7 +56,7 @@ Consumer (standard SDK, zero changes) Producer side
56
56
 
57
57
  - To route and meter, **consumer prompts and model responses transit the hub in plaintext — this is not end-to-end encryption**. The hub persists no request/response content, but the hub operator can technically see it. Only use a hub instance you trust — which is why the hub is open source and self-hostable.
58
58
  - Upstream API keys never leave the producer's device and are never sent to consumers. Tokens are stored twice on purpose: a **peppered SHA-256 hash** drives authentication, and the plaintext is kept so the operator can hand a lost one back (`hub list invites --token`). Invite codes work the same way — their plaintext is re-viewable with `hub list invites --reveal`. A DB leak therefore exposes every identity, so guard the data dir.
59
- - Token revocation is **reversible suspension** (`hub invite revoke N` / `hub invite restore N`, by invite), and an invite and the producer it minted move together: revoking a redeemed code suspends that producer (and closes its tunnel), and restoring from either handle revives both. Nothing is deleted on revoke — offerings and usage history survive a suspension.
59
+ - Token revocation is **reversible suspension** (`hub admin invite revoke N` / `hub admin invite restore N`, by invite), and an invite and the producer it minted move together: revoking a redeemed code suspends that producer (and closes its tunnel), and restoring from either handle revives both. Nothing is deleted on revoke — offerings and usage history survive a suspension.
60
60
 
61
61
  ### Compliance and disclaimer
62
62
 
@@ -92,11 +92,7 @@ aweshare hub init # data in ~/.aweshare-hub; prints the admin token — s
92
92
  aweshare hub serve # listens on :8787 (put Caddy/nginx TLS in front)
93
93
  ```
94
94
 
95
- The hub can also host models itself — no producer machine needed. Add `[[backends]]`/`[[offerings]]` sections to `~/.aweshare-hub/config.produce.toml` (same format as a producer's config, alias namespace `hub/…`), put the upstream keys in `~/.aweshare-hub/secrets.json`, and run:
96
-
97
- ```bash
98
- aweshare hub produce # serve + the hub's own models; consumers dial hub/<name> like any offering
99
- ```
95
+ The hub can also host models itself — no producer machine needed. Scaffold with `aweshare hub produce init`, add `[[backends]]`/`[[offerings]]` sections to `~/.aweshare-hub/config.produce.toml` (same format as a producer's config, alias namespace `hub/…`), put the upstream keys in `~/.aweshare-hub/secrets.json`, and run the same `aweshare hub serve` — the catalog mounts automatically and consumers dial `hub/<name>` like any offering.
100
96
 
101
97
  **docker**:
102
98
 
@@ -110,10 +106,10 @@ Then bring people in. Producers join on their own — invite codes (`asi_…`, s
110
106
 
111
107
  ```bash
112
108
  # bound: lock the code to a specific name ("inviting that user")
113
- aweshare hub invite --name peng [--expires-in 7d] # → asi_..., send to the producer
109
+ aweshare hub admin invite mint --name peng [--expires-in 7d] # → asi_..., send to the producer
114
110
 
115
111
  # unbound: batch hand-out; the producer submits name + email at redeem (stored on the hub)
116
- aweshare hub invite --count 10 [--expires-in 7d]
112
+ aweshare hub admin invite mint --count 10 [--expires-in 7d]
117
113
 
118
114
  # the producer redeems it themselves (no token hand-off needed):
119
115
  aweshare producer join --hub https://hub.example.com --code asi_... [--name NAME --email YOU@EXAMPLE.COM]
@@ -122,7 +118,7 @@ aweshare producer join --hub https://hub.example.com --code asi_... [--name NAME
122
118
  Consumers join the same way — a consumer code redeems into an `asc_` key the consumer keeps:
123
119
 
124
120
  ```bash
125
- aweshare hub invite --role consumer --name alice [--expires-in 7d] # → asi_..., send to the consumer
121
+ aweshare hub admin invite mint --role consumer --name alice [--expires-in 7d] # → asi_..., send to the consumer
126
122
 
127
123
  # the consumer redeems it themselves (prints the asc_ token once, with the SDK
128
124
  # env vars ready to paste — save the token, it will not be shown again):
@@ -137,13 +133,13 @@ Three token roles, one per party:
137
133
 
138
134
  | Role | Who holds it | How it's used |
139
135
  |---|---|---|
140
- | `admin` | hub operator (you only) | the admin REST API (`/admin/v1/*`); CLI side: `hub invite` (mint) / `invite revoke\|restore` / `list invites` / `status` |
136
+ | `admin` | hub operator (you only) | the admin REST API (`/admin/v1/*`); CLI side: `hub admin invite mint` / `admin invite revoke\|restore` / `admin offering revoke\|restore` / `list` / `status` |
141
137
  | `producer` (`asp_...`) | the agent on the producer's machine | set as `token` in `~/.aweshare/config.toml`; the agent registers its offerings with it |
142
138
  | `consumer` (`asc_...`) | whoever calls the models | set in SDK env vars (`ANTHROPIC_AUTH_TOKEN` / `OPENAI_API_KEY`); it identifies the consumer for metering, limits and suspension |
143
139
 
144
140
  The producer's `name` becomes their alias namespace (the `peng/` in `peng/gpt-4o`).
145
141
 
146
- The operator owns admission: one-time invite codes for both roles, the only admission path (every identity carries its invite handle for its whole lifecycle). A redeemed consumer key may call **every** offering on the hub — if you let someone in, they can use what is shared. Guardrails: per-consumer `hub limits` (rate, concurrency, token budgets), per-offering caps (`maxConcurrentUsers`, `dailyTokens`) and `hub invite revoke` suspension, all enforced by the hub.
142
+ The operator owns admission: one-time invite codes for both roles, the only admission path (every identity carries its invite handle for its whole lifecycle). A redeemed consumer key may call **every** offering on the hub — if you let someone in, they can use what is shared. Guardrails: per-consumer `hub limits` (rate, concurrency, token budgets), per-offering caps (`maxConcurrentUsers`, `dailyTokens`) and `hub admin invite revoke` suspension, all enforced by the hub.
147
143
 
148
144
  #### 2. Producer first run (in this order)
149
145
 
@@ -273,7 +269,7 @@ One alias can also speak several wire protocols at once: replace `backend = "…
273
269
 
274
270
  `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`. 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.)
275
271
 
276
- 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 (`offering block`) but never spends more of its upstream budget; markers survive re-registers and lapse at Beijing midnight on their own. A permanent raise belongs in the config (`dailyTokens`), which hot-reloads.
272
+ 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.
277
273
 
278
274
  Key hygiene: use dedicated, least-privilege, revocable keys with budget alerts; keep `secrets.json` at 0600 and out of git/screenshots; rotate on suspected leaks. Before sharing, check the upstream's terms: account rules, subscription limits, forwarding and commercial-use constraints.
279
275
 
@@ -322,7 +318,7 @@ Honest limits: token-based caps count what upstreams report — Ollama streams r
322
318
 
323
319
  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.
324
320
 
325
- 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 — a person's rows stay together, busiest person and busiest model 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. `--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).
321
+ 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).
326
322
 
327
323
  ## Command reference
328
324
 
@@ -333,20 +329,23 @@ Both sides at a glance — details in the sections above.
333
329
  | Command | Purpose |
334
330
  |---|---|
335
331
  | `aweshare hub init` | create data dir + admin token (printed once) |
336
- | `aweshare hub serve [--host H] [--port N]` | run the hub |
337
- | `aweshare hub produce [--host H] [--port N]` | run the hub with its own models attached — same as `serve`; the `[[backends]]`/`[[offerings]]` sections of `config.produce.toml` become `hub/…` offerings served in-process (keys in the data dir's secrets.json; edits hot-reload) |
338
- | `aweshare hub invite [--role producer\|consumer] [--name NAME] [--count N] [--expires-in D\|none]` | mint one-time invite codes (`asi_…`, printed once, expire after 7 d by default; re-view with `list invites --reveal`); `--expires-in` also bounds the lifetime of the token it mints — an expired key fails auth with 401 `TOKEN_EXPIRED` (`none` = code and identity never expire; identities minted before this change never expire); producer codes: bound (`--name`) or unbound (name + email at redeem, `--count` batches); consumer codes: always bound to one name |
339
- | `aweshare hub invite revoke N` · `aweshare hub invite restore N` | kill an invite / undo — a redeemed code suspends the producer it minted, restore revives both |
332
+ | `aweshare hub serve [--host H] [--port N]` | run the hub — the only runner; a `config.produce.toml` in the data dir mounts automatically: its `[[backends]]`/`[[offerings]]` sections become `hub/…` offerings served in-process (keys in the data dir's secrets.json; edits hot-reload) |
333
+ | `aweshare hub produce init` | scaffold `config.produce.toml` + empty `secrets.json` in the data dir (kept if they exist); also initializes the data dir, db, pepper and admin token |
334
+ | `aweshare hub admin invite mint [--role producer\|consumer] [--name NAME] [--count N] [--expires-in D\|none]` | mint one-time invite codes (`asi_…`, printed once, expire after 7 d by default; re-view with `list invites --reveal`); `--expires-in` also bounds the lifetime of the token it mints — an expired key fails auth with 401 `TOKEN_EXPIRED` (`none` = code and identity never expire; identities minted before this change never expire); producer codes: bound (`--name`) or unbound (name + email at redeem, `--count` batches); consumer codes: always bound to one name |
335
+ | `aweshare hub admin invite revoke N` · `aweshare hub admin invite restore N` | kill an invite / undo — a redeemed code suspends the producer it minted, restore revives both |
336
+ | `aweshare hub admin offering revoke ALIAS` · `aweshare hub admin offering restore ALIAS` | the per-alias scalpel between doing nothing and revoking a whole producer: revoke one offering (every protocol row of the alias) — new requests get 503 `OFFERING_BLOCKED`, `list offerings` shows `blocked`, the producer's other offerings keep serving. Manual revokes survive re-registers; auto revokes (model mismatch, see `autoBlockModelMismatch`) clear once the producer re-declares a different `upstreamModel` |
337
+ | `aweshare hub list [invites\|producers\|consumers\|offerings\|usage]` | read hub state, one table per noun (default: invites) |
340
338
  | `aweshare hub list invites [--reveal] [--token] [--json]` | the invite ledger: every code, the identity it minted and its lifecycle (pending/used/suspended/revoked/expired; a redeemed code shows `expired` once its identity's expiry passes); `--reveal` re-shows the codes, `--token` the minted tokens with last seen |
341
- | `aweshare hub status [--all]` | the hub's live state: producer slots, offerings counted per deduplicated alias (several protocols → one verdict, the worst), a per-alias table — the same columns as `consumer list` and `producer list`, worst status first — with live occupancy (`IN USE n/max`) and today's remaining daily tokens, and a last-5m requests/ok-rate/errors line from the usage summary (hub-admission 429s are not metered); identities appear as counts — `--all` prints the full producer/consumer rosters |
339
+ | `aweshare hub list producers [--json]` · `aweshare hub list consumers [--json]` | the rosters: name, status (active/suspended/built-in), online state (producers), last seen, created |
340
+ | `aweshare hub list offerings [--json]` | the catalog: offerings counted per deduplicated alias (several protocols → one verdict, the worst), one row per alias — the same columns as `consumer list` and `producer list`, worst status first — with observed model, caps, live occupancy (`IN USE n/max`) and today's remaining daily tokens |
341
+ | `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 |
342
342
  | `aweshare hub limits NAME [--rps N] [--burst N] [--max-concurrent N] [--tpm N] [--max-total-tokens N] [--clear] [--json]` | show, merge or clear one consumer's limit overrides (unset keys keep the hub-wide defaults) |
343
- | `aweshare hub list usage [--details] [--consumer NAME] [--producer NAME] [--alias ns/model] [--group-by consumer-alias\|consumer\|alias] [--since 7d\|all] [--limit N] [--json]` | who used how much (default): aggregate per consumer × model, a person's rows together, busiest first — requests, errors, rate, best-effort token totals, unknown-token count, mean duration; window defaults to 7d and is printed with the table · `--details`: per-request log, newest first, zero content stored, each row naming its consumer |
344
- | `aweshare hub offering block ALIAS` · `aweshare hub offering restore ALIAS` | the per-alias scalpel between doing nothing and revoking a whole producer: block one offering (every protocol row of the alias) — new requests get 503 `OFFERING_BLOCKED`, status shows `blocked`, the producer's other offerings keep serving. Manual blocks survive re-registers; auto blocks (model mismatch, see `autoBlockModelMismatch`) clear once the producer re-declares a different `upstreamModel` |
343
+ | `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 |
345
344
  | `aweshare hub produce refresh NAME [--add N] [--clear] [--json]` · `aweshare hub produce refresh --all [--json]` | reopen a hub-hosted model's daily token budget mid-day (`hub/` prefix optional): 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) |
346
345
 
347
- Token issuance runs through invites (both roles). `limits` and `list usage` are thin wrappers over the admin REST API (`/admin/v1/*`, see Endpoints and errors) — curl works too.
346
+ 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.
348
347
 
349
- `list invites`, `list usage` and `status` print aligned tables by default; append `--json` (where documented) for the raw API response.
348
+ Every `list` table and `status` print aligned columns by default; append `--json` (where documented) for the raw API rows.
350
349
 
351
350
  **Producer** — runs on the producer's machine (the one with the backends):
352
351
 
@@ -357,7 +356,7 @@ Token issuance runs through invites (both roles). `limits` and `list usage` are
357
356
  | `aweshare producer config path` · `config show` · `config edit` | locate / inspect (secrets redacted) / edit the config |
358
357
  | `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) |
359
358
  | `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 |
360
- | `aweshare producer list usage [--details] [--consumer NAME] [--alias ns/model] [--group-by consumer-alias\|consumer\|alias] [--since 7d\|all] [--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 a person's rows together, busiest first, window defaults to 7d · `--details`: per-request log, newest first, each row naming its consumer |
359
+ | `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 |
361
360
  | `aweshare producer status` | the live one-glance summary: local process, config counts, registered-offering health rollup and drift — the full table is `list offerings` |
362
361
  | `aweshare producer start [--background]` | connect and relay (long-running; `--background` detaches it — logs to `~/.aweshare/producer.log`, pid to `producer.pid`) |
363
362
  | `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 |
@@ -381,7 +380,7 @@ The hub reads `config.toml` from its data dir (`~/.aweshare-hub/config.toml`; Do
381
380
 
382
381
  **Hot reload:** every tunable in the table except host/port applies live on `SIGHUP` (`kill -HUP <pid>`; Docker: `docker kill -s HUP aweshare-hub`) — the new file is validated first, and a broken edit is logged while the previous values keep serving. Env vars are fixed at process start, so keys pinned by `AWESHARE_*` ignore the reloaded file (same precedence as startup); host/port need a restart. Producer-side offerings and caps reload via `aweshare producer reload`.
383
382
 
384
- **Hub-hosted models (`hub produce`):** `config.produce.toml` carries `[[backends]]` and `[[offerings]]` sections (producer format; alias namespace `hub/…` — bare names are auto-prefixed) with upstream keys in `secrets.json` next to it (chmod 600). `config.toml` remains exclusively for Hub runtime settings. Those offerings appear in the catalog under producer `hub` and are served by the hub process directly — no tunnel, and they never count against `AWESHARE_MAX_PRODUCERS`. Caps (`maxConcurrencyPerUser`, `maxConcurrentUsers`, `dailyTokens`), usage metering and consumer limits apply exactly as for remote producers. The built-in `hub` producer is not an identity (no token, no invite, cannot be revoked); it appears in the `hub status` producers roster — status `built-in` — only while it carries offerings. Catalog and key edits hot-reload like the tunables; a broken catalog keeps the previous one and is logged.
383
+ **Hub-hosted models (`hub produce`):** `config.produce.toml` carries `[[backends]]` and `[[offerings]]` sections (producer format; alias namespace `hub/…` — bare names are auto-prefixed) with upstream keys in `secrets.json` next to it (chmod 600). `config.toml` remains exclusively for Hub runtime settings. Those offerings appear in the catalog under producer `hub` and are served by the hub process directly — no tunnel, and they never count against `AWESHARE_MAX_PRODUCERS`. Caps (`maxConcurrencyPerUser`, `maxConcurrentUsers`, `dailyTokens`), usage metering and consumer limits apply exactly as for remote producers. The built-in `hub` producer is not an identity (no token, no invite, cannot be revoked); it appears in the `hub list producers` roster — status `built-in` — only while it carries offerings. An `enabled = true|false` key at the top of the file is the catalog's master switch: `false` unloads every `hub/…` model within the hot-reload window (the definitions stay; flip back to bring them all back) — the produce-side counterpart of revoking a remote producer's invite. A non-boolean value fails loudly instead of silently serving or unloading. Catalog and key edits hot-reload like the tunables; a broken catalog keeps the previous one and is logged.
385
384
 
386
385
  | Env var | Default | Purpose |
387
386
  |---|---|---|
@@ -393,13 +392,14 @@ The hub reads `config.toml` from its data dir (`~/.aweshare-hub/config.toml`; Do
393
392
  | `AWESHARE_INVITE_REDEEM_PER_MIN` | 10 | redeem entry global insurance budget (valid-format attempts shared by every origin) |
394
393
  | `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 |
395
394
  | `AWESHARE_MAX_PRODUCERS` | 10 | max active producers — token issuance (admin API), invite redeem and restore refuse with `403 HUB_FULL` when full |
396
- | `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 status` / `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 `offering block` takes precedence and always persists; reloads via SIGHUP |
395
+ | `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 |
396
+ | `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 |
397
397
  | `AWESHARE_NO_UPDATE_CHECK` | unset | set to `1` to disable the passive update reminder |
398
398
  | `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 |
399
399
 
400
400
  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. A new connection with the same producer token replaces the old one (latest-wins).
401
401
 
402
- 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`. 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 offering block ALIAS` or whole-producer `hub 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.
402
+ 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`. 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.
403
403
 
404
404
  Updating a npm install: `aweshare self-update` (asks before installing; `--check` only shows versions). The CLI also reminds you at most once a day when a newer npm release exists.
405
405
 
@@ -450,3 +450,26 @@ If aweshare saves you a subscription or a GPU box, consider supporting it:
450
450
 
451
451
  Licensed under the aweshare Proprietary License — free to use and self-host,
452
452
  no redistribution. See [LICENSE](./LICENSE).
453
+
454
+ ## Awesome Ecosystem
455
+
456
+ aweshare is part of a growing family of "awesome" tools — CLI-first, local-first, and operable by AI agents.
457
+
458
+ ### CLI Tools
459
+
460
+ - **[aweskill](https://aweskill.webioinfo.top/)** — CLI-first skill package manager supporting 47+ AI coding agents.
461
+ - **[aweswitch](https://github.com/Webioinfo01/aweswitch)** — Agent profile switcher for Claude Code, Codex, and OpenCode.
462
+ - **[awerouter](https://github.com/mugpeng/awerouter)** — Smart router that splits requests between Flash and Pro models using structural signals, cutting unnecessary model spend.
463
+ - **[aweshelf](https://github.com/Webioinfo01/aweshelf)** — Bookmark, categorize, and restore AI coding sessions; pairs with aweswitch to save profiles and launch with one command.
464
+ - **[aweshare](https://github.com/wehuman01/aweshare)** — Share local Ollama/vLLM backends, domestic coding plans, or authorized OpenAI/Anthropic subscriptions through a self-hosted hub — a sharing economy for tokens.
465
+ - **[awewarm](https://github.com/wehuman01/awewarm)** — Subscription window warmer that keeps AI coding-plan windows active, for local setups and through a remote hub server.
466
+ - **[awescholar](https://github.com/Webioinfo01/awescholar)** — AI-agent-operable scientific literature discovery and curation.
467
+
468
+ ### Desktop Apps
469
+
470
+ - **[awedot](https://awedot.wehuman.top/)** — A floating orb at your screen edge keeps track of the current AI session: bookmark it in one click, resume anytime, and pair with aweswitch to pin the agent's config (e.g., relaunch with the GLM model).
471
+
472
+ ### Project Collections
473
+
474
+ - **[Awesome AI Meets Biology](https://github.com/Webioinfo01/Awesome-AI-Meets-Biology)** — A curated survey of AI applications in biology, bioinformatics, and biomedical research. Powered by awescholar.
475
+ - **[Awesome AI Virtual Tumor](https://github.com/Webioinfo01/Awesome-AI-Virtual-Tumor)** — A curated collection of state-of-the-art AI systems for virtual tumor modeling and simulation: static models, dynamic models, agents, benchmarks, and reviews.
@@ -88,17 +88,17 @@ Options:
88
88
  remaining tokens — plus the local background instance state and
89
89
  any drift against config.toml.
90
90
  usage Who used this producer's models: aggregated on the hub, one row
91
- per consumer × model (default) a person's rows stay together,
92
- busiest person and busiest model first. The producer token
93
- scopes everything to this producer's slice. --details switches
94
- to the request log instead: newest first, one row per request,
95
- zero content stored, each row naming the consumer that made it.
91
+ per consumer × model (default), most recently used first. The
92
+ producer token scopes everything to this producer's slice.
93
+ --details switches to the request log instead: newest first,
94
+ one row per request, zero content stored, each row naming the
95
+ consumer that made it.
96
96
 
97
97
  Options (offerings only):
98
98
  --json Print the raw API response instead of a table.
99
99
  --all Show every producer's registrations on the hub (the discovery view
100
- consumers get from the catalog), not just this producer's. Skips
101
- the local instance line and drift check. Older hubs ignore the
100
+ consumers get from the catalog), not just this producer's. Skips the
101
+ local instance line and drift check. Older hubs ignore the
102
102
  flag and answer with your slice only.
103
103
 
104
104
  Options (usage only):
@@ -107,6 +107,10 @@ Options:
107
107
  --alias ALIAS Only rows for this alias (one of your offerings).
108
108
  --group-by KEY consumer × model (default), consumer or alias.
109
109
  --since DUR Window: 30m, 12h, 7d (default), 30d… or all.
110
+ --sort KEY Summary only: time (default, newest first), consumer or
111
+ model (alphabetical, newest first within), or tokens /
112
+ requests (busiest first; tokens keeps a person's rows
113
+ together).
110
114
  --limit N --details only: rows to show, 1..1000 (default 100).
111
115
  --json Print the raw API response instead of a table.
112
116
  -h, --help Show this message and exit.`,
@@ -179,13 +183,24 @@ const COMMAND_FLAGS = {
179
183
  init: ['hub', 'token'],
180
184
  join: ['hub', 'code', 'name', 'email', 'allow-http'],
181
185
  doctor: ['status'],
182
- list: ['json', 'all', 'details', 'consumer', 'alias', 'limit', 'group-by', 'since'],
186
+ list: ['json', 'all', 'details', 'consumer', 'alias', 'limit', 'group-by', 'since', 'sort'],
183
187
  status: [],
184
188
  start: ['background'],
185
189
  reload: [],
186
190
  refresh: ['add', 'clear', 'all', 'json'],
187
191
  stop: [],
188
192
  };
193
+ /** Sort keys `list usage --sort` accepts, mirroring the hub's sort param. */
194
+ const USAGE_SORTS = ['time', 'consumer', 'producer', 'model', 'tokens', 'requests'];
195
+ /** What the summary header says for each sort key. */
196
+ const SORT_LABELS = {
197
+ time: 'recent first',
198
+ consumer: 'consumer',
199
+ producer: 'producer',
200
+ model: 'model',
201
+ tokens: 'tokens, busiest first',
202
+ requests: 'requests, busiest first',
203
+ };
189
204
  function checkFlags(cmd, flags) {
190
205
  const allowed = COMMAND_FLAGS[cmd];
191
206
  if (!allowed)
@@ -441,10 +456,24 @@ async function runUsage(dir, flags) {
441
456
  const since = flags.get('since') ?? '7d';
442
457
  if (since !== 'all' && !/^\d+[smhd]$/.test(since))
443
458
  fail(`--since must look like 30m, 12h, 7d or all, got '${since}'`);
459
+ const sort = flags.get('sort') ?? 'time';
460
+ if (!USAGE_SORTS.includes(sort))
461
+ fail(`--sort must be time (default), consumer, producer, model, tokens or requests, got '${sort}'`);
462
+ const sortKey = sort;
463
+ // every row here is this producer's own — sorting by producer is a no-op,
464
+ // and a sort key needs its column: the alias view has no consumer, the
465
+ // consumer view no model
466
+ if (sort === 'producer')
467
+ fail('--sort producer is a no-op here — every row is already your own');
468
+ if (group === 'alias' && sort === 'consumer')
469
+ fail('--sort consumer has no consumer column in the alias view — use --group-by consumer-alias (default) or consumer');
470
+ if (group === 'consumer' && sort === 'model')
471
+ fail('--sort model has no model column in the consumer view — use --group-by consumer-alias (default) or alias');
444
472
  const usageGroup = group;
445
473
  const rows = await fetchUsageSummary(config.hubUrl, config.token, {
446
474
  group: usageGroup,
447
475
  since,
476
+ sort: sortKey,
448
477
  consumer,
449
478
  alias,
450
479
  });
@@ -456,7 +485,7 @@ async function runUsage(dir, flags) {
456
485
  ? 'all time'
457
486
  : `since ${fmtDate(new Date(Date.now() - sinceMs(since)))} (${since})`;
458
487
  const grouping = group === 'alias' ? 'alias' : group === 'consumer' ? 'consumer' : 'consumer × model';
459
- console.log(`usage ${window} — group: ${grouping}`);
488
+ console.log(`usage ${window} — group: ${grouping}, sort: ${SORT_LABELS[sortKey]}`);
460
489
  console.log(renderUsageSummary(rows, usageGroup));
461
490
  return;
462
491
  }
@@ -467,6 +496,9 @@ async function runUsage(dir, flags) {
467
496
  if (!Number.isInteger(limit) || limit < 1 || limit > 1000)
468
497
  fail(`--limit must be an integer between 1 and 1000, got '${raw}'`);
469
498
  }
499
+ // the details log is a timeline — newest first, nothing to re-sort
500
+ if (flags.get('sort') !== undefined)
501
+ fail('--sort applies to the summary, not --details (the log is newest first)');
470
502
  const rows = await fetchUsage(config.hubUrl, config.token, { consumer, alias, limit });
471
503
  if (flags.get('json') === 'true') {
472
504
  console.log(JSON.stringify(rows, null, 2));
@@ -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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"}
@@ -129,16 +129,22 @@ export interface UsageSummaryRow {
129
129
  errors: number;
130
130
  prompt_tokens: number;
131
131
  completion_tokens: number;
132
+ tokens: number;
132
133
  unknown_tokens: number;
133
134
  avg_duration_ms: number;
134
135
  last_at: string;
136
+ last_id: number;
135
137
  }
136
138
  /** Summary groupings, matching the hub's group query parameter. */
137
139
  export type UsageGroup = 'consumer-alias' | 'consumer' | 'alias';
140
+ /** Summary row orders, matching the hub's sort query parameter. */
141
+ export type UsageSort = 'time' | 'consumer' | 'producer' | 'model' | 'tokens' | 'requests';
138
142
  export interface UsageSummaryQuery {
139
143
  group: UsageGroup;
140
144
  /** Window like 30m, 12h, 7d — or 'all' for lifetime. */
141
145
  since: string;
146
+ /** Row order — most recently used first by default. */
147
+ sort: UsageSort;
142
148
  consumer?: string;
143
149
  alias?: string;
144
150
  }
@@ -204,7 +204,7 @@ export async function fetchUsage(hubUrl, token, query = {}) {
204
204
  }
205
205
  /** "Who used how much" over a window, aggregated on the hub's SQLite. */
206
206
  export async function fetchUsageSummary(hubUrl, token, query) {
207
- const params = new URLSearchParams({ group: query.group, since: query.since });
207
+ const params = new URLSearchParams({ group: query.group, since: query.since, sort: query.sort });
208
208
  if (query.consumer)
209
209
  params.set('consumer', query.consumer);
210
210
  if (query.alias)
@@ -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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"}