aweshare 0.3.9 → 0.4.0
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.md +31 -33
- package/apps/agent/dist/cli.js +6 -71
- package/apps/agent/dist/cli.js.map +1 -1
- package/apps/agent/dist/config.d.ts +5 -1
- package/apps/agent/dist/config.js +23 -2
- package/apps/agent/dist/config.js.map +1 -1
- package/apps/agent/dist/connection.js +2 -0
- package/apps/agent/dist/connection.js.map +1 -1
- package/apps/agent/dist/hub.d.ts +0 -2
- package/apps/agent/dist/hub.js +3 -13
- package/apps/agent/dist/hub.js.map +1 -1
- package/apps/consumer/dist/cli.js +30 -4
- package/apps/consumer/dist/cli.js.map +1 -1
- package/apps/consumer/dist/hub.d.ts +3 -0
- package/apps/consumer/dist/hub.js +11 -0
- package/apps/consumer/dist/hub.js.map +1 -1
- package/apps/consumer/dist/table.d.ts +11 -0
- package/apps/consumer/dist/table.js +23 -0
- package/apps/consumer/dist/table.js.map +1 -0
- package/apps/hub/dist/admin.d.ts +3 -3
- package/apps/hub/dist/admin.js +5 -169
- package/apps/hub/dist/admin.js.map +1 -1
- package/apps/hub/dist/cli.js +1 -1
- package/apps/hub/dist/cli.js.map +1 -1
- package/apps/hub/dist/consumer.d.ts +5 -1
- package/apps/hub/dist/consumer.js +38 -10
- package/apps/hub/dist/consumer.js.map +1 -1
- package/apps/hub/dist/db.d.ts +9 -19
- package/apps/hub/dist/db.js +70 -49
- package/apps/hub/dist/db.js.map +1 -1
- package/apps/hub/dist/invites.js +3 -2
- package/apps/hub/dist/invites.js.map +1 -1
- package/apps/hub/dist/limiter.d.ts +8 -0
- package/apps/hub/dist/limiter.js +26 -0
- package/apps/hub/dist/limiter.js.map +1 -1
- package/apps/hub/dist/server.js +3 -8
- package/apps/hub/dist/server.js.map +1 -1
- package/apps/hub/dist/tunnel.js +14 -0
- package/apps/hub/dist/tunnel.js.map +1 -1
- package/bin/aweshare.mjs +1 -1
- package/package.json +1 -1
- package/packages/protocol/dist/errors.d.ts +0 -2
- package/packages/protocol/dist/errors.js +0 -2
- package/packages/protocol/dist/errors.js.map +1 -1
- package/packages/protocol/dist/messages.d.ts +4 -0
- package/packages/protocol/dist/messages.js.map +1 -1
- package/apps/agent/dist/table.d.ts +0 -12
- package/apps/agent/dist/table.js +0 -26
- package/apps/agent/dist/table.js.map +0 -1
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { parseAlias } from '../../../packages/protocol/dist/index.js';
|
|
2
2
|
import { requireConsumer } from './auth.js';
|
|
3
|
-
import {
|
|
3
|
+
import { getOffering, insertUsageEvent, listOfferings, sumTokensForAliasToday, sumTokensUsed, touchLastSeen, } from './db.js';
|
|
4
4
|
import { HttpError, readBody, sendError, sendJson } from './http.js';
|
|
5
5
|
import { resolveLimits, safeParseLimits } from './limits.js';
|
|
6
6
|
import { UsageExtractor } from './meter.js';
|
|
7
7
|
import { sanitizeTunnelRequestHeaders, sanitizeUpstreamResponseHeaders } from './sanitize.js';
|
|
8
|
+
/** Hub defaults when the producer's register message omits the per-offering caps. */
|
|
9
|
+
export const DEFAULT_MAX_CONCURRENT_USERS = 3;
|
|
10
|
+
export const DEFAULT_DAILY_TOKENS = 1_000_000;
|
|
8
11
|
export function registerConsumerRoutes(router, deps) {
|
|
9
12
|
router.add('POST', '/v1/chat/completions', (ctx) => handleInference(ctx, deps, 'openai', '/chat/completions'));
|
|
10
13
|
router.add('POST', '/v1/messages', (ctx) => handleInference(ctx, deps, 'anthropic', '/messages'));
|
|
11
14
|
router.add('POST', '/v1/responses', (ctx) => handleInference(ctx, deps, 'responses', '/responses'));
|
|
12
15
|
router.add('GET', '/v1/models', (ctx) => handleModels(ctx, deps));
|
|
16
|
+
router.add('GET', '/v1/catalog', (ctx) => handleCatalog(ctx, deps));
|
|
13
17
|
}
|
|
14
18
|
/** The consumer endpoint (and tunnel path) each protocol speaks. */
|
|
15
19
|
const ENDPOINT_FOR_PROTOCOL = {
|
|
@@ -18,7 +22,7 @@ const ENDPOINT_FOR_PROTOCOL = {
|
|
|
18
22
|
responses: '/v1/responses',
|
|
19
23
|
};
|
|
20
24
|
async function handleInference(ctx, deps, protocol, path) {
|
|
21
|
-
const { db, auth, config, tunnel, limiter, tpm, slots } = deps;
|
|
25
|
+
const { db, auth, config, tunnel, limiter, tpm, slots, users } = deps;
|
|
22
26
|
const { row: consumer } = requireConsumer(ctx.req, auth);
|
|
23
27
|
touchLastSeen(db, 'consumer', consumer.id);
|
|
24
28
|
const raw = await readBody(ctx.req, config.maxBodyBytes);
|
|
@@ -40,13 +44,6 @@ async function handleInference(ctx, deps, protocol, path) {
|
|
|
40
44
|
if (offering.protocol !== protocol) {
|
|
41
45
|
throw new HttpError(400, 'PROTOCOL_MISMATCH', `alias ${model} speaks ${offering.protocol}; use the ${ENDPOINT_FOR_PROTOCOL[offering.protocol]} endpoint`);
|
|
42
46
|
}
|
|
43
|
-
const grant = getGrant(db, offering.producer_id, consumer.id, model);
|
|
44
|
-
if (!grant) {
|
|
45
|
-
throw new HttpError(403, 'NOT_GRANTED', `alias ${model} is not granted to consumer ${consumer.name}`);
|
|
46
|
-
}
|
|
47
|
-
if (grant.expires_at !== null && grant.expires_at <= new Date().toISOString()) {
|
|
48
|
-
throw new HttpError(403, 'GRANT_EXPIRED', `grant for ${model} expired at ${grant.expires_at}`);
|
|
49
|
-
}
|
|
50
47
|
const session = tunnel.getSession(offering.producer_id);
|
|
51
48
|
if (!session)
|
|
52
49
|
throw new HttpError(503, 'PRODUCER_OFFLINE', `producer of ${model} is offline`);
|
|
@@ -67,6 +64,19 @@ async function handleInference(ctx, deps, protocol, path) {
|
|
|
67
64
|
limiter.release(consumer.id);
|
|
68
65
|
throw new HttpError(429, 'PRODUCER_MAX_CONCURRENCY', `alias ${model} is at its max concurrency (${offering.max_concurrency})`);
|
|
69
66
|
}
|
|
67
|
+
const maxUsers = offering.max_concurrent_users ?? DEFAULT_MAX_CONCURRENT_USERS;
|
|
68
|
+
if (!users.acquire(model, consumer.id, maxUsers)) {
|
|
69
|
+
limiter.release(consumer.id);
|
|
70
|
+
slots.release(model);
|
|
71
|
+
throw new HttpError(429, 'PRODUCER_MAX_USERS', `alias ${model} is at its max concurrent users (${maxUsers})`);
|
|
72
|
+
}
|
|
73
|
+
const dailyTokens = offering.daily_tokens ?? DEFAULT_DAILY_TOKENS;
|
|
74
|
+
if (dailyTokens > 0 && sumTokensForAliasToday(db, model) >= dailyTokens) {
|
|
75
|
+
users.release(model, consumer.id);
|
|
76
|
+
limiter.release(consumer.id);
|
|
77
|
+
slots.release(model);
|
|
78
|
+
throw new HttpError(429, 'QUOTA_EXCEEDED', `alias ${model} reached its daily shared token budget (${dailyTokens}) — resets at UTC midnight`);
|
|
79
|
+
}
|
|
70
80
|
// route on the public alias, but hand the producer the real upstream model id
|
|
71
81
|
body.model = offering.upstream_model;
|
|
72
82
|
const outBody = Buffer.from(JSON.stringify(body), 'utf8');
|
|
@@ -86,6 +96,7 @@ async function handleInference(ctx, deps, protocol, path) {
|
|
|
86
96
|
const finalize = (result, usage) => {
|
|
87
97
|
limiter.release(consumer.id);
|
|
88
98
|
slots.release(model);
|
|
99
|
+
users.release(model, consumer.id);
|
|
89
100
|
const counts = usage?.finish();
|
|
90
101
|
if (counts) {
|
|
91
102
|
tpm.record(consumer.id, (counts.promptTokens ?? 0) + (counts.completionTokens ?? 0));
|
|
@@ -147,7 +158,7 @@ async function handleInference(ctx, deps, protocol, path) {
|
|
|
147
158
|
function handleModels(ctx, deps) {
|
|
148
159
|
const { row: consumer } = requireConsumer(ctx.req, deps.auth);
|
|
149
160
|
touchLastSeen(deps.db, 'consumer', consumer.id);
|
|
150
|
-
const rows =
|
|
161
|
+
const rows = listOfferings(deps.db);
|
|
151
162
|
const data = rows.map((o) => ({
|
|
152
163
|
id: o.alias,
|
|
153
164
|
object: 'model',
|
|
@@ -158,4 +169,21 @@ function handleModels(ctx, deps) {
|
|
|
158
169
|
}));
|
|
159
170
|
sendJson(ctx.res, 200, { object: 'list', data });
|
|
160
171
|
}
|
|
172
|
+
/** Everything the hub knows — a discovery view: producer, model alias, its
|
|
173
|
+
* wire protocol and its per-offering caps. Every admitted consumer may call
|
|
174
|
+
* every offering; admission is the invite the consumer redeemed. This is the
|
|
175
|
+
* data `aweshare consumer list` renders. */
|
|
176
|
+
function handleCatalog(ctx, deps) {
|
|
177
|
+
const { row: consumer } = requireConsumer(ctx.req, deps.auth);
|
|
178
|
+
touchLastSeen(deps.db, 'consumer', consumer.id);
|
|
179
|
+
const offerings = listOfferings(deps.db).map((o) => ({
|
|
180
|
+
producer: o.producer,
|
|
181
|
+
alias: o.alias,
|
|
182
|
+
protocol: o.protocol,
|
|
183
|
+
status: deps.tunnel.offeringStatus(o),
|
|
184
|
+
maxConcurrentUsers: o.max_concurrent_users ?? DEFAULT_MAX_CONCURRENT_USERS,
|
|
185
|
+
dailyTokens: o.daily_tokens ?? DEFAULT_DAILY_TOKENS,
|
|
186
|
+
}));
|
|
187
|
+
sendJson(ctx.res, 200, { object: 'catalog', offerings });
|
|
188
|
+
}
|
|
161
189
|
//# sourceMappingURL=consumer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAI7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"consumer.js","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"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"}
|
package/apps/hub/dist/db.d.ts
CHANGED
|
@@ -31,6 +31,9 @@ export type OfferingRow = {
|
|
|
31
31
|
upstream_model: string;
|
|
32
32
|
backend_id: string;
|
|
33
33
|
max_concurrency: number;
|
|
34
|
+
/** NULL = agent didn't set it; the hub applies its default at enforcement. */
|
|
35
|
+
max_concurrent_users: number | null;
|
|
36
|
+
daily_tokens: number | null;
|
|
34
37
|
updated_at: string;
|
|
35
38
|
};
|
|
36
39
|
export type UsageEventRow = {
|
|
@@ -137,27 +140,12 @@ export declare function redeemInvite(db: Database.Database, invite: InviteRow, t
|
|
|
137
140
|
name: string;
|
|
138
141
|
email: string | null;
|
|
139
142
|
}, now?: string): ProducerRow | ConsumerRow | 'already-redeemed' | 'name-taken';
|
|
140
|
-
export declare function addGrant(db: Database.Database, producerId: number, consumerId: number, alias: string, expiresAt?: string | null): void;
|
|
141
|
-
export declare function removeGrant(db: Database.Database, producerId: number, consumerId: number, alias: string): boolean;
|
|
142
|
-
export type GrantRow = {
|
|
143
|
-
producer_id: number;
|
|
144
|
-
consumer_id: number;
|
|
145
|
-
alias: string;
|
|
146
|
-
created_at: string;
|
|
147
|
-
expires_at: string | null;
|
|
148
|
-
};
|
|
149
|
-
/** Returns the grant row regardless of expiry; callers decide missing vs expired. */
|
|
150
|
-
export declare function getGrant(db: Database.Database, producerId: number, consumerId: number, alias: string): GrantRow | undefined;
|
|
151
|
-
export declare function listGrants(db: Database.Database, producerId?: number): {
|
|
152
|
-
alias: string;
|
|
153
|
-
created_at: string;
|
|
154
|
-
expires_at: string | null;
|
|
155
|
-
producer: string;
|
|
156
|
-
consumer: string;
|
|
157
|
-
}[];
|
|
158
143
|
export declare function upsertOfferings(db: Database.Database, producerId: number, offerings: Offering[]): void;
|
|
159
144
|
export declare function getOffering(db: Database.Database, alias: string): OfferingRow | undefined;
|
|
160
|
-
|
|
145
|
+
/** Every registered offering, aliased with its producer name (for the catalog). */
|
|
146
|
+
export declare function listOfferings(db: Database.Database): (OfferingRow & {
|
|
147
|
+
producer: string;
|
|
148
|
+
})[];
|
|
161
149
|
export declare function insertUsageEvent(db: Database.Database, event: NewUsageEvent): void;
|
|
162
150
|
export interface UsageFilter {
|
|
163
151
|
consumerId?: number;
|
|
@@ -170,3 +158,5 @@ export declare function getConsumerConfig(db: Database.Database, consumerId: num
|
|
|
170
158
|
export declare function setConsumerConfig(db: Database.Database, consumerId: number, config: string | null): void;
|
|
171
159
|
/** Lifetime tokens consumed by a consumer; NULL counts (e.g. Ollama streams) read as 0. */
|
|
172
160
|
export declare function sumTokensUsed(db: Database.Database, consumerId: number): number;
|
|
161
|
+
/** Tokens an alias consumed since UTC midnight (the per-offering daily budget). */
|
|
162
|
+
export declare function sumTokensForAliasToday(db: Database.Database, alias: string): number;
|
package/apps/hub/dist/db.js
CHANGED
|
@@ -20,14 +20,6 @@ CREATE TABLE IF NOT EXISTS consumers (
|
|
|
20
20
|
config TEXT,
|
|
21
21
|
last_seen_at TEXT
|
|
22
22
|
);
|
|
23
|
-
CREATE TABLE IF NOT EXISTS grants (
|
|
24
|
-
producer_id INTEGER NOT NULL REFERENCES producers(id),
|
|
25
|
-
consumer_id INTEGER NOT NULL REFERENCES consumers(id),
|
|
26
|
-
alias TEXT NOT NULL,
|
|
27
|
-
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
28
|
-
expires_at TEXT,
|
|
29
|
-
PRIMARY KEY (producer_id, consumer_id, alias)
|
|
30
|
-
);
|
|
31
23
|
CREATE TABLE IF NOT EXISTS offerings (
|
|
32
24
|
alias TEXT PRIMARY KEY,
|
|
33
25
|
producer_id INTEGER NOT NULL REFERENCES producers(id),
|
|
@@ -35,6 +27,8 @@ CREATE TABLE IF NOT EXISTS offerings (
|
|
|
35
27
|
upstream_model TEXT NOT NULL,
|
|
36
28
|
backend_id TEXT NOT NULL,
|
|
37
29
|
max_concurrency INTEGER NOT NULL DEFAULT 1,
|
|
30
|
+
max_concurrent_users INTEGER,
|
|
31
|
+
daily_tokens INTEGER,
|
|
38
32
|
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
39
33
|
);
|
|
40
34
|
CREATE TABLE IF NOT EXISTS usage_events (
|
|
@@ -57,6 +51,7 @@ CREATE TABLE IF NOT EXISTS usage_events (
|
|
|
57
51
|
CREATE INDEX IF NOT EXISTS idx_usage_at ON usage_events(at);
|
|
58
52
|
CREATE INDEX IF NOT EXISTS idx_usage_consumer ON usage_events(consumer_id, at);
|
|
59
53
|
CREATE INDEX IF NOT EXISTS idx_usage_producer ON usage_events(producer_id, at);
|
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_usage_alias ON usage_events(alias, at);
|
|
60
55
|
CREATE TABLE IF NOT EXISTS invites (
|
|
61
56
|
id INTEGER PRIMARY KEY,
|
|
62
57
|
code_hash TEXT UNIQUE NOT NULL,
|
|
@@ -79,7 +74,7 @@ export function openDb(dbFile) {
|
|
|
79
74
|
const version = db.pragma('user_version', { simple: true });
|
|
80
75
|
if (version < 1) {
|
|
81
76
|
db.exec(SCHEMA_LATEST);
|
|
82
|
-
db.pragma('user_version =
|
|
77
|
+
db.pragma('user_version = 8');
|
|
83
78
|
}
|
|
84
79
|
else {
|
|
85
80
|
if (version < 2) {
|
|
@@ -124,7 +119,51 @@ export function openDb(dbFile) {
|
|
|
124
119
|
db.exec("ALTER TABLE invites ADD COLUMN role TEXT NOT NULL DEFAULT 'producer'");
|
|
125
120
|
db.exec('ALTER TABLE invites ADD COLUMN consumer_id INTEGER REFERENCES consumers(id)');
|
|
126
121
|
}
|
|
127
|
-
|
|
122
|
+
if (version < 7) {
|
|
123
|
+
// v6 -> v7: per-offering usage caps registered by the agent (NULL = not
|
|
124
|
+
// set, the hub applies its defaults). Pre-v7 databases upgraded from v1
|
|
125
|
+
// may lack offerings/usage_events entirely (SCHEMA_LATEST only ran for
|
|
126
|
+
// fresh databases) — create them in their pre-v7 shape first so the
|
|
127
|
+
// ALTERs below apply uniformly, then the daily-sum index.
|
|
128
|
+
db.exec(`CREATE TABLE IF NOT EXISTS offerings (
|
|
129
|
+
alias TEXT PRIMARY KEY,
|
|
130
|
+
producer_id INTEGER NOT NULL REFERENCES producers(id),
|
|
131
|
+
protocol TEXT NOT NULL,
|
|
132
|
+
upstream_model TEXT NOT NULL,
|
|
133
|
+
backend_id TEXT NOT NULL,
|
|
134
|
+
max_concurrency INTEGER NOT NULL DEFAULT 1,
|
|
135
|
+
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
136
|
+
)`);
|
|
137
|
+
db.exec(`CREATE TABLE IF NOT EXISTS usage_events (
|
|
138
|
+
id INTEGER PRIMARY KEY,
|
|
139
|
+
at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
140
|
+
consumer_id INTEGER NOT NULL,
|
|
141
|
+
producer_id INTEGER NOT NULL,
|
|
142
|
+
alias TEXT NOT NULL,
|
|
143
|
+
upstream_model TEXT NOT NULL,
|
|
144
|
+
protocol TEXT NOT NULL,
|
|
145
|
+
streaming INTEGER NOT NULL,
|
|
146
|
+
status INTEGER,
|
|
147
|
+
error_code TEXT,
|
|
148
|
+
duration_ms INTEGER NOT NULL,
|
|
149
|
+
bytes_in INTEGER NOT NULL,
|
|
150
|
+
bytes_out INTEGER NOT NULL,
|
|
151
|
+
prompt_tokens INTEGER,
|
|
152
|
+
completion_tokens INTEGER
|
|
153
|
+
)`);
|
|
154
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_usage_at ON usage_events(at)');
|
|
155
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_usage_consumer ON usage_events(consumer_id, at)');
|
|
156
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_usage_producer ON usage_events(producer_id, at)');
|
|
157
|
+
db.exec('ALTER TABLE offerings ADD COLUMN max_concurrent_users INTEGER');
|
|
158
|
+
db.exec('ALTER TABLE offerings ADD COLUMN daily_tokens INTEGER');
|
|
159
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_usage_alias ON usage_events(alias, at)');
|
|
160
|
+
}
|
|
161
|
+
if (version < 8) {
|
|
162
|
+
// v7 -> v8: the grants table is gone — admission (invite codes) plus the
|
|
163
|
+
// per-consumer limits and per-offering caps fully replaced per-alias grants
|
|
164
|
+
db.exec('DROP TABLE IF EXISTS grants');
|
|
165
|
+
}
|
|
166
|
+
db.pragma('user_version = 8');
|
|
128
167
|
}
|
|
129
168
|
return db;
|
|
130
169
|
}
|
|
@@ -168,7 +207,7 @@ export function listTokens(db) {
|
|
|
168
207
|
.all();
|
|
169
208
|
return { producers, consumers };
|
|
170
209
|
}
|
|
171
|
-
// ----
|
|
210
|
+
// ---- rosters / liveness ----
|
|
172
211
|
/** Active (non-suspended) producers — the scarce resource behind the capacity cap. */
|
|
173
212
|
export function countActiveProducers(db) {
|
|
174
213
|
const row = db.prepare('SELECT COUNT(*) AS n FROM producers WHERE revoked_at IS NULL').get();
|
|
@@ -328,47 +367,19 @@ export function redeemInvite(db, invite, tokenHash, identity, now = new Date().t
|
|
|
328
367
|
throw err;
|
|
329
368
|
}
|
|
330
369
|
}
|
|
331
|
-
// ---- grants ----
|
|
332
|
-
export function addGrant(db, producerId, consumerId, alias, expiresAt) {
|
|
333
|
-
// re-granting refreshes the expiry (INSERT OR IGNORE would keep a stale one)
|
|
334
|
-
db.prepare(`
|
|
335
|
-
INSERT INTO grants (producer_id, consumer_id, alias, expires_at) VALUES (?, ?, ?, ?)
|
|
336
|
-
ON CONFLICT(producer_id, consumer_id, alias) DO UPDATE SET expires_at = excluded.expires_at`).run(producerId, consumerId, alias, expiresAt ?? null);
|
|
337
|
-
}
|
|
338
|
-
export function removeGrant(db, producerId, consumerId, alias) {
|
|
339
|
-
const info = db
|
|
340
|
-
.prepare('DELETE FROM grants WHERE producer_id = ? AND consumer_id = ? AND alias = ?')
|
|
341
|
-
.run(producerId, consumerId, alias);
|
|
342
|
-
return info.changes > 0;
|
|
343
|
-
}
|
|
344
|
-
/** Returns the grant row regardless of expiry; callers decide missing vs expired. */
|
|
345
|
-
export function getGrant(db, producerId, consumerId, alias) {
|
|
346
|
-
return db
|
|
347
|
-
.prepare('SELECT * FROM grants WHERE producer_id = ? AND consumer_id = ? AND alias = ?')
|
|
348
|
-
.get(producerId, consumerId, alias);
|
|
349
|
-
}
|
|
350
|
-
export function listGrants(db, producerId) {
|
|
351
|
-
const sql = `
|
|
352
|
-
SELECT g.alias, g.created_at, g.expires_at, p.name AS producer, c.name AS consumer
|
|
353
|
-
FROM grants g
|
|
354
|
-
JOIN producers p ON p.id = g.producer_id
|
|
355
|
-
JOIN consumers c ON c.id = g.consumer_id
|
|
356
|
-
${producerId !== undefined ? 'WHERE g.producer_id = ?' : ''}
|
|
357
|
-
ORDER BY g.alias, c.name`;
|
|
358
|
-
const stmt = db.prepare(sql);
|
|
359
|
-
return (producerId !== undefined ? stmt.all(producerId) : stmt.all());
|
|
360
|
-
}
|
|
361
370
|
// ---- offerings (cache of what the agent registers; source of truth is agent config) ----
|
|
362
371
|
export function upsertOfferings(db, producerId, offerings) {
|
|
363
372
|
const upsert = db.prepare(`
|
|
364
|
-
INSERT INTO offerings (alias, producer_id, protocol, upstream_model, backend_id, max_concurrency, updated_at)
|
|
365
|
-
VALUES (@alias, @producerId, @protocol, @upstreamModel, @backendId, @maxConcurrency, strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
373
|
+
INSERT INTO offerings (alias, producer_id, protocol, upstream_model, backend_id, max_concurrency, max_concurrent_users, daily_tokens, updated_at)
|
|
374
|
+
VALUES (@alias, @producerId, @protocol, @upstreamModel, @backendId, @maxConcurrency, @maxConcurrentUsers, @dailyTokens, strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
366
375
|
ON CONFLICT(alias) DO UPDATE SET
|
|
367
376
|
producer_id = excluded.producer_id,
|
|
368
377
|
protocol = excluded.protocol,
|
|
369
378
|
upstream_model = excluded.upstream_model,
|
|
370
379
|
backend_id = excluded.backend_id,
|
|
371
380
|
max_concurrency = excluded.max_concurrency,
|
|
381
|
+
max_concurrent_users = excluded.max_concurrent_users,
|
|
382
|
+
daily_tokens = excluded.daily_tokens,
|
|
372
383
|
updated_at = excluded.updated_at`);
|
|
373
384
|
const prune = db.prepare('DELETE FROM offerings WHERE producer_id = ? AND alias NOT IN (SELECT value FROM json_each(?))');
|
|
374
385
|
const tx = db.transaction((items) => {
|
|
@@ -380,6 +391,8 @@ export function upsertOfferings(db, producerId, offerings) {
|
|
|
380
391
|
upstreamModel: o.upstreamModel,
|
|
381
392
|
backendId: o.backendId,
|
|
382
393
|
maxConcurrency: o.maxConcurrency,
|
|
394
|
+
maxConcurrentUsers: o.maxConcurrentUsers ?? null,
|
|
395
|
+
dailyTokens: o.dailyTokens ?? null,
|
|
383
396
|
});
|
|
384
397
|
}
|
|
385
398
|
prune.run(producerId, JSON.stringify(items.map((o) => o.alias)));
|
|
@@ -389,14 +402,13 @@ export function upsertOfferings(db, producerId, offerings) {
|
|
|
389
402
|
export function getOffering(db, alias) {
|
|
390
403
|
return db.prepare('SELECT * FROM offerings WHERE alias = ?').get(alias);
|
|
391
404
|
}
|
|
392
|
-
|
|
405
|
+
/** Every registered offering, aliased with its producer name (for the catalog). */
|
|
406
|
+
export function listOfferings(db) {
|
|
393
407
|
return db
|
|
394
|
-
.prepare(`SELECT o
|
|
395
|
-
JOIN
|
|
396
|
-
WHERE g.consumer_id = ?
|
|
397
|
-
AND (g.expires_at IS NULL OR g.expires_at > strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
408
|
+
.prepare(`SELECT o.*, p.name AS producer FROM offerings o
|
|
409
|
+
JOIN producers p ON p.id = o.producer_id
|
|
398
410
|
ORDER BY o.alias`)
|
|
399
|
-
.all(
|
|
411
|
+
.all();
|
|
400
412
|
}
|
|
401
413
|
// ---- usage ----
|
|
402
414
|
export function insertUsageEvent(db, event) {
|
|
@@ -445,4 +457,13 @@ export function sumTokensUsed(db, consumerId) {
|
|
|
445
457
|
.get(consumerId);
|
|
446
458
|
return row.total ?? 0;
|
|
447
459
|
}
|
|
460
|
+
/** Tokens an alias consumed since UTC midnight (the per-offering daily budget). */
|
|
461
|
+
export function sumTokensForAliasToday(db, alias) {
|
|
462
|
+
const row = db
|
|
463
|
+
.prepare(`SELECT SUM(COALESCE(prompt_tokens, 0) + COALESCE(completion_tokens, 0)) AS total
|
|
464
|
+
FROM usage_events
|
|
465
|
+
WHERE alias = ? AND at >= strftime('%Y-%m-%dT00:00:00.000Z','now')`)
|
|
466
|
+
.get(alias);
|
|
467
|
+
return row.total ?? 0;
|
|
468
|
+
}
|
|
448
469
|
//# sourceMappingURL=db.js.map
|
package/apps/hub/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/apps/hub/dist/invites.js
CHANGED
|
@@ -15,7 +15,8 @@ function requireProducerCapacity(db, config) {
|
|
|
15
15
|
* allocates the name — the alias namespace stays a governance decision) or
|
|
16
16
|
* unbound (name and email submitted at redeem, batch hand-out). Consumer
|
|
17
17
|
* invites are bound-only — the consumers table has no contact column and the
|
|
18
|
-
* name is the handle
|
|
18
|
+
* name is the handle limits, usage and suspension reference, so the operator
|
|
19
|
+
* names every consumer.
|
|
19
20
|
* Either way the secret itself is self-served: the redeemer posts the code to
|
|
20
21
|
* the public endpoint and receives the token — no admin round-trip. Codes are
|
|
21
22
|
* single-use, optionally expiring; revocation is reversible suspension and
|
|
@@ -48,7 +49,7 @@ export function registerInviteRoutes(router, deps) {
|
|
|
48
49
|
name = body.name;
|
|
49
50
|
}
|
|
50
51
|
if (role === 'consumer' && name === null) {
|
|
51
|
-
throw new HttpError(400, 'INVALID_NAME', 'consumer invites are bound-only — pass name (
|
|
52
|
+
throw new HttpError(400, 'INVALID_NAME', 'consumer invites are bound-only — pass name (limits, usage and suspension reference consumers by name)');
|
|
52
53
|
}
|
|
53
54
|
const count = body.count ?? 1;
|
|
54
55
|
if (!Number.isInteger(count) || count < 1 || count > 100) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invites.js","sourceRoot":"","sources":["../src/invites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAe,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEtE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAW1E,mFAAmF;AACnF,SAAS,uBAAuB,CAAC,EAAqB,EAAE,MAAiB;IACvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAA;IACvC,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,UAAU,EACV,gBAAgB,MAAM,0BAA0B,MAAM,CAAC,YAAY,qEAAqE,CACzI,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AAEH,mFAAmF;AACnF,MAAM,YAAY,GAAG,2BAA2B,CAAA;AAChD,0FAA0F;AAC1F,MAAM,aAAa,GAAG,4BAA4B,CAAA;AAElD,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,IAAgB;IACnE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAE9B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACpD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAK/C,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAA;QACpC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,IAAI,GAAkB,IAAI,CAAA;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,cAAc,EACd,sFAAsF,CACvF,CAAA;YACH,CAAC;YACD,iEAAiE;YACjE,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAA;YACrF,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,cAAc,EACd,kFAAkF,CACnF,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YACzD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,4CAA4C,CAAC,CAAA;QACzF,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,eAAe,EACf,mFAAmF,CACpF,CAAA;QACH,CAAC;QACD,IAAI,SAAS,GAAkB,IAAI,CAAA;QACnC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACpC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,yCAAyC,CAAC,CAAA;YACxF,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACpB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,iCAAiC,CAAC,CAAA;YAChF,CAAC;YACD,sEAAsE;YACtE,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACvC,CAAC;QAED,MAAM,OAAO,GAMP,EAAE,CAAA;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAA;YACjC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YACvF,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC7D,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC7C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,8EAA8E;QAC9E,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE;QACpD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,8BAA8B,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACpF,uEAAuE;QACvE,uEAAuE;QACvE,uBAAuB;QACvB,IAAI,SAAS,GAAuE,IAAI,CAAA;QACxF,IAAI,OAAgB,CAAA;QACpB,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,GAAG,IAAI,CAAA,CAAC,0DAA0D;YACzE,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACxD,IAAI,QAAQ,IAAI,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,yEAAyE;gBACzE,SAAS,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBACtE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACvC,OAAO,GAAG,IAAI,CAAA;YACd,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACxD,IAAI,QAAQ,IAAI,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,SAAS,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;YACxE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAC3E,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,wEAAwE;IACxE,6EAA6E;IAC7E,4EAA4E;IAC5E,uCAAuC;IACvC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,+BAA+B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAChE,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,8BAA8B,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAA;QACpF,IAAI,gBAAgB,GAAwC,IAAI,CAAA;QAChE,IAAI,gBAAgB,GAAwC,IAAI,CAAA;QAChE,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACxD,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACzB,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACxC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC,6BAA6B;gBAC9D,gBAAgB,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC7D,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACxD,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;gBACzB,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAChC,gBAAgB,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC7D,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GACZ,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,IAAI,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACrF,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;QACtD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrD,4EAA4E;QAC5E,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,iDAAiD,CAAC,CAAA;QAC7F,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAQ9C,CAAA;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,CAAC,CAAA;QACnF,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;QAChF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YACrE,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,sBAAsB,EACtB,aAAa,MAAM,CAAC,IAAI,mCAAmC,IAAI,CAAC,UAAU,UAAU;gBAClF,iBAAiB,MAAM,CAAC,IAAI,uBAAuB,CACtD,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,gBAAgB,EAChB,4GAA4G,CAC7G,CAAA;QACH,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACvE,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,6CAA6C;YACzE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;QACvE,CAAC;QAED,2EAA2E;QAC3E,8EAA8E;QAC9E,IAAI,IAAY,CAAA;QAChB,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBACzD,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,cAAc,EACd,qCAAqC,MAAM,CAAC,IAAI,GAAG,CACpD,CAAA;YACH,CAAC;YACD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,cAAc,EACd,2EAA2E,CAC5E,CAAA;YACH,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,IAAI,KAAK,GAAkB,IAAI,CAAA;QAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,uCAAuC,CAAC,CAAA;YACpF,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,mCAAmC,CAAC,CAAA;QAChF,CAAC;QAED,wEAAwE;QACxE,sEAAsE;QACtE,iEAAiE;QACjE,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,CAAA;QAClF,CAAC;QACD,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,IAAI,qBAAqB,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACvF,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,mCAAmC,CAAC,CAAA;QAClF,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,IAAI,qBAAqB,CAAC,CAAA;QAChF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;QACpF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"invites.js","sourceRoot":"","sources":["../src/invites.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,14 @@ export declare class AliasSlots {
|
|
|
33
33
|
acquire(alias: string, maxConcurrency: number): boolean;
|
|
34
34
|
release(alias: string): void;
|
|
35
35
|
}
|
|
36
|
+
/** Counts distinct consumers with in-flight requests per alias; the cap comes
|
|
37
|
+
* from the producer's offering (maxConcurrentUsers). */
|
|
38
|
+
export declare class AliasUsers {
|
|
39
|
+
private active;
|
|
40
|
+
/** Returns true when the user slot was acquired. */
|
|
41
|
+
acquire(alias: string, consumerId: number, maxUsers: number): boolean;
|
|
42
|
+
release(alias: string, consumerId: number): void;
|
|
43
|
+
}
|
|
36
44
|
/**
|
|
37
45
|
* Fixed-window counter for unauthenticated endpoints (invite redeem). Keyed by
|
|
38
46
|
* whatever identity the caller has — behind a tunnel the origin only sees the
|
package/apps/hub/dist/limiter.js
CHANGED
|
@@ -75,6 +75,32 @@ export class AliasSlots {
|
|
|
75
75
|
this.active.set(alias, current - 1);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
/** Counts distinct consumers with in-flight requests per alias; the cap comes
|
|
79
|
+
* from the producer's offering (maxConcurrentUsers). */
|
|
80
|
+
export class AliasUsers {
|
|
81
|
+
active = new Map();
|
|
82
|
+
/** Returns true when the user slot was acquired. */
|
|
83
|
+
acquire(alias, consumerId, maxUsers) {
|
|
84
|
+
const users = this.active.get(alias) ?? new Map();
|
|
85
|
+
if (!users.has(consumerId) && users.size >= maxUsers)
|
|
86
|
+
return false;
|
|
87
|
+
users.set(consumerId, (users.get(consumerId) ?? 0) + 1);
|
|
88
|
+
this.active.set(alias, users);
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
release(alias, consumerId) {
|
|
92
|
+
const users = this.active.get(alias);
|
|
93
|
+
if (!users)
|
|
94
|
+
return;
|
|
95
|
+
const current = users.get(consumerId) ?? 0;
|
|
96
|
+
if (current <= 1)
|
|
97
|
+
users.delete(consumerId);
|
|
98
|
+
else
|
|
99
|
+
users.set(consumerId, current - 1);
|
|
100
|
+
if (users.size === 0)
|
|
101
|
+
this.active.delete(alias);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
78
104
|
/**
|
|
79
105
|
* Fixed-window counter for unauthenticated endpoints (invite redeem). Keyed by
|
|
80
106
|
* whatever identity the caller has — behind a tunnel the origin only sees the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limiter.js","sourceRoot":"","sources":["../src/limiter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"limiter.js","sourceRoot":"","sources":["../src/limiter.ts"],"names":[],"mappings":"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"}
|
package/apps/hub/dist/server.js
CHANGED
|
@@ -8,7 +8,7 @@ import { registerConsumerRoutes } from './consumer.js';
|
|
|
8
8
|
import { openDb } from './db.js';
|
|
9
9
|
import { Router, sendError, sendJson } from './http.js';
|
|
10
10
|
import { registerInviteRoutes } from './invites.js';
|
|
11
|
-
import { AliasSlots, ConsumerLimiter, FixedWindowLimiter, TokenWindow } from './limiter.js';
|
|
11
|
+
import { AliasSlots, AliasUsers, ConsumerLimiter, FixedWindowLimiter, TokenWindow, } from './limiter.js';
|
|
12
12
|
import { loadOrCreateAdminToken, loadOrCreatePepper } from './tokens.js';
|
|
13
13
|
import { Tunnel } from './tunnel.js';
|
|
14
14
|
const VERSION = JSON.parse(readFileSync(new URL('../../../package.json', import.meta.url), 'utf8')).version;
|
|
@@ -27,13 +27,7 @@ export function createHubServer(opts = {}) {
|
|
|
27
27
|
// {ok, version, wire} — agents preflight `join` against this and doctor
|
|
28
28
|
// reports hub identity; no auth, nothing secret.
|
|
29
29
|
router.add('GET', '/healthz', (ctx) => sendJson(ctx.res, 200, { ok: true, version: VERSION, wire: WIRE_VERSION }));
|
|
30
|
-
registerAdminRoutes(router, {
|
|
31
|
-
db,
|
|
32
|
-
auth,
|
|
33
|
-
log,
|
|
34
|
-
config,
|
|
35
|
-
onProducerRevoked: (producerId) => tunnel.disconnectProducer(producerId),
|
|
36
|
-
});
|
|
30
|
+
registerAdminRoutes(router, { db, auth, log });
|
|
37
31
|
registerInviteRoutes(router, {
|
|
38
32
|
db,
|
|
39
33
|
auth,
|
|
@@ -50,6 +44,7 @@ export function createHubServer(opts = {}) {
|
|
|
50
44
|
limiter: new ConsumerLimiter(),
|
|
51
45
|
tpm: new TokenWindow(),
|
|
52
46
|
slots: new AliasSlots(),
|
|
47
|
+
users: new AliasUsers(),
|
|
53
48
|
log,
|
|
54
49
|
});
|
|
55
50
|
const server = createServer(async (req, res) => {
|