aweshare 0.5.6 → 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 +2 -2
- package/README.md +17 -3
- package/apps/agent/dist/doctor.js +52 -16
- 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/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 +54 -15
- 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 +99 -7
- package/apps/hub/dist/consumer.js.map +1 -1
- package/apps/hub/dist/db.d.ts +29 -1
- package/apps/hub/dist/db.js +70 -6
- package/apps/hub/dist/db.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 +1 -1
- 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/table.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ModelComparison } from 'aweshare-protocol';
|
|
1
2
|
/** Left-aligned columns with two-space gutters; null-ish cells render as '-'. */
|
|
2
3
|
export declare function formatTable(headers: string[], rows: string[][]): string;
|
|
3
4
|
/** '2026-08-01T10:00:00.123Z' → '2026-08-01 10:00Z' (UTC, minute precision). */
|
|
@@ -58,12 +59,22 @@ export interface StatusOffering {
|
|
|
58
59
|
alias: string;
|
|
59
60
|
protocol?: string;
|
|
60
61
|
status: string;
|
|
62
|
+
/** The model id reported in successful responses — consistency evidence
|
|
63
|
+
* for upstreamModel, not proof of underlying weights. Undefined on hubs
|
|
64
|
+
* that predate the audit, null before the first self-naming response. */
|
|
65
|
+
observedModel?: string | null;
|
|
66
|
+
modelVerified?: boolean | null;
|
|
67
|
+
modelMatch?: ModelComparison | null;
|
|
61
68
|
maxConcurrencyPerUser?: number;
|
|
62
69
|
maxConcurrentUsers?: number;
|
|
63
70
|
activeUsers?: number;
|
|
64
71
|
dailyTokens?: number;
|
|
65
72
|
usedDailyTokens?: number;
|
|
66
73
|
}
|
|
74
|
+
/** The OBSERVED MODEL cell — kept verbatim in apps/consumer/src/table.ts and
|
|
75
|
+
* apps/agent/src/table.ts with the shared headers: the observed id, '✗'-marked
|
|
76
|
+
* when it disagrees with the declaration, '-' when nothing was observed. */
|
|
77
|
+
export declare function observedCell(observedModel: string | null | undefined, modelVerified: boolean | null | undefined, modelMatch?: ModelComparison | null): string;
|
|
67
78
|
export interface HubStatusInput {
|
|
68
79
|
maxProducers: number;
|
|
69
80
|
consumerRps: number;
|
|
@@ -80,11 +91,14 @@ export interface HubStatusInput {
|
|
|
80
91
|
requests: number;
|
|
81
92
|
errors: number;
|
|
82
93
|
};
|
|
94
|
+
/** --all: also print the full producer/consumer rosters (the summary keeps
|
|
95
|
+
* the identity counts either way). */
|
|
96
|
+
all?: boolean;
|
|
83
97
|
}
|
|
84
98
|
/** Compact read-only overview for operators; tokens and request contents stay
|
|
85
|
-
* absent.
|
|
86
|
-
*
|
|
87
|
-
*
|
|
99
|
+
* absent. Default shows the summary and the alias table only — the identity
|
|
100
|
+
* counts in the summary carry the headlines; --all adds the full rosters
|
|
101
|
+
* (they absorbed the old `hub list producers|consumers` views). */
|
|
88
102
|
export declare function renderHubStatus(input: HubStatusInput): string;
|
|
89
103
|
export declare function renderProducers(rows: ProducerListRow[]): string;
|
|
90
104
|
export declare function renderConsumers(rows: ConsumerListRow[]): string;
|
|
@@ -96,6 +110,9 @@ export interface UsageRow {
|
|
|
96
110
|
producer_id: number;
|
|
97
111
|
alias: string;
|
|
98
112
|
upstream_model: string;
|
|
113
|
+
/** Model id the upstream named about itself; NULL when it named none.
|
|
114
|
+
* Absent on hubs that predate the model audit. */
|
|
115
|
+
observed_model?: string | null;
|
|
99
116
|
protocol: string;
|
|
100
117
|
streaming: number;
|
|
101
118
|
status: number | null;
|
package/apps/hub/dist/table.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Aligned-column tables for the hub CLI's list output; `--json` keeps the raw API shape.
|
|
2
|
-
import { protocolLabel } from '../../../packages/protocol/dist/index.js';
|
|
2
|
+
import { compareModels, protocolLabel } from '../../../packages/protocol/dist/index.js';
|
|
3
3
|
import { LOCAL_PRODUCER_ID } from './db.js';
|
|
4
4
|
/** Left-aligned columns with two-space gutters; null-ish cells render as '-'. */
|
|
5
5
|
export function formatTable(headers, rows) {
|
|
@@ -77,13 +77,25 @@ export function renderInvites(invites, reveal = false, tokens = false) {
|
|
|
77
77
|
...(reveal ? [i.code ?? '-'] : []),
|
|
78
78
|
]));
|
|
79
79
|
}
|
|
80
|
-
|
|
80
|
+
/** The OBSERVED MODEL cell — kept verbatim in apps/consumer/src/table.ts and
|
|
81
|
+
* apps/agent/src/table.ts with the shared headers: the observed id, '✗'-marked
|
|
82
|
+
* when it disagrees with the declaration, '-' when nothing was observed. */
|
|
83
|
+
export function observedCell(observedModel, modelVerified, modelMatch) {
|
|
84
|
+
if (observedModel === undefined || observedModel === null)
|
|
85
|
+
return '-';
|
|
86
|
+
if (modelMatch === 'mismatch' || modelVerified === false)
|
|
87
|
+
return `${observedModel} ✗`;
|
|
88
|
+
return modelMatch === 'insufficient' ? `${observedModel} ?` : observedModel;
|
|
89
|
+
}
|
|
90
|
+
const STATUS_RANK = { offline: 2, degraded: 1, online: 0, blocked: 3 };
|
|
81
91
|
/** The offering table's column spec, kept verbatim in apps/consumer/src/table.ts
|
|
82
92
|
* and apps/agent/src/table.ts — one mental model across the three CLIs; a
|
|
83
|
-
* cross-CLI test locks the three renderers together.
|
|
93
|
+
* cross-CLI test locks the three renderers together. OBSERVED MODEL is what
|
|
94
|
+
* the upstream itself served: a '✗' marks a declaration that doesn't hold. */
|
|
84
95
|
const OFFERING_HEADERS = [
|
|
85
96
|
'PRODUCER',
|
|
86
97
|
'ALIAS',
|
|
98
|
+
'OBSERVED MODEL',
|
|
87
99
|
'PROTOCOL',
|
|
88
100
|
'STATUS',
|
|
89
101
|
'MAX USERS',
|
|
@@ -118,6 +130,7 @@ function aliasLines(offerings) {
|
|
|
118
130
|
cells: [
|
|
119
131
|
join((o) => o.producer ?? '-'),
|
|
120
132
|
first.alias,
|
|
133
|
+
join((o) => observedCell(o.observedModel, o.modelVerified, o.modelMatch)),
|
|
121
134
|
join((o) => (o.protocol ? protocolLabel(o.protocol) : '-'), ', '),
|
|
122
135
|
worstStatus(list.map((o) => o.status)),
|
|
123
136
|
join((o) => (o.maxConcurrentUsers === undefined ? '-' : String(o.maxConcurrentUsers))),
|
|
@@ -139,9 +152,9 @@ function aliasLines(offerings) {
|
|
|
139
152
|
];
|
|
140
153
|
}
|
|
141
154
|
/** Compact read-only overview for operators; tokens and request contents stay
|
|
142
|
-
* absent.
|
|
143
|
-
*
|
|
144
|
-
*
|
|
155
|
+
* absent. Default shows the summary and the alias table only — the identity
|
|
156
|
+
* counts in the summary carry the headlines; --all adds the full rosters
|
|
157
|
+
* (they absorbed the old `hub list producers|consumers` views). */
|
|
145
158
|
export function renderHubStatus(input) {
|
|
146
159
|
const producers = input.producers.filter((p) => p.id !== LOCAL_PRODUCER_ID);
|
|
147
160
|
const activeProducers = producers.filter((p) => p.revoked_at === null).length;
|
|
@@ -161,7 +174,7 @@ export function renderHubStatus(input) {
|
|
|
161
174
|
'hub status',
|
|
162
175
|
` producer slots: ${activeProducers}/${input.maxProducers} active (${suspendedProducers} suspended)`,
|
|
163
176
|
` consumers: ${activeConsumers} active (${suspendedConsumers} suspended)`,
|
|
164
|
-
` offerings: ${count('online')} online, ${count('offline')} offline, ${count('degraded')} degraded (${aliases.size} alias(es))`,
|
|
177
|
+
` offerings: ${count('online')} online, ${count('offline')} offline, ${count('degraded')} degraded, ${count('blocked')} blocked (${aliases.size} alias(es))`,
|
|
165
178
|
];
|
|
166
179
|
if (input.recent) {
|
|
167
180
|
const { requests, errors } = input.recent;
|
|
@@ -174,8 +187,10 @@ export function renderHubStatus(input) {
|
|
|
174
187
|
}
|
|
175
188
|
}
|
|
176
189
|
lines.push(` consumer defaults: rps ${input.consumerRps}, burst ${input.consumerBurst}, max concurrent ${input.consumerMaxConcurrent}`, ` timeouts: head ${input.headTimeoutMs}ms, idle ${input.idleTimeoutMs}ms`);
|
|
177
|
-
|
|
178
|
-
|
|
190
|
+
if (input.all) {
|
|
191
|
+
lines.push('', 'producers:', renderProducers(input.producers));
|
|
192
|
+
lines.push('', 'consumers:', renderConsumers(input.consumers));
|
|
193
|
+
}
|
|
179
194
|
if (input.offerings.length > 0)
|
|
180
195
|
lines.push('', ...aliasLines(input.offerings));
|
|
181
196
|
return lines.join('\n');
|
|
@@ -204,6 +219,16 @@ export function renderConsumers(rows) {
|
|
|
204
219
|
fmtTime(c.created_at),
|
|
205
220
|
]));
|
|
206
221
|
}
|
|
222
|
+
/** The usage MODEL cell: the declaration, with the observed id appended when
|
|
223
|
+
* it disagrees (`glm-4.6≠step-2-16k`) — per-request evidence in one glance. */
|
|
224
|
+
function modelCell(r) {
|
|
225
|
+
if (r.observed_model == null)
|
|
226
|
+
return r.upstream_model;
|
|
227
|
+
const match = compareModels(r.upstream_model, r.observed_model);
|
|
228
|
+
if (match === 'mismatch')
|
|
229
|
+
return `${r.upstream_model}≠${r.observed_model}`;
|
|
230
|
+
return match === 'insufficient' ? `${r.upstream_model}?${r.observed_model}` : r.upstream_model;
|
|
231
|
+
}
|
|
207
232
|
/**
|
|
208
233
|
* Newest-first usage log; the CLI maps consumer ids to names (inline when the
|
|
209
234
|
* rows carry them, else via the roster; fallback '#id'). Token counts are
|
|
@@ -216,7 +241,7 @@ export function renderUsage(rows, consumerName) {
|
|
|
216
241
|
fmtTime(r.at),
|
|
217
242
|
consumerName(r.consumer_id),
|
|
218
243
|
r.alias,
|
|
219
|
-
r
|
|
244
|
+
modelCell(r),
|
|
220
245
|
r.error_code ? `${r.status ?? '-'} ${r.error_code}` : String(r.status ?? '-'),
|
|
221
246
|
`${r.duration_ms}ms`,
|
|
222
247
|
r.prompt_tokens === null && r.completion_tokens === null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model honesty: an offering's declared `upstreamModel` is only the producer's
|
|
3
|
+
* claim. A response-reported model id is useful consistency evidence, not
|
|
4
|
+
* proof of the underlying weights. selfReportedModel extracts that bounded
|
|
5
|
+
* id and compareModels classifies it against the declaration.
|
|
6
|
+
*/
|
|
7
|
+
export type ModelComparison = 'exact' | 'compatible' | 'mismatch' | 'insufficient';
|
|
8
|
+
/**
|
|
9
|
+
* Compare response metadata with the declaration. Exact normalized ids and
|
|
10
|
+
* explicit revision suffixes are affirmative evidence; a less-specific
|
|
11
|
+
* response is insufficient, while adjacent named variants are mismatches.
|
|
12
|
+
*/
|
|
13
|
+
export declare function compareModels(declared: string, observed: string): ModelComparison;
|
|
14
|
+
/** Backward-compatible boolean used by existing renderers. Only affirmative
|
|
15
|
+
* evidence is a match; insufficient evidence is never shown as verified. */
|
|
16
|
+
export declare function modelsMatch(declared: string, observed: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The model id a response names about itself in one payload,
|
|
19
|
+
* whichever wire shape carries it: OpenAI top-level `model`, Anthropic
|
|
20
|
+
* `message.model` (message_start), Responses `response.model`. Null when the
|
|
21
|
+
* payload names no model.
|
|
22
|
+
*/
|
|
23
|
+
export declare function selfReportedModel(payload: Record<string, unknown>): string | null;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model honesty: an offering's declared `upstreamModel` is only the producer's
|
|
3
|
+
* claim. A response-reported model id is useful consistency evidence, not
|
|
4
|
+
* proof of the underlying weights. selfReportedModel extracts that bounded
|
|
5
|
+
* id and compareModels classifies it against the declaration.
|
|
6
|
+
*/
|
|
7
|
+
/** Response-reported ids are persisted and rendered in operator terminals.
|
|
8
|
+
* Keep that untrusted value bounded and free of control characters. */
|
|
9
|
+
const safeModelId = (id) => id.length > 0 && id.length <= 256 && /^[a-z0-9][a-z0-9._:/-]*$/i.test(id);
|
|
10
|
+
/** Casing and separators vary across otherwise identical ids. Preserve token
|
|
11
|
+
* boundaries, though: deleting them would make gpt-4 and gpt-4o look alike. */
|
|
12
|
+
const canonicalModelId = (id) => id
|
|
13
|
+
.toLowerCase()
|
|
14
|
+
.replace(/[._:]+/g, '-')
|
|
15
|
+
.replace(/-+/g, '-')
|
|
16
|
+
.replace(/^-|-$/g, '');
|
|
17
|
+
/** A response may prefix the id with its vendor (`openai/gpt-4o`). Compare
|
|
18
|
+
* both the full id and the last path component; no arbitrary substring match. */
|
|
19
|
+
const candidates = (id) => {
|
|
20
|
+
if (!safeModelId(id))
|
|
21
|
+
return [];
|
|
22
|
+
const full = canonicalModelId(id);
|
|
23
|
+
const leaf = canonicalModelId(id.split('/').at(-1) ?? '');
|
|
24
|
+
return [...new Set([full, leaf].filter(Boolean))];
|
|
25
|
+
};
|
|
26
|
+
/** Explicit revision suffixes that preserve the model family: YYYY, MMDD,
|
|
27
|
+
* YYYYMMDD or a separated date. Names such as mini/o/sonnet are variants. */
|
|
28
|
+
const isRevisionOf = (family, versioned) => {
|
|
29
|
+
if (!versioned.startsWith(`${family}-`))
|
|
30
|
+
return false;
|
|
31
|
+
const suffix = versioned.slice(family.length + 1);
|
|
32
|
+
return /^\d{4,8}$/.test(suffix) || /^\d{4}-\d{2}(?:-\d{2})?$/.test(suffix);
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Compare response metadata with the declaration. Exact normalized ids and
|
|
36
|
+
* explicit revision suffixes are affirmative evidence; a less-specific
|
|
37
|
+
* response is insufficient, while adjacent named variants are mismatches.
|
|
38
|
+
*/
|
|
39
|
+
export function compareModels(declared, observed) {
|
|
40
|
+
const declaredIds = candidates(declared);
|
|
41
|
+
const observedIds = candidates(observed);
|
|
42
|
+
if (declaredIds.length === 0 || observedIds.length === 0)
|
|
43
|
+
return 'insufficient';
|
|
44
|
+
if (declaredIds.some((a) => observedIds.includes(a)))
|
|
45
|
+
return 'exact';
|
|
46
|
+
if (declaredIds.some((a) => observedIds.some((b) => isRevisionOf(a, b)))) {
|
|
47
|
+
return 'compatible';
|
|
48
|
+
}
|
|
49
|
+
if (observedIds.some((b) => declaredIds.some((a) => isRevisionOf(b, a)))) {
|
|
50
|
+
return 'insufficient';
|
|
51
|
+
}
|
|
52
|
+
return 'mismatch';
|
|
53
|
+
}
|
|
54
|
+
/** Backward-compatible boolean used by existing renderers. Only affirmative
|
|
55
|
+
* evidence is a match; insufficient evidence is never shown as verified. */
|
|
56
|
+
export function modelsMatch(declared, observed) {
|
|
57
|
+
const result = compareModels(declared, observed);
|
|
58
|
+
return result === 'exact' || result === 'compatible';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The model id a response names about itself in one payload,
|
|
62
|
+
* whichever wire shape carries it: OpenAI top-level `model`, Anthropic
|
|
63
|
+
* `message.model` (message_start), Responses `response.model`. Null when the
|
|
64
|
+
* payload names no model.
|
|
65
|
+
*/
|
|
66
|
+
export function selfReportedModel(payload) {
|
|
67
|
+
const message = payload.message;
|
|
68
|
+
const response = payload.response;
|
|
69
|
+
const candidate = payload.model ?? message?.model ?? response?.model;
|
|
70
|
+
return typeof candidate === 'string' && safeModelId(candidate) ? candidate : null;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|