aweshare 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +19 -6
  2. package/apps/agent/dist/cli.js +75 -3
  3. package/apps/agent/dist/cli.js.map +1 -1
  4. package/apps/agent/dist/config.d.ts +6 -26
  5. package/apps/agent/dist/config.js +11 -86
  6. package/apps/agent/dist/config.js.map +1 -1
  7. package/apps/agent/dist/connection.d.ts +5 -11
  8. package/apps/agent/dist/connection.js +49 -128
  9. package/apps/agent/dist/connection.js.map +1 -1
  10. package/apps/agent/dist/doctor.js +25 -5
  11. package/apps/agent/dist/doctor.js.map +1 -1
  12. package/apps/agent/dist/hub.d.ts +21 -0
  13. package/apps/agent/dist/hub.js +25 -1
  14. package/apps/agent/dist/hub.js.map +1 -1
  15. package/apps/agent/dist/index.d.ts +1 -3
  16. package/apps/agent/dist/index.js +1 -3
  17. package/apps/agent/dist/index.js.map +1 -1
  18. package/apps/agent/dist/table.d.ts +31 -0
  19. package/apps/agent/dist/table.js +80 -0
  20. package/apps/agent/dist/table.js.map +1 -0
  21. package/apps/agent/package.json +2 -1
  22. package/apps/consumer/dist/cli.js +4 -2
  23. package/apps/consumer/dist/cli.js.map +1 -1
  24. package/apps/consumer/dist/table.d.ts +6 -1
  25. package/apps/consumer/dist/table.js +30 -14
  26. package/apps/consumer/dist/table.js.map +1 -1
  27. package/apps/consumer/package.json +1 -1
  28. package/apps/hub/dist/admin.d.ts +9 -0
  29. package/apps/hub/dist/admin.js +30 -1
  30. package/apps/hub/dist/admin.js.map +1 -1
  31. package/apps/hub/dist/cli.js +44 -3
  32. package/apps/hub/dist/cli.js.map +1 -1
  33. package/apps/hub/dist/config.d.ts +3 -1
  34. package/apps/hub/dist/config.js +27 -0
  35. package/apps/hub/dist/config.js.map +1 -1
  36. package/apps/hub/dist/consumer.d.ts +33 -0
  37. package/apps/hub/dist/consumer.js +58 -36
  38. package/apps/hub/dist/consumer.js.map +1 -1
  39. package/apps/hub/dist/db.d.ts +16 -2
  40. package/apps/hub/dist/db.js +71 -14
  41. package/apps/hub/dist/db.js.map +1 -1
  42. package/apps/hub/dist/limiter.d.ts +5 -0
  43. package/apps/hub/dist/limiter.js +15 -0
  44. package/apps/hub/dist/limiter.js.map +1 -1
  45. package/apps/hub/dist/local.d.ts +105 -0
  46. package/apps/hub/dist/local.js +414 -0
  47. package/apps/hub/dist/local.js.map +1 -0
  48. package/apps/hub/dist/server.d.ts +3 -0
  49. package/apps/hub/dist/server.js +15 -3
  50. package/apps/hub/dist/server.js.map +1 -1
  51. package/apps/hub/dist/table.d.ts +15 -0
  52. package/apps/hub/dist/table.js +19 -1
  53. package/apps/hub/dist/table.js.map +1 -1
  54. package/apps/hub/dist/tunnel.d.ts +23 -1
  55. package/apps/hub/dist/tunnel.js +19 -14
  56. package/apps/hub/dist/tunnel.js.map +1 -1
  57. package/apps/hub/package.json +2 -1
  58. package/bin/aweshare.mjs +1 -1
  59. package/package.json +3 -2
  60. package/packages/producer-core/dist/adapters.d.ts +23 -0
  61. package/{apps/agent → packages/producer-core}/dist/adapters.js +1 -1
  62. package/packages/producer-core/dist/adapters.js.map +1 -0
  63. package/packages/producer-core/dist/catalog.d.ts +39 -0
  64. package/packages/producer-core/dist/catalog.js +121 -0
  65. package/packages/producer-core/dist/catalog.js.map +1 -0
  66. package/packages/producer-core/dist/index.d.ts +5 -0
  67. package/packages/producer-core/dist/index.js +6 -0
  68. package/packages/producer-core/dist/index.js.map +1 -0
  69. package/packages/producer-core/dist/job.d.ts +44 -0
  70. package/packages/producer-core/dist/job.js +92 -0
  71. package/packages/producer-core/dist/job.js.map +1 -0
  72. package/packages/producer-core/dist/probe.d.ts +6 -0
  73. package/packages/producer-core/dist/probe.js +30 -0
  74. package/packages/producer-core/dist/probe.js.map +1 -0
  75. package/packages/protocol/dist/alias.d.ts +2 -0
  76. package/packages/protocol/dist/alias.js +4 -0
  77. package/packages/protocol/dist/alias.js.map +1 -1
  78. package/apps/agent/dist/adapters.d.ts +0 -15
  79. package/apps/agent/dist/adapters.js.map +0 -1
  80. /package/{apps/agent → packages/producer-core}/dist/health.d.ts +0 -0
  81. /package/{apps/agent → packages/producer-core}/dist/health.js +0 -0
  82. /package/{apps/agent → packages/producer-core}/dist/health.js.map +0 -0
