aweshare 0.5.5 → 0.5.7
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 +7 -7
- package/README.md +26 -11
- package/apps/agent/dist/config.d.ts +1 -1
- package/apps/agent/dist/config.js +2 -0
- package/apps/agent/dist/config.js.map +1 -1
- package/apps/agent/dist/connection.js +9 -4
- package/apps/agent/dist/connection.js.map +1 -1
- package/apps/agent/dist/doctor.js +55 -19
- package/apps/agent/dist/doctor.js.map +1 -1
- package/apps/agent/dist/table.d.ts +19 -2
- package/apps/agent/dist/table.js +28 -3
- package/apps/agent/dist/table.js.map +1 -1
- package/apps/consumer/dist/cli.js +1 -1
- package/apps/consumer/dist/cli.js.map +1 -1
- package/apps/consumer/dist/table.d.ts +17 -2
- package/apps/consumer/dist/table.js +18 -3
- package/apps/consumer/dist/table.js.map +1 -1
- package/apps/hub/dist/admin.d.ts +2 -0
- package/apps/hub/dist/admin.js +33 -1
- package/apps/hub/dist/admin.js.map +1 -1
- package/apps/hub/dist/cli.js +170 -124
- package/apps/hub/dist/cli.js.map +1 -1
- package/apps/hub/dist/config.d.ts +6 -1
- package/apps/hub/dist/config.js +42 -1
- package/apps/hub/dist/config.js.map +1 -1
- package/apps/hub/dist/consumer.d.ts +34 -3
- package/apps/hub/dist/consumer.js +100 -8
- package/apps/hub/dist/consumer.js.map +1 -1
- package/apps/hub/dist/db.d.ts +38 -2
- package/apps/hub/dist/db.js +80 -8
- package/apps/hub/dist/db.js.map +1 -1
- package/apps/hub/dist/local.d.ts +12 -2
- package/apps/hub/dist/local.js +26 -7
- package/apps/hub/dist/local.js.map +1 -1
- package/apps/hub/dist/meter.d.ts +6 -1
- package/apps/hub/dist/meter.js +14 -0
- package/apps/hub/dist/meter.js.map +1 -1
- package/apps/hub/dist/server.js +4 -2
- package/apps/hub/dist/server.js.map +1 -1
- package/apps/hub/dist/table.d.ts +20 -3
- package/apps/hub/dist/table.js +35 -10
- package/apps/hub/dist/table.js.map +1 -1
- package/package.json +2 -1
- package/packages/producer-core/dist/adapters.d.ts +3 -6
- package/packages/producer-core/dist/adapters.js +8 -7
- package/packages/producer-core/dist/adapters.js.map +1 -1
- package/packages/producer-core/dist/health.d.ts +25 -2
- package/packages/producer-core/dist/health.js +77 -4
- package/packages/producer-core/dist/health.js.map +1 -1
- package/packages/producer-core/dist/index.d.ts +1 -0
- package/packages/producer-core/dist/index.js +1 -0
- package/packages/producer-core/dist/index.js.map +1 -1
- package/packages/producer-core/dist/job.js +9 -8
- package/packages/producer-core/dist/job.js.map +1 -1
- package/packages/producer-core/dist/proxy.d.ts +21 -0
- package/packages/producer-core/dist/proxy.js +77 -0
- package/packages/producer-core/dist/proxy.js.map +1 -0
- package/packages/protocol/dist/index.d.ts +1 -0
- package/packages/protocol/dist/index.js +1 -0
- package/packages/protocol/dist/index.js.map +1 -1
- package/packages/protocol/dist/models.d.ts +23 -0
- package/packages/protocol/dist/models.js +72 -0
- package/packages/protocol/dist/models.js.map +1 -0
package/apps/hub/dist/cli.js
CHANGED
|
@@ -18,10 +18,11 @@ Commands:
|
|
|
18
18
|
init Create the data dir, pepper, and admin token.
|
|
19
19
|
serve Run the hub server.
|
|
20
20
|
produce Run the hub serving its own models too (alias namespace hub/...).
|
|
21
|
-
invite Mint one-time invite codes
|
|
21
|
+
invite Mint one-time invite codes (producers or consumers).
|
|
22
|
+
list Read hub state: invites (the ledger) or usage (consumption).
|
|
22
23
|
limits Show, set or clear one consumer's limit overrides.
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
status Live state: capacity, offering health; rosters print with --all.
|
|
25
|
+
offering Block or restore one offering alias (the per-alias scalpel).
|
|
25
26
|
revoke Kill an invite: pending stops pairing, redeemed suspends its identity.
|
|
26
27
|
restore Undo a revoke: pending pairs again, redeemed revives its identity.`;
|
|
27
28
|
const COMMAND_HELP = {
|
|
@@ -64,15 +65,11 @@ Options:
|
|
|
64
65
|
-h, --help Show this message and exit.`,
|
|
65
66
|
invite: `Usage: aweshare hub invite [OPTIONS]
|
|
66
67
|
|
|
67
|
-
Mint one-time invite codes (printed once; recover with:
|
|
68
|
-
--reveal)
|
|
69
|
-
|
|
68
|
+
Mint one-time invite codes (printed once; recover with: aweshare hub list
|
|
69
|
+
invites --reveal). Listing lives under 'list invites' on purpose — minting
|
|
70
|
+
sends real codes, reading the ledger never should.
|
|
70
71
|
|
|
71
72
|
Options:
|
|
72
|
-
--list Show the invite ledger instead of minting.
|
|
73
|
-
--reveal --list only: show the full invite codes (asi_...).
|
|
74
|
-
--token --list only: also show the full minted token (asp_/asc_...)
|
|
75
|
-
with last seen.
|
|
76
73
|
--role ROLE producer (default) or consumer — a consumer code redeems into
|
|
77
74
|
an asc_ token the consumer pastes into their SDK env vars.
|
|
78
75
|
--name NAME Bind the codes to one name (required for --role consumer;
|
|
@@ -82,52 +79,74 @@ Options:
|
|
|
82
79
|
since identity expiry landed, this also bounds the minted
|
|
83
80
|
token's lifetime; 'none' mints a code (and identity) that
|
|
84
81
|
never expires.
|
|
85
|
-
--json --list only: print the raw API response instead of a table.
|
|
86
82
|
-h, --help Show this message and exit.`,
|
|
83
|
+
list: `Usage: aweshare hub list [invites|usage] [OPTIONS]
|
|
84
|
+
|
|
85
|
+
Read hub state (default: invites). The rosters and offering health live in
|
|
86
|
+
'aweshare hub status'; this is the ledger and the meter.
|
|
87
|
+
|
|
88
|
+
Commands:
|
|
89
|
+
invites The invite ledger: every code, the identity it minted and its
|
|
90
|
+
lifecycle (pending/used/suspended/revoked/expired).
|
|
91
|
+
usage Who used how much: aggregated on the hub's SQLite, one row per
|
|
92
|
+
consumer × model (default) — a person's rows stay together,
|
|
93
|
+
busiest person and busiest model first. --details switches to the
|
|
94
|
+
request log instead: newest first, one row per request, zero
|
|
95
|
+
content stored, each row naming the consumer that made it.
|
|
96
|
+
|
|
97
|
+
Options:
|
|
98
|
+
--reveal Invites only: show the full invite codes (asi_...).
|
|
99
|
+
--token Invites only: also show the full minted token
|
|
100
|
+
(asp_/asc_...) with last seen.
|
|
101
|
+
--details Usage only: show the per-request log instead of the summary.
|
|
102
|
+
--consumer NAME Usage only: only rows for this consumer.
|
|
103
|
+
--producer NAME Usage only: only rows for this producer.
|
|
104
|
+
--alias ALIAS Usage only: only rows for this alias (ns/model).
|
|
105
|
+
--group-by KEY Usage only: consumer × model (default), consumer or alias.
|
|
106
|
+
--since DUR Usage only: window: 30m, 12h, 7d (default), 30d… or all.
|
|
107
|
+
--limit N Usage --details only: rows to show, 1..1000 (default 100).
|
|
108
|
+
--json Print the raw API response instead of a table.
|
|
109
|
+
-h, --help Show this message and exit.`,
|
|
87
110
|
limits: `Usage: aweshare hub limits NAME [OPTIONS]
|
|
88
111
|
|
|
89
112
|
Show, set or clear one consumer's limit overrides. Unset keys keep the
|
|
90
113
|
hub-wide defaults (AWESHARE_CONSUMER_* env vars); setting merges into
|
|
91
114
|
what is already stored.
|
|
92
115
|
|
|
93
|
-
Options:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
Who used how much: aggregated on the hub's SQLite, one row per consumer ×
|
|
105
|
-
model (default) — a person's rows stay together, busiest person and busiest
|
|
106
|
-
model first. Narrow with --consumer/--producer/--alias.
|
|
116
|
+
Options:
|
|
117
|
+
--rps N Requests per second (may be fractional).
|
|
118
|
+
--burst N Token-bucket burst size.
|
|
119
|
+
--max-concurrent N Max in-flight requests.
|
|
120
|
+
--tpm N Max tokens in any sliding 60s window.
|
|
121
|
+
--max-total-tokens N Lifetime token budget.
|
|
122
|
+
--clear Drop every override (back to hub-wide defaults).
|
|
123
|
+
--json Print the raw API response instead of text.
|
|
124
|
+
-h, --help Show this message and exit.`,
|
|
125
|
+
status: `Usage: aweshare hub status [OPTIONS]
|
|
107
126
|
|
|
108
|
-
|
|
109
|
-
|
|
127
|
+
The hub's live state: capacity, offering health and the effective hub-wide
|
|
128
|
+
consumer defaults. No tokens or request contents appear. Offerings are
|
|
129
|
+
counted per deduplicated alias (one alias, several protocols, one verdict —
|
|
130
|
+
the worst); the alias table uses the same columns as 'consumer list' and
|
|
131
|
+
'producer list', sorted worst status first, with live occupancy (IN USE
|
|
132
|
+
n/max) and today's remaining daily tokens. The last-5m health line comes
|
|
133
|
+
from the usage summary — admission 429s are never metered, so it reflects
|
|
134
|
+
relayed outcomes only. The producer/consumer rosters are counts here; pass
|
|
135
|
+
--all to print them in full.
|
|
110
136
|
|
|
111
137
|
Options:
|
|
112
|
-
--
|
|
113
|
-
|
|
114
|
-
--
|
|
115
|
-
|
|
116
|
-
--group-by KEY consumer × model (default), consumer or alias.
|
|
117
|
-
--since DUR Window: 30m, 12h, 7d (default), 30d… or all.
|
|
118
|
-
--limit N --details only: rows to show, 1..1000 (default 100).
|
|
119
|
-
--json Print the raw API response instead of a table.
|
|
120
|
-
-h, --help Show this message and exit.`,
|
|
121
|
-
status: `Usage: aweshare hub status
|
|
138
|
+
--all Also print the producer and consumer rosters (name, status,
|
|
139
|
+
online state, last seen).
|
|
140
|
+
-h, --help Show this message and exit.`,
|
|
141
|
+
offering: `Usage: aweshare hub offering block|restore ALIAS
|
|
122
142
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
never metered, so it reflects relayed outcomes only.
|
|
143
|
+
Block one offering alias (every protocol row of it) or bring it back — the
|
|
144
|
+
scalpel between doing nothing and revoking the whole producer. A block 503s
|
|
145
|
+
new requests with OFFERING_BLOCKED while the producer's other offerings
|
|
146
|
+
keep serving; status shows 'blocked'. Manual blocks survive producer
|
|
147
|
+
re-registers; auto blocks (repeated model mismatch, only when
|
|
148
|
+
autoBlockModelMismatch is enabled) clear once the producer re-declares a
|
|
149
|
+
different upstreamModel.
|
|
131
150
|
|
|
132
151
|
Options:
|
|
133
152
|
-h, --help Show this message and exit.`,
|
|
@@ -136,14 +155,14 @@ Options:
|
|
|
136
155
|
Kill an invite: pending stops pairing, redeemed suspends its identity.
|
|
137
156
|
|
|
138
157
|
Options:
|
|
139
|
-
--id N The invite id (see: aweshare hub
|
|
158
|
+
--id N The invite id (see: aweshare hub list invites).
|
|
140
159
|
-h, --help Show this message and exit.`,
|
|
141
160
|
restore: `Usage: aweshare hub restore [OPTIONS]
|
|
142
161
|
|
|
143
162
|
Undo a revoke: pending pairs again, redeemed revives its identity.
|
|
144
163
|
|
|
145
164
|
Options:
|
|
146
|
-
--id N The invite id (see: aweshare hub
|
|
165
|
+
--id N The invite id (see: aweshare hub list invites).
|
|
147
166
|
-h, --help Show this message and exit.`,
|
|
148
167
|
};
|
|
149
168
|
function parseArgs(argv) {
|
|
@@ -236,7 +255,7 @@ function noPositionals(cmd, positional) {
|
|
|
236
255
|
function requireId(flags) {
|
|
237
256
|
const id = flags.get('id');
|
|
238
257
|
if (!id)
|
|
239
|
-
fail('--id is required (find ids with: aweshare hub
|
|
258
|
+
fail('--id is required (find ids with: aweshare hub list invites)');
|
|
240
259
|
return id;
|
|
241
260
|
}
|
|
242
261
|
/** CLI flag name -> API key of the sparse limit override object. */
|
|
@@ -337,33 +356,12 @@ async function main() {
|
|
|
337
356
|
}
|
|
338
357
|
case 'invite': {
|
|
339
358
|
noPositionals(cmd, positional);
|
|
340
|
-
|
|
341
|
-
//
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
for (const f of ['role', 'name', 'count', 'expires-in']) {
|
|
345
|
-
if (flags.has(f))
|
|
346
|
-
fail(`--${f} mints codes — drop it when passing --list`);
|
|
347
|
-
}
|
|
348
|
-
const reveal = flags.get('reveal') === 'true';
|
|
349
|
-
const tokens = flags.get('token') === 'true';
|
|
350
|
-
const params = new URLSearchParams();
|
|
351
|
-
if (reveal)
|
|
352
|
-
params.set('reveal', 'true');
|
|
353
|
-
if (tokens)
|
|
354
|
-
params.set('token', 'true');
|
|
355
|
-
const qs = params.toString();
|
|
356
|
-
const data = (await api('GET', `/admin/v1/invites${qs ? `?${qs}` : ''}`));
|
|
357
|
-
if (flags.get('json') === 'true') {
|
|
358
|
-
console.log(JSON.stringify(data, null, 2));
|
|
359
|
-
return;
|
|
360
|
-
}
|
|
361
|
-
console.log(renderInvites(data.invites, reveal, tokens));
|
|
362
|
-
if (!reveal && !tokens && data.invites.length > 0) {
|
|
363
|
-
console.log('\nmore: --reveal (full codes), --token (minted tokens)');
|
|
364
|
-
}
|
|
365
|
-
return;
|
|
359
|
+
// minting is the one state-changing read-adjacent verb — refuse the old
|
|
360
|
+
// ledger flag loudly instead of silently minting a code
|
|
361
|
+
if (flags.has('list')) {
|
|
362
|
+
fail("'hub invite --list' became its own command — the ledger is: aweshare hub list invites");
|
|
366
363
|
}
|
|
364
|
+
const api = adminApi();
|
|
367
365
|
const body = {};
|
|
368
366
|
const role = flags.get('role') ?? 'producer';
|
|
369
367
|
if (role !== 'producer' && role !== 'consumer')
|
|
@@ -395,64 +393,48 @@ async function main() {
|
|
|
395
393
|
for (const invite of out.invites)
|
|
396
394
|
console.log(invite.code);
|
|
397
395
|
if (role === 'consumer') {
|
|
398
|
-
console.error('(save this now; codes print only here — re-view later with: aweshare hub
|
|
396
|
+
console.error('(save this now; codes print only here — re-view later with: aweshare hub list invites --reveal.\n' +
|
|
399
397
|
`hand it to '${name}' — they redeem it and keep the returned asc_ token:\n` +
|
|
400
398
|
' aweshare consumer join --hub https://YOUR-HUB --code CODE\n' +
|
|
401
399
|
'no aweshare installed? curl -s -X POST https://YOUR-HUB/invites/v1/redeem -H \'content-type: application/json\' -d \'{"code":"asi_..."}\')');
|
|
402
400
|
}
|
|
403
401
|
else {
|
|
404
402
|
console.error(name
|
|
405
|
-
? '(save these now; codes print only here — re-view later with: aweshare hub
|
|
406
|
-
: '(save these now; codes print only here — re-view later with: aweshare hub
|
|
403
|
+
? '(save these now; codes print only here — re-view later with: aweshare hub list invites --reveal. redeem: aweshare producer join --hub URL --code CODE)'
|
|
404
|
+
: '(save these now; codes print only here — re-view later with: aweshare hub list invites --reveal. redeem: aweshare producer join --hub URL --code CODE --name NAME --email YOU@EXAMPLE.COM)');
|
|
407
405
|
}
|
|
408
406
|
return;
|
|
409
407
|
}
|
|
410
|
-
case 'list':
|
|
411
|
-
//
|
|
412
|
-
//
|
|
413
|
-
|
|
414
|
-
case 'limits': {
|
|
415
|
-
const name = positional[0];
|
|
416
|
-
if (!name)
|
|
417
|
-
fail('consumer name is required (see: aweshare hub limits -h)');
|
|
408
|
+
case 'list': {
|
|
409
|
+
// the read verbs: the invite ledger and the meter (rosters and offering
|
|
410
|
+
// health are `status`); bare `list` defaults to the ledger
|
|
411
|
+
const sub = positional[0] ?? 'invites';
|
|
418
412
|
if (positional[1])
|
|
419
|
-
fail(`unexpected argument '${positional[1]}' (see: aweshare hub
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
const json = flags.get('json') === 'true';
|
|
423
|
-
const set = {};
|
|
424
|
-
for (const [flag, key] of LIMIT_FLAGS) {
|
|
425
|
-
const raw = flags.get(flag);
|
|
426
|
-
if (raw === undefined)
|
|
427
|
-
continue;
|
|
428
|
-
const n = Number(raw);
|
|
429
|
-
if (!Number.isFinite(n) || n <= 0)
|
|
430
|
-
fail(`--${flag} must be a positive number, got '${raw}'`);
|
|
431
|
-
set[key] = n;
|
|
413
|
+
fail(`unexpected argument '${positional[1]}' (see: aweshare hub list -h)`);
|
|
414
|
+
if (sub !== 'invites' && sub !== 'usage') {
|
|
415
|
+
fail(`unknown list target '${sub}' — expected invites or usage`);
|
|
432
416
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
const
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
417
|
+
const api = adminApi();
|
|
418
|
+
if (sub === 'invites') {
|
|
419
|
+
const reveal = flags.get('reveal') === 'true';
|
|
420
|
+
const tokens = flags.get('token') === 'true';
|
|
421
|
+
const params = new URLSearchParams();
|
|
422
|
+
if (reveal)
|
|
423
|
+
params.set('reveal', 'true');
|
|
424
|
+
if (tokens)
|
|
425
|
+
params.set('token', 'true');
|
|
426
|
+
const qs = params.toString();
|
|
427
|
+
const data = (await api('GET', `/admin/v1/invites${qs ? `?${qs}` : ''}`));
|
|
428
|
+
if (flags.get('json') === 'true') {
|
|
429
|
+
console.log(JSON.stringify(data, null, 2));
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
console.log(renderInvites(data.invites, reveal, tokens));
|
|
433
|
+
if (!reveal && !tokens && data.invites.length > 0) {
|
|
434
|
+
console.log('\nmore: --reveal (full codes), --token (minted tokens)');
|
|
435
|
+
}
|
|
446
436
|
return;
|
|
447
437
|
}
|
|
448
|
-
const out = (await api('GET', path));
|
|
449
|
-
console.log(json ? JSON.stringify(out, null, 2) : fmtLimits(out.name, out.overrides));
|
|
450
|
-
return;
|
|
451
|
-
}
|
|
452
|
-
case 'usage': {
|
|
453
|
-
if (positional[0])
|
|
454
|
-
fail(`unexpected argument '${positional[0]}' — summaries are the default view now; the request log is --details (see: aweshare hub usage -h)`);
|
|
455
|
-
const api = adminApi();
|
|
456
438
|
const params = new URLSearchParams();
|
|
457
439
|
const consumer = flags.get('consumer');
|
|
458
440
|
if (consumer)
|
|
@@ -523,6 +505,47 @@ async function main() {
|
|
|
523
505
|
console.log(renderUsage(rows, (id) => names.get(id) ?? `#${id}`));
|
|
524
506
|
return;
|
|
525
507
|
}
|
|
508
|
+
case 'usage':
|
|
509
|
+
// usage became a `list` subcommand — the read surface is list + status
|
|
510
|
+
return fail("'hub usage' moved — it is 'aweshare hub list usage' now");
|
|
511
|
+
case 'limits': {
|
|
512
|
+
const name = positional[0];
|
|
513
|
+
if (!name)
|
|
514
|
+
fail('consumer name is required (see: aweshare hub limits -h)');
|
|
515
|
+
if (positional[1])
|
|
516
|
+
fail(`unexpected argument '${positional[1]}' (see: aweshare hub limits -h)`);
|
|
517
|
+
const api = adminApi();
|
|
518
|
+
const path = `/admin/v1/consumers/${encodeURIComponent(name)}/limits`;
|
|
519
|
+
const json = flags.get('json') === 'true';
|
|
520
|
+
const set = {};
|
|
521
|
+
for (const [flag, key] of LIMIT_FLAGS) {
|
|
522
|
+
const raw = flags.get(flag);
|
|
523
|
+
if (raw === undefined)
|
|
524
|
+
continue;
|
|
525
|
+
const n = Number(raw);
|
|
526
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
527
|
+
fail(`--${flag} must be a positive number, got '${raw}'`);
|
|
528
|
+
set[key] = n;
|
|
529
|
+
}
|
|
530
|
+
if (flags.get('clear') === 'true') {
|
|
531
|
+
if (Object.keys(set).length > 0)
|
|
532
|
+
fail('--clear drops every override — drop the value flags too');
|
|
533
|
+
const out = (await api('DELETE', path));
|
|
534
|
+
console.log(json
|
|
535
|
+
? JSON.stringify(out, null, 2)
|
|
536
|
+
: `✓ ${name}: overrides cleared — hub-wide defaults apply`);
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
if (Object.keys(set).length > 0) {
|
|
540
|
+
// integer/precision rules live server-side; its error lists all problems
|
|
541
|
+
const out = (await api('PUT', path, set));
|
|
542
|
+
console.log(json ? JSON.stringify(out, null, 2) : `✓ ${fmtLimits(out.name, out.overrides)}`);
|
|
543
|
+
return;
|
|
544
|
+
}
|
|
545
|
+
const out = (await api('GET', path));
|
|
546
|
+
console.log(json ? JSON.stringify(out, null, 2) : fmtLimits(out.name, out.overrides));
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
526
549
|
case 'status': {
|
|
527
550
|
noPositionals(cmd, positional);
|
|
528
551
|
const api = adminApi();
|
|
@@ -530,13 +553,14 @@ async function main() {
|
|
|
530
553
|
api('GET', '/admin/v1/tokens'),
|
|
531
554
|
// the endpoint wraps its rows: {object: "offerings", offerings: [...]}
|
|
532
555
|
api('GET', '/admin/v1/offerings'),
|
|
533
|
-
// last-5m health:
|
|
534
|
-
//
|
|
535
|
-
|
|
556
|
+
// last-5m health: the usage SUMMARY endpoint (the details endpoint's
|
|
557
|
+
// rows carry no request counts — summing them printed NaN); admission
|
|
558
|
+
// 429s are never metered, so this reflects relayed outcomes only
|
|
559
|
+
api('GET', '/admin/v1/usage/summary?since=5m&group=alias').catch(() => []),
|
|
536
560
|
]);
|
|
537
561
|
const recent = {
|
|
538
|
-
requests: usageRes.reduce((n, r) => n + r.requests, 0),
|
|
539
|
-
errors: usageRes.reduce((n, r) => n + r.errors, 0),
|
|
562
|
+
requests: usageRes.reduce((n, r) => n + (r.requests ?? 0), 0),
|
|
563
|
+
errors: usageRes.reduce((n, r) => n + (r.errors ?? 0), 0),
|
|
540
564
|
};
|
|
541
565
|
console.log(renderHubStatus({
|
|
542
566
|
...loadHubConfig(),
|
|
@@ -544,9 +568,31 @@ async function main() {
|
|
|
544
568
|
consumers: roster.consumers,
|
|
545
569
|
offerings: offeringsRes.offerings,
|
|
546
570
|
recent,
|
|
571
|
+
all: flags.get('all') === 'true',
|
|
547
572
|
}));
|
|
548
573
|
return;
|
|
549
574
|
}
|
|
575
|
+
case 'offering': {
|
|
576
|
+
const action = positional[0];
|
|
577
|
+
if (action !== 'block' && action !== 'restore') {
|
|
578
|
+
fail(`expected 'block' or 'restore' (see: aweshare hub offering -h), got '${action ?? ''}'`);
|
|
579
|
+
}
|
|
580
|
+
const alias = positional[1];
|
|
581
|
+
if (!alias)
|
|
582
|
+
fail(`offering ${action}: alias is required (ns/model)`);
|
|
583
|
+
if (positional[2])
|
|
584
|
+
fail(`unexpected argument '${positional[2]}' (see: aweshare hub offering -h)`);
|
|
585
|
+
const api = adminApi();
|
|
586
|
+
if (action === 'block') {
|
|
587
|
+
const out = (await api('POST', `/admin/v1/offerings/block?alias=${encodeURIComponent(alias)}`));
|
|
588
|
+
console.log(`✓ ${alias} blocked (${out.offerings} protocol row(s)) — new requests get 503 OFFERING_BLOCKED`);
|
|
589
|
+
console.log(` undo: aweshare hub offering restore ${alias}`);
|
|
590
|
+
return;
|
|
591
|
+
}
|
|
592
|
+
const out = (await api('POST', `/admin/v1/offerings/restore?alias=${encodeURIComponent(alias)}`));
|
|
593
|
+
console.log(`✓ ${alias} restored (${out.offerings} protocol row(s)) — requests flow again`);
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
550
596
|
case 'revoke': {
|
|
551
597
|
noPositionals(cmd, positional);
|
|
552
598
|
const api = adminApi();
|
package/apps/hub/dist/cli.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -41,6 +41,11 @@ export declare function hubConfigFromEnv(env?: NodeJS.ProcessEnv): {
|
|
|
41
41
|
inviteRedeemPerIpMinute: number;
|
|
42
42
|
/** Cap on active (non-suspended) producers — the hub's tenant slots. */
|
|
43
43
|
maxProducers: number;
|
|
44
|
+
/** Auto-block an offering after repeated successful responses report a
|
|
45
|
+
* different model than declared. Off by default: mismatches are
|
|
46
|
+
* logged and visible either way; blocking on them risks false positives
|
|
47
|
+
* (versioned or vendor-prefixed model ids) and is the operator's call. */
|
|
48
|
+
autoBlockModelMismatch: boolean;
|
|
44
49
|
};
|
|
45
50
|
export type HubConfig = ReturnType<typeof hubConfigFromEnv>;
|
|
46
51
|
/** Effective hub config: CLI flags (applied by `serve`) > env vars > config.toml > defaults. */
|
|
@@ -50,5 +55,5 @@ export declare function loadHubConfig(env?: NodeJS.ProcessEnv, paths?: HubPaths)
|
|
|
50
55
|
* Returns the names of keys whose value actually changed. Never throws. */
|
|
51
56
|
export declare function applyHubConfig(live: HubConfig, fresh: HubConfig): string[];
|
|
52
57
|
/** Written by `hub init`; every key commented out so an untouched file keeps the defaults. */
|
|
53
|
-
export declare const HUB_CONFIG_TEMPLATE = "# aweshare hub configuration (~/.aweshare-hub/config.toml)\n# Generated by 'aweshare hub init'. Every key is commented out: uncomment one\n# to override its default. Precedence: CLI flags (--host/--port) > environment\n# variables (AWESHARE_*) > this file > defaults.\n\n# Listen address.\n#host = \"0.0.0.0\"\n#port = 8787\n\n# Per-consumer token bucket: refill per second, burst size, max in-flight.\n#consumerRps = 10\n#consumerBurst = 20\n#consumerMaxConcurrent = 8\n\n# Timeouts in ms: no response head within headTimeoutMs -> 504; no bytes\n# within idleTimeoutMs after the head -> 504 (streaming keeps it alive).\n#headTimeoutMs = 120000\n#idleTimeoutMs = 300000\n\n# Request body cap (32MB) and the unauthenticated invite-redeem rate limits:\n# a per-origin-IP bucket (one visitor must not monopolize admission) plus a\n# global insurance budget shared by every origin.\n#maxBodyBytes = 33554432\n#inviteRedeemPerMinute = 10\n#inviteRedeemPerIpMinute = 5\n\n# Cap on active (non-suspended) producers \u2014 the hub's tenant slots.\n#maxProducers = 10\n\n";
|
|
58
|
+
export declare const HUB_CONFIG_TEMPLATE = "# aweshare hub configuration (~/.aweshare-hub/config.toml)\n# Generated by 'aweshare hub init'. Every key is commented out: uncomment one\n# to override its default. Precedence: CLI flags (--host/--port) > environment\n# variables (AWESHARE_*) > this file > defaults.\n\n# Listen address.\n#host = \"0.0.0.0\"\n#port = 8787\n\n# Per-consumer token bucket: refill per second, burst size, max in-flight.\n#consumerRps = 10\n#consumerBurst = 20\n#consumerMaxConcurrent = 8\n\n# Timeouts in ms: no response head within headTimeoutMs -> 504; no bytes\n# within idleTimeoutMs after the head -> 504 (streaming keeps it alive).\n#headTimeoutMs = 120000\n#idleTimeoutMs = 300000\n\n# Request body cap (32MB) and the unauthenticated invite-redeem rate limits:\n# a per-origin-IP bucket (one visitor must not monopolize admission) plus a\n# global insurance budget shared by every origin.\n#maxBodyBytes = 33554432\n#inviteRedeemPerMinute = 10\n#inviteRedeemPerIpMinute = 5\n\n# Cap on active (non-suspended) producers \u2014 the hub's tenant slots.\n#maxProducers = 10\n\n# Auto-block an offering after repeated successful responses report a model\n# different from its declared upstreamModel. Off by default:\n# mismatches are logged and visible in hub status / consumer list either way,\n# and blocking on them risks false positives on versioned or vendor-prefixed\n# model ids. An auto block clears when the producer re-declares a different\n# upstreamModel; manual blocks (aweshare hub offering block) always persist.\n#autoBlockModelMismatch = false\n\n";
|
|
54
59
|
export declare const HUB_PRODUCE_CONFIG_TEMPLATE = "# aweshare hub-local model catalog (~/.aweshare-hub/config.produce.toml)\n# Generated by 'aweshare hub produce init'. Upstream key values live in\n# secrets.json next to this file.\n\n#[[backends]]\n#id = \"openai\"\n#protocol = \"openai\" # openai | anthropic | responses\n#baseUrl = \"https://api.openai.com/v1\"\n#keyRef = \"openai-key\"\n\n#[[offerings]]\n#alias = \"hub/gpt-4o\" # bare names are auto-prefixed with hub/\n#backend = \"openai\"\n#upstreamModel = \"gpt-4o-2024-11-20\"\n#maxConcurrencyPerUser = 4\n#maxConcurrentUsers = 3\n#dailyTokens = 1000000\n";
|
package/apps/hub/dist/config.js
CHANGED
|
@@ -61,6 +61,18 @@ function hostFromEnv(env, fallback) {
|
|
|
61
61
|
const raw = env.AWESHARE_HUB_HOST;
|
|
62
62
|
return raw === undefined || raw === '' ? fallback : raw;
|
|
63
63
|
}
|
|
64
|
+
/** Parse a boolean env var ('true'/'1' on, 'false'/'0' off); garbage fails
|
|
65
|
+
* fast with the key named. */
|
|
66
|
+
function booleanFromEnv(env, key, fallback) {
|
|
67
|
+
const raw = env[key];
|
|
68
|
+
if (raw === undefined || raw === '')
|
|
69
|
+
return fallback;
|
|
70
|
+
if (raw === 'true' || raw === '1')
|
|
71
|
+
return true;
|
|
72
|
+
if (raw === 'false' || raw === '0')
|
|
73
|
+
return false;
|
|
74
|
+
throw new Error(`${key} must be true or false, got '${raw}'`);
|
|
75
|
+
}
|
|
64
76
|
export function hubConfigFromEnv(env = process.env) {
|
|
65
77
|
return {
|
|
66
78
|
host: hostFromEnv(env, '0.0.0.0'),
|
|
@@ -83,6 +95,11 @@ export function hubConfigFromEnv(env = process.env) {
|
|
|
83
95
|
inviteRedeemPerIpMinute: positiveNumber(env, 'AWESHARE_INVITE_REDEEM_PER_IP_MIN', 5),
|
|
84
96
|
/** Cap on active (non-suspended) producers — the hub's tenant slots. */
|
|
85
97
|
maxProducers: positiveNumber(env, 'AWESHARE_MAX_PRODUCERS', 10),
|
|
98
|
+
/** Auto-block an offering after repeated successful responses report a
|
|
99
|
+
* different model than declared. Off by default: mismatches are
|
|
100
|
+
* logged and visible either way; blocking on them risks false positives
|
|
101
|
+
* (versioned or vendor-prefixed model ids) and is the operator's call. */
|
|
102
|
+
autoBlockModelMismatch: booleanFromEnv(env, 'AWESHARE_AUTO_BLOCK_MODEL_MISMATCH', false),
|
|
86
103
|
};
|
|
87
104
|
}
|
|
88
105
|
/** Keys config.toml may set — one per HubConfig field, same names as the code. */
|
|
@@ -98,6 +115,7 @@ const CONFIG_FILE_KEYS = new Set([
|
|
|
98
115
|
'inviteRedeemPerMinute',
|
|
99
116
|
'inviteRedeemPerIpMinute',
|
|
100
117
|
'maxProducers',
|
|
118
|
+
'autoBlockModelMismatch',
|
|
101
119
|
]);
|
|
102
120
|
/** Read config.toml from the data dir. Absent file = null; anything wrong with
|
|
103
121
|
* an existing file fails fast with the key named (typos included). */
|
|
@@ -130,6 +148,14 @@ function readConfigFile(paths) {
|
|
|
130
148
|
else
|
|
131
149
|
out.host = value;
|
|
132
150
|
}
|
|
151
|
+
else if (key === 'autoBlockModelMismatch') {
|
|
152
|
+
if (typeof value !== 'boolean') {
|
|
153
|
+
problems.push(`autoBlockModelMismatch must be true or false, got '${value}'`);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
out.autoBlockModelMismatch = value;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
133
159
|
else if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {
|
|
134
160
|
problems.push(`${key} must be a positive number, got '${value}'`);
|
|
135
161
|
}
|
|
@@ -157,6 +183,7 @@ export function loadHubConfig(env = process.env, paths = resolvePaths(env)) {
|
|
|
157
183
|
inviteRedeemPerMinute: positiveNumber(env, 'AWESHARE_INVITE_REDEEM_PER_MIN', file?.inviteRedeemPerMinute ?? 10),
|
|
158
184
|
inviteRedeemPerIpMinute: positiveNumber(env, 'AWESHARE_INVITE_REDEEM_PER_IP_MIN', file?.inviteRedeemPerIpMinute ?? 5),
|
|
159
185
|
maxProducers: positiveNumber(env, 'AWESHARE_MAX_PRODUCERS', file?.maxProducers ?? 10),
|
|
186
|
+
autoBlockModelMismatch: booleanFromEnv(env, 'AWESHARE_AUTO_BLOCK_MODEL_MISMATCH', file?.autoBlockModelMismatch ?? false),
|
|
160
187
|
};
|
|
161
188
|
}
|
|
162
189
|
/** Fields a running server picks up on SIGHUP. host/port are listen-time —
|
|
@@ -171,7 +198,13 @@ const RELOADABLE_KEYS = [
|
|
|
171
198
|
'inviteRedeemPerMinute',
|
|
172
199
|
'inviteRedeemPerIpMinute',
|
|
173
200
|
'maxProducers',
|
|
201
|
+
'autoBlockModelMismatch',
|
|
174
202
|
];
|
|
203
|
+
/** Correlated copy: one generic key keeps key and value type-linked, so a key
|
|
204
|
+
* list mixing numbers and booleans assigns without a cast. */
|
|
205
|
+
function copyKey(live, fresh, key) {
|
|
206
|
+
live[key] = fresh[key];
|
|
207
|
+
}
|
|
175
208
|
/** Copy the reloadable fields of `fresh` onto `live` IN PLACE — request handlers
|
|
176
209
|
* hold references to the live object, so mutation is what makes new values visible.
|
|
177
210
|
* Returns the names of keys whose value actually changed. Never throws. */
|
|
@@ -180,7 +213,7 @@ export function applyHubConfig(live, fresh) {
|
|
|
180
213
|
for (const key of RELOADABLE_KEYS) {
|
|
181
214
|
if (live[key] !== fresh[key])
|
|
182
215
|
changed.push(key);
|
|
183
|
-
live
|
|
216
|
+
copyKey(live, fresh, key);
|
|
184
217
|
}
|
|
185
218
|
return changed;
|
|
186
219
|
}
|
|
@@ -214,6 +247,14 @@ export const HUB_CONFIG_TEMPLATE = `# aweshare hub configuration (~/.aweshare-hu
|
|
|
214
247
|
# Cap on active (non-suspended) producers — the hub's tenant slots.
|
|
215
248
|
#maxProducers = 10
|
|
216
249
|
|
|
250
|
+
# Auto-block an offering after repeated successful responses report a model
|
|
251
|
+
# different from its declared upstreamModel. Off by default:
|
|
252
|
+
# mismatches are logged and visible in hub status / consumer list either way,
|
|
253
|
+
# and blocking on them risks false positives on versioned or vendor-prefixed
|
|
254
|
+
# model ids. An auto block clears when the producer re-declares a different
|
|
255
|
+
# upstreamModel; manual blocks (aweshare hub offering block) always persist.
|
|
256
|
+
#autoBlockModelMismatch = false
|
|
257
|
+
|
|
217
258
|
`;
|
|
218
259
|
export const HUB_PRODUCE_CONFIG_TEMPLATE = `# aweshare hub-local model catalog (~/.aweshare-hub/config.produce.toml)
|
|
219
260
|
# Generated by 'aweshare hub produce init'. Upstream key values live in
|