aweshare 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ai.md +6 -0
- package/README.md +7 -4
- package/apps/agent/dist/connection.js +6 -1
- package/apps/agent/dist/connection.js.map +1 -1
- package/apps/agent/dist/table.d.ts +9 -0
- package/apps/agent/dist/table.js +21 -0
- package/apps/agent/dist/table.js.map +1 -1
- package/apps/consumer/dist/cli.js +87 -10
- package/apps/consumer/dist/cli.js.map +1 -1
- package/apps/consumer/dist/hub.d.ts +4 -2
- package/apps/consumer/dist/hub.js +5 -3
- package/apps/consumer/dist/hub.js.map +1 -1
- package/apps/consumer/dist/ping.d.ts +24 -0
- package/apps/consumer/dist/ping.js +164 -0
- package/apps/consumer/dist/ping.js.map +1 -0
- package/apps/consumer/dist/table.d.ts +38 -4
- package/apps/consumer/dist/table.js +86 -32
- package/apps/consumer/dist/table.js.map +1 -1
- package/apps/hub/dist/cli.js +2 -0
- package/apps/hub/dist/cli.js.map +1 -1
- package/apps/hub/dist/config.d.ts +4 -1
- package/apps/hub/dist/config.js +31 -0
- package/apps/hub/dist/config.js.map +1 -1
- package/apps/hub/dist/consumer.d.ts +5 -1
- package/apps/hub/dist/consumer.js +26 -1
- package/apps/hub/dist/consumer.js.map +1 -1
- package/apps/hub/dist/db.d.ts +7 -0
- package/apps/hub/dist/db.js +22 -5
- package/apps/hub/dist/db.js.map +1 -1
- package/apps/hub/dist/limits.d.ts +6 -0
- package/apps/hub/dist/limits.js +13 -4
- package/apps/hub/dist/limits.js.map +1 -1
- package/apps/hub/dist/local.d.ts +3 -0
- package/apps/hub/dist/local.js +5 -0
- package/apps/hub/dist/local.js.map +1 -1
- package/apps/hub/dist/table.d.ts +8 -0
- package/apps/hub/dist/table.js +20 -0
- package/apps/hub/dist/table.js.map +1 -1
- package/apps/hub/dist/tunnel.d.ts +4 -0
- package/apps/hub/dist/tunnel.js +6 -0
- package/apps/hub/dist/tunnel.js.map +1 -1
- package/package.json +1 -1
- package/packages/producer-core/dist/health.d.ts +10 -0
- package/packages/producer-core/dist/health.js +25 -0
- package/packages/producer-core/dist/health.js.map +1 -1
- package/packages/producer-core/dist/probe.d.ts +9 -0
- package/packages/producer-core/dist/probe.js +40 -0
- package/packages/producer-core/dist/probe.js.map +1 -1
- package/packages/protocol/dist/messages.d.ts +4 -0
- package/packages/protocol/dist/messages.js.map +1 -1
package/README.ai.md
CHANGED
|
@@ -207,6 +207,11 @@ After config edits on a running producer, `aweshare producer reload` applies the
|
|
|
207
207
|
aweshare consumer list --hub https://hub.example.com --token asc_...
|
|
208
208
|
```
|
|
209
209
|
Every producer, alias, protocol, status, caps, live occupancy and remaining daily tokens.
|
|
210
|
+
4. Verify offerings end-to-end (real model calls, consume quota — scope with `--alias`; the hub budgets probe-shaped requests at 15/day per consumer):
|
|
211
|
+
```bash
|
|
212
|
+
aweshare consumer list --hub https://hub.example.com --token asc_... --ping
|
|
213
|
+
```
|
|
214
|
+
The table gains LAST SEEN (the hub's own freshness evidence) plus the consumer's RESULT/TIME/DETAIL per row.
|
|
210
215
|
4. A first smoke-test request (`curl ... /v1/chat/completions` with `"ping"`) is a real model call — only run it when the user asks.
|
|
211
216
|
|
|
212
217
|
Remind the consumer: prompts and responses transit the hub in plaintext — only use a hub they trust. If Claude Code ignores env config, a stale OAuth login is overriding it — switch with `/login`.
|
|
@@ -272,6 +277,7 @@ aweshare producer list [--json] # this producer's offerings + drift
|
|
|
272
277
|
aweshare producer list usage [...] # who used this producer's models
|
|
273
278
|
aweshare producer status # one-glance summary: process, config counts, health rollup
|
|
274
279
|
aweshare consumer list --hub URL --token asc_... # hub catalog view
|
|
280
|
+
aweshare consumer list --hub URL --token asc_... [--ping] [--alias a,b] # discovery; --ping adds real-call proof
|
|
275
281
|
aweshare hub status # capacity + 5m health + admission pressure
|
|
276
282
|
aweshare hub list invites [--reveal|--token] # invite ledger / codes / minted tokens
|
|
277
283
|
aweshare hub limits NAME # bare call views current overrides
|
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.6.
|
|
17
|
+
<a href="https://github.com/wehuman01/aweshare-source/releases"><img src="https://img.shields.io/badge/version-0.6.3-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>
|
|
@@ -208,7 +208,7 @@ claude --model peng/sonnet
|
|
|
208
208
|
|
|
209
209
|
If Claude Code has a stale OAuth login it overrides env config — switch with `/login` or clean stored credentials.
|
|
210
210
|
|
|
211
|
-
**Codex** (
|
|
211
|
+
**Codex** (must point at a `responses`-protocol offering — `wire_api = "chat"` was removed in 2026-02 and no longer works)
|
|
212
212
|
|
|
213
213
|
```toml
|
|
214
214
|
[model_providers.aweshare]
|
|
@@ -302,6 +302,7 @@ curl -X PUT https://hub.example.com/admin/v1/consumers/alice/limits \
|
|
|
302
302
|
| `rps` / `burst` / `maxConcurrent` | override the hub-wide rate/inflight defaults for this consumer | 429 `RATE_LIMITED` |
|
|
303
303
|
| `tpm` | max tokens (prompt + completion) in any sliding 60s window | 429 `RATE_LIMITED` (in-memory window, like the RPS bucket) |
|
|
304
304
|
| `maxTotalTokens` | lifetime token budget for this consumer | 429 `QUOTA_EXCEEDED` (sums `usage_events`) |
|
|
305
|
+
| `probeBudget` | probe-shaped requests (single-turn `'ping'`, minimal token cap — `consumer list --ping`, smoke-test curls) per day, shared across aliases; 0 = unlimited | 429 `PROBE_BUDGET_EXCEEDED` (counts `usage_events` since Beijing midnight) |
|
|
305
306
|
|
|
306
307
|
Honest limits: token-based caps count what upstreams report — Ollama streams report no usage, so they contribute 0. Both TPM and the lifetime budget are observed-usage thresholds, not hard reservations: one request can cross the threshold, and concurrent requests that start before earlier usage is recorded can overshoot it further. Once recorded usage has reached the threshold, new requests are rejected.
|
|
307
308
|
|
|
@@ -339,7 +340,7 @@ Both sides at a glance — details in the sections above.
|
|
|
339
340
|
| `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
341
|
| `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
342
|
| `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
|
-
| `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 limits NAME [--rps N] [--burst N] [--max-concurrent N] [--tpm N] [--max-total-tokens N] [--probe-budget N] [--clear] [--json]` | show, merge or clear one consumer's limit overrides (unset keys keep the hub-wide defaults) |
|
|
343
344
|
| `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 |
|
|
344
345
|
| `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) |
|
|
345
346
|
|
|
@@ -369,6 +370,7 @@ Every `list` table and `status` print aligned columns by default; append `--json
|
|
|
369
370
|
|---|---|
|
|
370
371
|
| `aweshare consumer join --hub URL --code asi_… [--allow-http]` | redeem a consumer invite into an `asc_` token — printed once with ready-to-paste SDK env vars (save it; the operator can re-view it with `hub list invites --token`) |
|
|
371
372
|
| `aweshare consumer list --hub URL --token asc_… [--all] [--json]` | discovery view of the hub: online offerings by default (degraded stay listed; `--all` includes offline) — every producer, alias, protocol, status, the per-offering caps, live occupancy (`IN USE n/max` — distinct consumers with a request in flight right now; an alias at `max/max` admits no new consumer until one settles) and remaining daily tokens |
|
|
373
|
+
| `aweshare consumer list --hub URL --token asc_… [--all] [--json] [--ping] [--alias a,b]` | discovery view of the hub: every producer, alias, protocol, status, the per-offering caps, live occupancy, remaining daily tokens and LAST SEEN — the hub's freshness evidence (how long ago real traffic or a recovery probe last proved an offering served; `-` = never). `--ping` adds the consumer's own proof: one minimal real model request per offering row (SDK-shaped, `max_tokens:1`) through the same `/v1` endpoints, reporting RESULT, round-trip TIME and the served model — a FAIL passes the hub/upstream error through verbatim. Real calls consume the producer's quota, so scope with `--alias`; the hub budgets probe-shaped requests (15/day per consumer by default, `consumerProbeBudget`); exit 1 on any pinged failure (plain list always exits 0) |
|
|
372
374
|
|
|
373
375
|
CLI maintenance: `aweshare self-update [--check]` updates the npm-installed CLI (`--check` only compares versions).
|
|
374
376
|
|
|
@@ -387,6 +389,7 @@ The hub reads `config.toml` from its data dir (`~/.aweshare-hub/config.toml`; Do
|
|
|
387
389
|
| `AWESHARE_HUB_DATA_DIR` | `~/.aweshare-hub` | data dir (SQLite/pepper/admin token/config.toml; volume-mount = backup) |
|
|
388
390
|
| `AWESHARE_HUB_PORT` / `HOST` | 8787 / 0.0.0.0 | listen address |
|
|
389
391
|
| `AWESHARE_CONSUMER_RPS` / `BURST` / `CONCURRENCY` | 10 / 20 / 8 | per-consumer limits |
|
|
392
|
+
| `AWESHARE_CONSUMER_PROBE_BUDGET` | 15 | probe-shaped requests (`'ping'` diagnostics) per consumer per day; 0 = unlimited |
|
|
390
393
|
| `AWESHARE_HEAD_TIMEOUT_MS` / `IDLE_TIMEOUT_MS` | 120000 / 120000 | response-head timeout / stream idle timeout |
|
|
391
394
|
| `AWESHARE_MAX_BODY_BYTES` | 32MB | request body cap |
|
|
392
395
|
| `AWESHARE_INVITE_REDEEM_PER_MIN` | 10 | redeem entry global insurance budget (valid-format attempts shared by every origin) |
|
|
@@ -399,7 +402,7 @@ The hub reads `config.toml` from its data dir (`~/.aweshare-hub/config.toml`; Do
|
|
|
399
402
|
|
|
400
403
|
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
404
|
|
|
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.
|
|
405
|
+
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.
|
|
403
406
|
|
|
404
407
|
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
408
|
|
|
@@ -327,7 +327,12 @@ export class AgentConnection {
|
|
|
327
327
|
const ws = this.ws;
|
|
328
328
|
if (!ws || ws.readyState !== WebSocket.OPEN)
|
|
329
329
|
return;
|
|
330
|
-
|
|
330
|
+
// every backend, not just the degraded ones: 'ok' entries carry lastOkAt,
|
|
331
|
+
// the freshness evidence the hub surfaces to consumers as LAST SEEN
|
|
332
|
+
ws.send(JSON.stringify({
|
|
333
|
+
type: 'heartbeat',
|
|
334
|
+
backendStatus: this.health.snapshot(this.backends.keys()),
|
|
335
|
+
}));
|
|
331
336
|
}
|
|
332
337
|
/** Ping/pong liveness: the hub auto-pongs our pings, so an OPEN socket whose
|
|
333
338
|
* pong has been silent past pongTimeoutMs is a dead path (sleep-wake, NAT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,10 @@ export interface OfferingRow {
|
|
|
16
16
|
observedModel?: string | null;
|
|
17
17
|
modelVerified?: boolean | null;
|
|
18
18
|
modelMatch?: ModelComparison | null;
|
|
19
|
+
/** ISO instant of the hub's freshest evidence this offering served (last
|
|
20
|
+
* self-naming response or the heartbeat-reported last success); undefined
|
|
21
|
+
* on hubs that predate it, null when nothing ever succeeded. */
|
|
22
|
+
hubCheckAt?: string | null;
|
|
19
23
|
maxConcurrencyPerUser: number;
|
|
20
24
|
maxConcurrentUsers: number;
|
|
21
25
|
/** Distinct consumers with a request in flight right now (snapshot at list
|
|
@@ -25,6 +29,11 @@ export interface OfferingRow {
|
|
|
25
29
|
dailyTokens: number;
|
|
26
30
|
usedDailyTokens: number;
|
|
27
31
|
}
|
|
32
|
+
/** The LAST SEEN cell — kept verbatim in apps/hub/src/table.ts and
|
|
33
|
+
* apps/consumer/src/table.ts: how long ago the hub's freshest evidence says
|
|
34
|
+
* this offering actually served ('-' when it never did or the hub can't
|
|
35
|
+
* tell). */
|
|
36
|
+
export declare function lastSeenCell(hubCheckAt: string | null | undefined, now?: number): string;
|
|
28
37
|
/** The OBSERVED MODEL cell — kept verbatim in apps/hub/src/table.ts and
|
|
29
38
|
* apps/consumer/src/table.ts with the shared headers: the observed id,
|
|
30
39
|
* '✗'-marked when it disagrees with the declaration, '-' when nothing was
|
package/apps/agent/dist/table.js
CHANGED
|
@@ -11,6 +11,25 @@ export function formatTable(headers, rows) {
|
|
|
11
11
|
.trimEnd();
|
|
12
12
|
return [line(headers), ...rows.map(line)].join('\n');
|
|
13
13
|
}
|
|
14
|
+
/** The LAST SEEN cell — kept verbatim in apps/hub/src/table.ts and
|
|
15
|
+
* apps/consumer/src/table.ts: how long ago the hub's freshest evidence says
|
|
16
|
+
* this offering actually served ('-' when it never did or the hub can't
|
|
17
|
+
* tell). */
|
|
18
|
+
export function lastSeenCell(hubCheckAt, now = Date.now()) {
|
|
19
|
+
if (hubCheckAt === undefined || hubCheckAt === null)
|
|
20
|
+
return '-';
|
|
21
|
+
const ms = Date.parse(hubCheckAt);
|
|
22
|
+
if (!Number.isFinite(ms))
|
|
23
|
+
return '-';
|
|
24
|
+
const age = Math.max(0, now - ms);
|
|
25
|
+
if (age < 60_000)
|
|
26
|
+
return 'just now';
|
|
27
|
+
if (age < 3_600_000)
|
|
28
|
+
return `${Math.floor(age / 60_000)}m ago`;
|
|
29
|
+
if (age < 86_400_000)
|
|
30
|
+
return `${Math.floor(age / 3_600_000)}h ago`;
|
|
31
|
+
return `${Math.floor(age / 86_400_000)}d ago`;
|
|
32
|
+
}
|
|
14
33
|
/** The OBSERVED MODEL cell — kept verbatim in apps/hub/src/table.ts and
|
|
15
34
|
* apps/consumer/src/table.ts with the shared headers: the observed id,
|
|
16
35
|
* '✗'-marked when it disagrees with the declaration, '-' when nothing was
|
|
@@ -57,6 +76,7 @@ export function renderOfferings(rows, opts = {}) {
|
|
|
57
76
|
return formatTable([
|
|
58
77
|
...(opts.producer ? ['PRODUCER'] : []),
|
|
59
78
|
'ALIAS',
|
|
79
|
+
'LAST SEEN',
|
|
60
80
|
'OBSERVED MODEL',
|
|
61
81
|
'PROTOCOL',
|
|
62
82
|
'STATUS',
|
|
@@ -71,6 +91,7 @@ export function renderOfferings(rows, opts = {}) {
|
|
|
71
91
|
return [
|
|
72
92
|
...(opts.producer ? [join((r) => r.producer ?? '-')] : []),
|
|
73
93
|
first?.alias ?? '',
|
|
94
|
+
join((r) => lastSeenCell(r.hubCheckAt)),
|
|
74
95
|
join((r) => observedCell(r.observedModel, r.modelVerified, r.modelMatch)),
|
|
75
96
|
join((r) => protocolLabel(r.protocol), ', '),
|
|
76
97
|
join((r) => r.status),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EAAE,aAAa,EAAE,OAAO,EAAwB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAE/F,kFAAkF;AAClF,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,mDAAmD;AACnD,MAAM,UAAU,WAAW,CAAC,OAAiB,EAAE,IAAgB;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/F,MAAM,IAAI,GAAG,CAAC,KAAe,EAAU,EAAE,CACvC,KAAK;SACF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACvC,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CAAA;IACd,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtD,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// Command set: join, list. Consumers keep no local files — the token lives in
|
|
3
|
-
// their SDK environment; list is
|
|
3
|
+
// their SDK environment; list is the discovery view (free) whose --ping flag
|
|
4
|
+
// adds a real end-to-end check per offering (consumes quota, budgeted by the
|
|
5
|
+
// hub).
|
|
4
6
|
import { readFileSync } from 'node:fs';
|
|
5
7
|
import { INVITE_PATTERN } from '../../../packages/protocol/dist/index.js';
|
|
6
8
|
import { assertWireCompatible, errorMessage, fetchCatalog, hostIsLocal, plainHttpHost, probeHub, redeemInvite, } from './hub.js';
|
|
7
|
-
import {
|
|
9
|
+
import { runPings } from './ping.js';
|
|
10
|
+
import { catalogCells, catalogHeaders, filterCatalog, pingKey, renderCatalog, } from './table.js';
|
|
8
11
|
const VERSION = JSON.parse(readFileSync(new URL('../../../package.json', import.meta.url), 'utf8')).version;
|
|
9
12
|
// One-liners only; flags per command live in their own -h, everything else in README.
|
|
10
13
|
const USAGE = `Usage: aweshare consumer [OPTIONS] COMMAND [ARGS]...
|
|
@@ -36,21 +39,40 @@ Options:
|
|
|
36
39
|
List the hub's online offerings — producer, alias, protocol, status,
|
|
37
40
|
per-offering caps and live occupancy (IN USE n/max: distinct consumers
|
|
38
41
|
with a request in flight right now — an alias at max/max is busy, pick
|
|
39
|
-
another) — before your first call.
|
|
40
|
-
|
|
42
|
+
another) — before your first call. LAST SEEN is the hub's own freshness
|
|
43
|
+
evidence: how long ago real traffic or a recovery probe last proved the
|
|
44
|
+
offering served ('-' = never). Offline producers are hidden by default;
|
|
45
|
+
degraded ones stay listed (reachable, upstream briefly failing).
|
|
46
|
+
|
|
47
|
+
--ping adds the consumer's own proof: one minimal real model request per
|
|
48
|
+
offering through the same endpoints an SDK would hit, reporting RESULT,
|
|
49
|
+
round-trip TIME and what the upstream served (or the verbatim error).
|
|
50
|
+
A green row proves the whole chain (consumer auth, hub dispatch, tunnel,
|
|
51
|
+
producer, upstream); a FAIL names the failing link. Real calls consume
|
|
52
|
+
the producer's quota — scope them with --alias. The hub budgets probe-
|
|
53
|
+
shaped requests (15/day per consumer by default), so a budgeted-out run
|
|
54
|
+
answers 429 PROBE_BUDGET_EXCEEDED. Offline offerings are skipped (SKIP);
|
|
55
|
+
requests run sequentially (the hub rate-limits each consumer). Exit code
|
|
56
|
+
is 1 when any pinged offering fails; without --ping this command always
|
|
57
|
+
exits 0.
|
|
41
58
|
|
|
42
59
|
Options:
|
|
43
60
|
--hub URL The hub to query (required, http(s) URL).
|
|
44
61
|
--token TOKEN Your consumer token (asc_..., required).
|
|
45
62
|
--all Also list offline offerings (hidden by default).
|
|
46
63
|
--json Print the filtered API rows instead of a table.
|
|
64
|
+
--ping Send one real minimal request per offering (consumes quota).
|
|
65
|
+
--alias ALIAS Comma-separated aliases to scope the view and the pings:
|
|
66
|
+
each is either the full 'producer/name' or a bare 'name'
|
|
67
|
+
matching that suffix under every producer.
|
|
68
|
+
--allow-http Proceed with a plain-HTTP hub outside your LAN.
|
|
47
69
|
-h, --help Show this message and exit.`,
|
|
48
70
|
};
|
|
49
71
|
// Flags each command accepts (beyond -h/--help); anything else is a typo
|
|
50
72
|
// and must fail loudly.
|
|
51
73
|
const COMMAND_FLAGS = {
|
|
52
74
|
join: ['hub', 'code', 'allow-http'],
|
|
53
|
-
list: ['hub', 'token', 'all', 'json'],
|
|
75
|
+
list: ['hub', 'token', 'all', 'json', 'ping', 'alias', 'allow-http'],
|
|
54
76
|
};
|
|
55
77
|
function checkFlags(cmd, flags) {
|
|
56
78
|
const allowed = COMMAND_FLAGS[cmd];
|
|
@@ -137,14 +159,69 @@ async function runList(flags) {
|
|
|
137
159
|
fail('--token must be a consumer token (asc_...)');
|
|
138
160
|
guardPlainHttp(hub, flags);
|
|
139
161
|
const catalog = (await fetchCatalog(hub, token));
|
|
140
|
-
const
|
|
162
|
+
const wantPing = flags.get('ping') === 'true';
|
|
163
|
+
let rows = filterCatalog(catalog, flags.get('all') === 'true');
|
|
164
|
+
// --alias scopes both the view and the pings: full alias (producer/name)
|
|
165
|
+
// or a bare name suffix matching under every producer
|
|
166
|
+
const aliases = (flags.get('alias') ?? '')
|
|
167
|
+
.split(',')
|
|
168
|
+
.map((a) => a.trim())
|
|
169
|
+
.filter(Boolean);
|
|
170
|
+
if (aliases.length > 0) {
|
|
171
|
+
rows = rows.filter((r) => aliases.includes(r.alias) || aliases.some((a) => r.alias.endsWith(`/${a}`)));
|
|
172
|
+
}
|
|
173
|
+
// pings target only what can answer; --all rows beyond that show SKIP
|
|
174
|
+
const pingable = rows.filter((r) => r.status !== 'offline' && r.status !== 'blocked');
|
|
141
175
|
if (flags.get('json') === 'true') {
|
|
142
|
-
|
|
176
|
+
if (!wantPing) {
|
|
177
|
+
console.log(JSON.stringify(rows, null, 2));
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// attach each row's own result so scripts see claim and proof together
|
|
181
|
+
const report = await runPings(hub, token, pingable);
|
|
182
|
+
const byKey = new Map(report.results.map((r) => [pingKey(r), r]));
|
|
183
|
+
console.log(JSON.stringify(rows.map((r) => ({ ...r, ping: byKey.get(pingKey(r)) ?? null })), null, 2));
|
|
184
|
+
process.exitCode = report.ok ? 0 : 1;
|
|
143
185
|
return;
|
|
144
186
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
187
|
+
if (!wantPing) {
|
|
188
|
+
console.log(rows.length === 0 && catalog.length > 0
|
|
189
|
+
? 'all offerings offline — pass --all to list them'
|
|
190
|
+
: renderCatalog(rows));
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (pingable.length === 0) {
|
|
194
|
+
fail(catalog.length > 0
|
|
195
|
+
? 'nothing to ping — every row is offline or blocked (the plain list view is free)'
|
|
196
|
+
: 'no offerings on this hub yet');
|
|
197
|
+
}
|
|
198
|
+
const skipped = rows.length - pingable.length;
|
|
199
|
+
console.log(`pinging ${pingable.length} offering row(s) with one real request each${skipped > 0 ? ` (${skipped} skipped: offline or blocked)` : ''}`);
|
|
200
|
+
const headers = catalogHeaders(true);
|
|
201
|
+
const widths = headers.map((h, i) => Math.max(h.length, ...rows.map((r) => (catalogCells([r])[i] ?? '').length)));
|
|
202
|
+
const floor = (name, min) => {
|
|
203
|
+
const i = headers.indexOf(name);
|
|
204
|
+
if (i >= 0)
|
|
205
|
+
widths[i] = Math.max(widths[i] ?? 0, min);
|
|
206
|
+
};
|
|
207
|
+
floor('RESULT', 'FAIL (network)'.length);
|
|
208
|
+
floor('TIME', '60000ms'.length);
|
|
209
|
+
floor('DETAIL', 44);
|
|
210
|
+
const line = (cells) => cells
|
|
211
|
+
.map((c, i) => c.padEnd(widths[i] ?? 0))
|
|
212
|
+
.join(' ')
|
|
213
|
+
.trimEnd();
|
|
214
|
+
console.log(line(headers));
|
|
215
|
+
// rows that cannot answer cost no request: their SKIP lines print up
|
|
216
|
+
// front, the proof rows stream in below as each ping lands
|
|
217
|
+
for (const row of rows.filter((r) => r.status === 'offline' || r.status === 'blocked'))
|
|
218
|
+
console.log(line(catalogCells([row], [null])));
|
|
219
|
+
const report = await runPings(hub, token, pingable, fetch, (r, row) => console.log(line(catalogCells([row], [r]))));
|
|
220
|
+
const fails = report.results.filter((r) => !r.ok).length;
|
|
221
|
+
console.log(report.ok
|
|
222
|
+
? `\n${report.results.length}/${report.results.length} ok`
|
|
223
|
+
: `\n${fails} of ${report.results.length} failed — a FAIL names the link that broke`);
|
|
224
|
+
process.exitCode = report.ok ? 0 : 1;
|
|
148
225
|
}
|
|
149
226
|
async function main() {
|
|
150
227
|
const [cmd, ...rest] = process.argv.slice(2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,10 @@ export interface HubInfo {
|
|
|
9
9
|
version?: string;
|
|
10
10
|
wire?: number;
|
|
11
11
|
}
|
|
12
|
-
/** Node fetch reports "fetch failed" without the reason; surface the cause.
|
|
13
|
-
|
|
12
|
+
/** Node fetch reports "fetch failed" without the reason; surface the cause.
|
|
13
|
+
* `timeoutMs` names the caller's own deadline so a timeout reports the wait
|
|
14
|
+
* that actually happened (control calls 10s, model pings 60s). */
|
|
15
|
+
export declare function errorMessage(err: unknown, timeoutMs?: number): string;
|
|
14
16
|
/** Probe GET /healthz: reachable, a real aweshare hub, and which version/wire
|
|
15
17
|
* it speaks. Throws HubError with the precise failure otherwise. */
|
|
16
18
|
export declare function probeHub(hubUrl: string): Promise<HubInfo>;
|
|
@@ -13,11 +13,13 @@ const TIMEOUT_MS = 10_000;
|
|
|
13
13
|
/** One failed hub round-trip; the message is user-ready (never the token). */
|
|
14
14
|
export class HubError extends Error {
|
|
15
15
|
}
|
|
16
|
-
/** Node fetch reports "fetch failed" without the reason; surface the cause.
|
|
17
|
-
|
|
16
|
+
/** Node fetch reports "fetch failed" without the reason; surface the cause.
|
|
17
|
+
* `timeoutMs` names the caller's own deadline so a timeout reports the wait
|
|
18
|
+
* that actually happened (control calls 10s, model pings 60s). */
|
|
19
|
+
export function errorMessage(err, timeoutMs = TIMEOUT_MS) {
|
|
18
20
|
if (err instanceof Error) {
|
|
19
21
|
if (err.name === 'TimeoutError' || err.name === 'AbortError') {
|
|
20
|
-
return `timed out after ${
|
|
22
|
+
return `timed out after ${timeoutMs / 1000}s`;
|
|
21
23
|
}
|
|
22
24
|
const cause = err.cause;
|
|
23
25
|
return cause ? `${err.message} (${cause.code ?? cause.message})` : err.message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"AAAA;;kEAEkE;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,OAAO,GACX,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAGnF,CAAC,OAAO,CAAA;AAET;;+BAE+B;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,OAAO,EAAE,CAAA;AAExD,MAAM,UAAU,GAAG,MAAM,CAAA;AAEzB,8EAA8E;AAC9E,MAAM,OAAO,QAAS,SAAQ,KAAK;CAAG;AAOtC
|
|
1
|
+
{"version":3,"file":"hub.js","sourceRoot":"","sources":["../src/hub.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CatalogRow } from './table.js';
|
|
2
|
+
export interface PingResult {
|
|
3
|
+
alias: string;
|
|
4
|
+
protocol: string;
|
|
5
|
+
ok: boolean;
|
|
6
|
+
/** HTTP status when the hub answered, e.g. 200 or 429; null on network error. */
|
|
7
|
+
status: number | null;
|
|
8
|
+
/** Round-trip milliseconds. */
|
|
9
|
+
ms: number;
|
|
10
|
+
/** User-ready verdict: served model, or the hub/upstream error message. */
|
|
11
|
+
detail: string;
|
|
12
|
+
}
|
|
13
|
+
/** One offering row, one ping. `fetchImpl` is the test seam. The catalog's
|
|
14
|
+
* alias is already the full namespaced model name (`producer/name`). */
|
|
15
|
+
export declare function pingOffering(hubUrl: string, token: string, row: CatalogRow, fetchImpl?: typeof fetch): Promise<PingResult>;
|
|
16
|
+
export interface PingReport {
|
|
17
|
+
ok: boolean;
|
|
18
|
+
results: PingResult[];
|
|
19
|
+
}
|
|
20
|
+
/** Ping every offering row sequentially: the hub rate-limits each consumer
|
|
21
|
+
* (rps/burst), and parallel pings would trip that limiter and misreport.
|
|
22
|
+
* `onResult` fires with the settled row as each ping lands — the CLI streams
|
|
23
|
+
* one line per row instead of going silent for the whole run. */
|
|
24
|
+
export declare function runPings(hubUrl: string, token: string, rows: CatalogRow[], fetchImpl?: typeof fetch, onResult?: (result: PingResult, row: CatalogRow) => void): Promise<PingReport>;
|