@@ -33,8 +33,10 @@ Options:
33
33
  -h, --help Show this message and exit.`,
34
34
  list: `Usage: aweshare consumer list [OPTIONS]
35
35
 
36
- List every offering on the hub — producer, alias, protocol, status and
37
- per-offering caps — before your first call.
36
+ List every offering on the hub — producer, alias, protocol, status,
37
+ per-offering caps and live occupancy (IN USE n/max: distinct consumers
38
+ with a request in flight right now — an alias at max/max is busy, pick
39
+ another) — before your first call.
38
40
 
39
41
  Options:
40
42
  --hub URL The hub to query (required, http(s) URL).
@@ -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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"}
@@ -5,9 +5,14 @@ export interface CatalogRow {
5
5
  alias: string;
6
6
  protocol: string;
7
7
  status: string;
8
- /** Concurrent-requests cap per consumer; pre-v0.5 hubs don't report it. */
8
+ /** Concurrent-requests cap per consumer; pre-v0.4.3 hubs don't report it. */
9
9
  maxConcurrencyPerUser?: number;
10
10
  maxConcurrentUsers: number;
11
+ /** Distinct consumers with a request in flight right now (snapshot at list
12
+ * time, not a reservation); hubs without the live-occupancy field report
13
+ * nothing and the column shows '-'. */
14
+ activeUsers?: number;
15
+ activeRequests?: number;
11
16
  dailyTokens: number;
12
17
  usedDailyTokens: number;
13
18
  }
@@ -8,6 +8,34 @@ export function formatTable(headers, rows) {
8
8
  .trimEnd();
9
9
  return [line(headers), ...rows.map(line)].join('\n');
10
10
  }
11
+ /** One alias may speak several protocols (one hub row each); the table shows
12
+ * one line per alias with the protocols joined. Other columns join differing
13
+ * values with '/' so nothing is hidden; usage is metered per alias on the hub,
14
+ * so identical rows collapse to a single number. */
15
+ function mergeByAlias(rows) {
16
+ const groups = new Map();
17
+ for (const row of rows) {
18
+ const key = `${row.producer}/${row.alias}`;
19
+ const list = groups.get(key) ?? [];
20
+ list.push(row);
21
+ groups.set(key, list);
22
+ }
23
+ return [...groups.values()].map((list) => {
24
+ const first = list[0];
25
+ const join = (pick, sep = '/') => [...new Set(list.map(pick))].join(sep);
26
+ return [
27
+ first?.producer ?? '',
28
+ first?.alias ?? '',
29
+ join((r) => r.protocol, ', '),
30
+ join((r) => r.status),
31
+ join((r) => String(r.maxConcurrentUsers)),
32
+ join((r) => (r.activeUsers === undefined ? '-' : `${r.activeUsers}/${r.maxConcurrentUsers}`)),
33
+ join((r) => (r.maxConcurrencyPerUser === undefined ? '-' : String(r.maxConcurrencyPerUser))),
34
+ join((r) => (r.dailyTokens === 0 ? '∞' : String(r.dailyTokens))),
35
+ join((r) => r.dailyTokens === 0 ? '∞' : String(Math.max(0, r.dailyTokens - r.usedDailyTokens))),
36
+ ];
37
+ });
38
+ }
11
39
  export function renderCatalog(rows) {
12
40
  if (rows.length === 0)
13
41
  return 'no offerings on this hub yet';
@@ -17,22 +45,10 @@ export function renderCatalog(rows) {
17
45
  'PROTOCOL',
18
46
  'STATUS',
19
47
  'MAX USERS',
48
+ 'IN USE',
20
49
  'PER USER',
21
50
  'DAILY TOKENS',
22
51
  'REMAINING',
23
- ], rows.map((o) => {
24
- const daily = o.dailyTokens === 0 ? '∞' : String(o.dailyTokens);
25
- const remaining = o.dailyTokens === 0 ? '∞' : String(Math.max(0, o.dailyTokens - o.usedDailyTokens));
26
- return [
27
- o.producer,
28
- o.alias,
29
- o.protocol,
30
- o.status,
31
- String(o.maxConcurrentUsers),
32
- o.maxConcurrencyPerUser === undefined ? '-' : String(o.maxConcurrencyPerUser),
33
- daily,
34
- remaining,
35
- ];
36
- }));
52
+ ], mergeByAlias(rows));
37
53
  }
38
54
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,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;AAcD,MAAM,UAAU,aAAa,CAAC,IAAkB;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAA;IAC5D,OAAO,WAAW,CAChB;QACE,UAAU;QACV,OAAO;QACP,UAAU;QACV,QAAQ;QACR,WAAW;QACX,UAAU;QACV,cAAc;QACd,WAAW;KACZ,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;QAC/D,MAAM,SAAS,GACb,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;QACpF,OAAO;YACL,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM;YACR,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAC5B,CAAC,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;YAC7E,KAAK;YACL,SAAS;SACV,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  "version": "0.1.0",
4
4
  "private": true,
5
5
  "type": "module",
6
- "license": "MIT",
6
+ "license": "UNLICENSED",
7
7
  "scripts": {
8
8
  "build": "tsc -b"
9
9
  },
@@ -2,10 +2,19 @@ import type Database from 'better-sqlite3';
2
2
  import type { Logger } from 'pino';
3
3
  import type { AuthContext } from './auth.js';
4
4
  import { type Router } from './http.js';
5
+ import type { AliasSlots, AliasUsers } from './limiter.js';
6
+ import type { LocalProducer } from './local.js';
7
+ import type { Tunnel } from './tunnel.js';
5
8
  export interface AdminDeps {
6
9
  db: Database.Database;
7
10
  auth: AuthContext;
8
11
  log: Logger;
12
+ tunnel: Tunnel;
13
+ local: LocalProducer;
14
+ /** The same live admission state the consumer routes use — the offerings
15
+ * view reports in-flight occupancy from it. */
16
+ slots: AliasSlots;
17
+ users: AliasUsers;
9
18
  }
10
19
  /** Audit and governance: rosters, usage, per-consumer limits. Admission is
11
20
  * invite-only — see invites.ts; every identity therefore carries an invite
@@ -1,6 +1,7 @@
1
1
  import { roleForToken } from '../../../packages/protocol/dist/index.js';
2
2
  import { requireAdmin, requireConsumer, requireProducer } from './auth.js';
3
- import { getConsumerByName, listTokens, queryUsage, setConsumerConfig } from './db.js';
3
+ import { offeringView, serializeOffering } from './consumer.js';
4
+ import { getConsumerByName, listOfferings, listTokens, queryUsage, setConsumerConfig, } from './db.js';
4
5
  import { HttpError, readJson, sendJson } from './http.js';
5
6
  import { parseLimits, safeParseLimits } from './limits.js';
6
7
  /** Audit and governance: rosters, usage, per-consumer limits. Admission is
@@ -12,6 +13,21 @@ export function registerAdminRoutes(router, deps) {
12
13
  requireAdmin(ctx.req, auth);
13
14
  sendJson(ctx.res, 200, listTokens(db));
14
15
  });
16
+ // The registered-offerings view (what `aweshare producer list` renders).
17
+ // Same slice semantics as /admin/v1/usage: admin sees everything, a
18
+ // producer key only its own registrations (consumer keys fail requireAdmin).
19
+ router.add('GET', '/admin/v1/offerings', (ctx) => {
20
+ const token = ctx.req.headers.authorization?.startsWith('Bearer ')
21
+ ? ctx.req.headers.authorization.slice(7).trim()
22
+ : '';
23
+ if (roleForToken(token) === 'producer') {
24
+ const { row } = requireProducer(ctx.req, auth);
25
+ sendJson(ctx.res, 200, offeringsPayload(deps, row.id));
26
+ return;
27
+ }
28
+ requireAdmin(ctx.req, auth);
29
+ sendJson(ctx.res, 200, offeringsPayload(deps));
30
+ });
15
31
  router.add('GET', '/admin/v1/usage', (ctx) => {
16
32
  const token = ctx.req.headers.authorization?.startsWith('Bearer ')
17
33
  ? ctx.req.headers.authorization.slice(7).trim()
@@ -91,4 +107,17 @@ export function registerAdminRoutes(router, deps) {
91
107
  sendJson(ctx.res, 200, { name: consumer.name, overrides: null });
92
108
  });
93
109
  }
110
+ /** Catalog rows plus the producer's own mapping columns (upstream model,
111
+ * backend) — the fields a producer needs to spot a stale registration. */
112
+ function offeringsPayload(deps, producerId) {
113
+ const view = offeringView(deps.tunnel, deps.local, deps.slots, deps.users);
114
+ const offerings = listOfferings(deps.db)
115
+ .filter((o) => producerId === undefined || o.producer_id === producerId)
116
+ .map((o) => ({
117
+ ...serializeOffering(deps.db, view, o),
118
+ upstreamModel: o.upstream_model,
119
+ backendId: o.backend_id,
120
+ }));
121
+ return { object: 'offerings', offerings };
122
+ }
94
123
  //# sourceMappingURL=admin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
- import { ensureDataDir, HUB_CONFIG_TEMPLATE, readAdminToken, resolvePaths } from './config.js';
3
+ import { ensureDataDir, HUB_CONFIG_TEMPLATE, loadHubConfig, readAdminToken, resolvePaths, } from './config.js';
4
4
  import { createHubServer, installConfigReloader } from './server.js';
5
- import { renderConsumers, renderInvites, renderProducers, renderUsage, } from './table.js';
5
+ import { renderConsumers, renderHubStatus, renderInvites, renderProducers, renderUsage, } from './table.js';
6
6
  import { loadOrCreateAdminToken, loadOrCreatePepper } from './tokens.js';
7
7
  const VERSION = JSON.parse(readFileSync(new URL('../../../package.json', import.meta.url), 'utf8')).version;
8
8
  // One-liners only; flags per command live in their own -h, everything else in README.
@@ -17,10 +17,12 @@ Options:
17
17
  Commands:
18
18
  init Create the data dir, pepper, and admin token.
19
19
  serve Run the hub server.
20
+ produce Run the hub serving its own models too (alias namespace hub/...).
20
21
  invite Mint one-time invite codes (producers or consumers).
21
22
  list List invites (--reveal, --token), producers, or consumers.
22
23
  limits Show, set or clear one consumer's limit overrides.
23
24
  usage Recent request usage, newest first (--consumer, --alias).
25
+ status Summarize capacity, offering health and effective limits.
24
26
  revoke Kill an invite: pending stops pairing, redeemed suspends its identity.
25
27
  restore Undo a revoke: pending pairs again, redeemed revives its identity.`;
26
28
  const COMMAND_HELP = {
@@ -38,6 +40,19 @@ Options:
38
40
  edits are picked up within a couple of seconds (or send SIGHUP at once);
39
41
  a broken file keeps the previous values. host/port need a restart.
40
42
 
43
+ Options:
44
+ --host ADDR Address to listen on (default from AWESHARE_HUB_HOST, else 0.0.0.0).
45
+ --port N Port to listen on, 1..65535 (default from AWESHARE_HUB_PORT, else 8787).
46
+ -h, --help Show this message and exit.`,
47
+ produce: `Usage: aweshare hub produce [OPTIONS]
48
+
49
+ Run the hub with its own models attached. Identical to 'serve'; the
50
+ difference is intent: define [[backends]] and [[offerings]] in the data
51
+ dir's config.toml (namespace hub/...), put upstream keys in secrets.json
52
+ next to it, and consumers reach those models as hub/<name> — served by
53
+ this process directly, no producer tunnel. Same flags as serve; catalog
54
+ edits hot-reload like every other config key.
55
+
41
56
  Options:
42
57
  --host ADDR Address to listen on (default from AWESHARE_HUB_HOST, else 0.0.0.0).
43
58
  --port N Port to listen on, 1..65535 (default from AWESHARE_HUB_PORT, else 8787).
@@ -94,6 +109,13 @@ Options:
94
109
  --limit N Rows to show, 1..1000 (default 100).
95
110
  --json Print the raw API response instead of a table.
96
111
  -h, --help Show this message and exit.`,
112
+ status: `Usage: aweshare hub status
113
+
114
+ Summarize producer capacity, consumer identities, offering health and the
115
+ effective hub-wide consumer defaults. No tokens or request contents appear.
116
+
117
+ Options:
118
+ -h, --help Show this message and exit.`,
97
119
  revoke: `Usage: aweshare hub revoke [OPTIONS]
98
120
 
99
121
  Kill an invite: pending stops pairing, redeemed suspends its identity.
@@ -235,7 +257,11 @@ async function main() {
235
257
  console.log('(store it now — this is the only time it is printed)');
236
258
  return;
237
259
  }
238
- case 'serve': {
260
+ case 'serve':
261
+ case 'produce': {
262
+ // same runner — 'produce' just names the intent; the local catalog is
263
+ // config-driven and loads either way
264
+ noPositionals(cmd, positional);
239
265
  const hub = createHubServer({ paths });
240
266
  installConfigReloader(hub);
241
267
  const host = flags.get('host') ?? hub.config.host;
@@ -397,6 +423,21 @@ async function main() {
397
423
  console.log(renderUsage(rows, (id) => names.get(id) ?? `#${id}`));
398
424
  return;
399
425
  }
426
+ case 'status': {
427
+ noPositionals(cmd, positional);
428
+ const api = adminApi();
429
+ const [roster, offerings] = await Promise.all([
430
+ api('GET', '/admin/v1/tokens'),
431
+ api('GET', '/admin/v1/offerings'),
432
+ ]);
433
+ console.log(renderHubStatus({
434
+ ...loadHubConfig(),
435
+ producers: roster.producers,
436
+ consumers: roster.consumers,
437
+ offerings,
438
+ }));
439
+ return;
440
+ }
400
441
  case 'revoke': {
401
442
  noPositionals(cmd, positional);
402
443
  const api = adminApi();
@@ -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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"}
@@ -5,6 +5,8 @@ export interface HubPaths {
5
5
  pepperFile: string;
6
6
  adminTokenFile: string;
7
7
  configFile: string;
8
+ /** Upstream API keys for the hub's own backends (hub produce). */
9
+ secretsFile: string;
8
10
  }
9
11
  export declare function resolvePaths(env?: NodeJS.ProcessEnv): HubPaths;
10
12
  export declare function ensureDataDir(paths: HubPaths): void;
@@ -35,4 +37,4 @@ export declare function loadHubConfig(env?: NodeJS.ProcessEnv, paths?: HubPaths)
35
37
  * Returns the names of keys whose value actually changed. Never throws. */
36
38
  export declare function applyHubConfig(live: HubConfig, fresh: HubConfig): string[];
37
39
  /** Written by `hub init`; every key commented out so an untouched file keeps the defaults. */
38
- 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 limit.\n#maxBodyBytes = 33554432\n#inviteRedeemPerMinute = 10\n\n# Cap on active (non-suspended) producers \u2014 the hub's tenant slots.\n#maxProducers = 10\n";
40
+ 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 limit.\n#maxBodyBytes = 33554432\n#inviteRedeemPerMinute = 10\n\n# Cap on active (non-suspended) producers \u2014 the hub's tenant slots.\n#maxProducers = 10\n\n# The hub can host models itself ('aweshare hub produce'): add [[backends]]\n# and [[offerings]] below (same shape as a producer's config.toml; alias\n# namespace is hub/...). Upstream keys live in secrets.json next to this file.\n# Consumers reach them as hub/<name> like any other offering \u2014 served by the\n# hub process directly, no producer tunnel. Edits hot-reload like the rest.\n\n#[[backends]]\n#id = \"openai\"\n#protocol = \"openai\" # openai | anthropic | responses\n#baseUrl = \"https://api.openai.com/v1\"\n#keyRef = \"openai-key\" # value lives in secrets.json\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 # distinct concurrent consumers (default 3)\n#dailyTokens = 1000000 # shared tokens per UTC day (default 1M; 0 = unlimited)\n";
@@ -10,6 +10,7 @@ export function resolvePaths(env = process.env) {
10
10
  pepperFile: join(dataDir, 'pepper'),
11
11
  adminTokenFile: join(dataDir, 'admin-token'),
12
12
  configFile: join(dataDir, 'config.toml'),
13
+ secretsFile: join(dataDir, 'secrets.json'),
13
14
  };
14
15
  }
15
16
  export function ensureDataDir(paths) {
@@ -69,6 +70,10 @@ const CONFIG_FILE_KEYS = new Set([
69
70
  'inviteRedeemPerMinute',
70
71
  'maxProducers',
71
72
  ]);
73
+ /** Array sections this file also carries, owned by the hub's local producer
74
+ * (same shape as a producer's config; validated by its own loader — see
75
+ * local.ts). The hub's own reader skips them. */
76
+ const CATALOG_SECTIONS = new Set(['backends', 'offerings']);
72
77
  /** Read config.toml from the data dir. Absent file = null; anything wrong with
73
78
  * an existing file fails fast with the key named (typos included). */
74
79
  function readConfigFile(paths) {
@@ -89,6 +94,8 @@ function readConfigFile(paths) {
89
94
  const out = {};
90
95
  const problems = [];
91
96
  for (const [key, value] of Object.entries(parsed)) {
97
+ if (CATALOG_SECTIONS.has(key))
98
+ continue; // the local producer's half of the file
92
99
  if (!CONFIG_FILE_KEYS.has(key)) {
93
100
  problems.push(`unknown key '${key}'`);
94
101
  }
@@ -176,5 +183,25 @@ export const HUB_CONFIG_TEMPLATE = `# aweshare hub configuration (~/.aweshare-hu
176
183
 
177
184
  # Cap on active (non-suspended) producers — the hub's tenant slots.
178
185
  #maxProducers = 10
186
+
187
+ # The hub can host models itself ('aweshare hub produce'): add [[backends]]
188
+ # and [[offerings]] below (same shape as a producer's config.toml; alias
189
+ # namespace is hub/...). Upstream keys live in secrets.json next to this file.
190
+ # Consumers reach them as hub/<name> like any other offering — served by the
191
+ # hub process directly, no producer tunnel. Edits hot-reload like the rest.
192
+
193
+ #[[backends]]
194
+ #id = "openai"
195
+ #protocol = "openai" # openai | anthropic | responses
196
+ #baseUrl = "https://api.openai.com/v1"
197
+ #keyRef = "openai-key" # value lives in secrets.json
198
+
199
+ #[[offerings]]
200
+ #alias = "hub/gpt-4o" # bare names are auto-prefixed with hub/
201
+ #backend = "openai"
202
+ #upstreamModel = "gpt-4o-2024-11-20"
203
+ #maxConcurrencyPerUser = 4
204
+ #maxConcurrentUsers = 3 # distinct concurrent consumers (default 3)
205
+ #dailyTokens = 1000000 # shared tokens per UTC day (default 1M; 0 = unlimited)
179
206
  `;
180
207
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,51 @@
1
+ import { type Protocol } from 'aweshare-protocol';
1
2
  import type Database from 'better-sqlite3';
2
3
  import type { Logger } from 'pino';
3
4
  import type { AuthContext } from './auth.js';
4
5
  import type { HubConfig } from './config.js';
6
+ import { type OfferingRow } from './db.js';
5
7
  import { type Router } from './http.js';
6
8
  import type { AliasSlots, AliasUsers, ConsumerLimiter, TokenWindow } from './limiter.js';
9
+ import type { LocalProducer } from './local.js';
7
10
  import type { Tunnel } from './tunnel.js';
8
11
  /** Hub defaults when the producer's register message omits the per-offering caps. */
9
12
  export declare const DEFAULT_MAX_CONCURRENT_USERS = 3;
10
13
  export declare const DEFAULT_DAILY_TOKENS = 1000000;
14
+ export type OfferingStatus = 'online' | 'degraded' | 'offline';
15
+ /** Status of any offering row, whichever side serves it: hub-local rows read
16
+ * the in-process producer, tunnel rows the producer session. */
17
+ export declare function offeringStatusOf(tunnel: Pick<Tunnel, 'offeringStatus'>, local: Pick<LocalProducer, 'offeringStatus'>, o: OfferingRow): OfferingStatus;
18
+ /** The live per-alias facts the discovery views add to each DB row: backend
19
+ * health plus in-flight occupancy (a snapshot at read time, not a reservation). */
20
+ export interface OfferingView {
21
+ statusOf(o: OfferingRow): OfferingStatus;
22
+ activeUsersOf(alias: string): number;
23
+ activeRequestsOf(alias: string): number;
24
+ }
25
+ export declare function offeringView(tunnel: Pick<Tunnel, 'offeringStatus'>, local: Pick<LocalProducer, 'offeringStatus'>, slots: Pick<AliasSlots, 'countRequests'>, users: Pick<AliasUsers, 'countUsers'>): OfferingView;
26
+ /** One offering as the discovery views present it: caps with hub defaults
27
+ * applied, live tunnel status, in-flight occupancy and today's used tokens —
28
+ * the row shape of /v1/catalog and the admin/producer offerings view alike. */
29
+ export declare function serializeOffering(db: Database.Database, view: OfferingView, o: OfferingRow & {
30
+ producer: string;
31
+ }): {
32
+ producer: string;
33
+ alias: string;
34
+ protocol: Protocol;
35
+ status: OfferingStatus;
36
+ maxConcurrencyPerUser: number;
37
+ maxConcurrentUsers: number;
38
+ activeUsers: number;
39
+ activeRequests: number;
40
+ dailyTokens: number;
41
+ usedDailyTokens: number;
42
+ };
11
43
  export interface ConsumerDeps {
12
44
  db: Database.Database;
13
45
  auth: AuthContext;
14
46
  config: HubConfig;
15
47
  tunnel: Tunnel;
48
+ local: LocalProducer;
16
49
  limiter: ConsumerLimiter;
17
50
  tpm: TokenWindow;
18
51
  slots: AliasSlots;