aweshare 0.7.3 → 0.7.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.
- package/README.ai.md +1 -1
- package/README.md +43 -13
- package/apps/agent/dist/cli.js +17 -10
- package/apps/agent/dist/cli.js.map +1 -1
- package/apps/agent/dist/hub.d.ts +2 -0
- package/apps/agent/dist/hub.js +2 -0
- package/apps/agent/dist/hub.js.map +1 -1
- package/apps/agent/dist/table.d.ts +2 -2
- package/apps/agent/dist/table.js +48 -14
- package/apps/agent/dist/table.js.map +1 -1
- package/apps/hub/dist/admin.js +26 -18
- package/apps/hub/dist/admin.js.map +1 -1
- package/apps/hub/dist/auth.js +0 -12
- package/apps/hub/dist/auth.js.map +1 -1
- package/apps/hub/dist/backups.d.ts +43 -0
- package/apps/hub/dist/backups.js +122 -0
- package/apps/hub/dist/backups.js.map +1 -0
- package/apps/hub/dist/cli.js +371 -131
- package/apps/hub/dist/cli.js.map +1 -1
- package/apps/hub/dist/config.d.ts +2 -0
- package/apps/hub/dist/config.js +1 -0
- package/apps/hub/dist/config.js.map +1 -1
- package/apps/hub/dist/consumer.d.ts +3 -0
- package/apps/hub/dist/consumer.js +169 -54
- package/apps/hub/dist/consumer.js.map +1 -1
- package/apps/hub/dist/db.d.ts +9 -10
- package/apps/hub/dist/db.js +20 -22
- package/apps/hub/dist/db.js.map +1 -1
- package/apps/hub/dist/http.d.ts +7 -1
- package/apps/hub/dist/http.js +6 -1
- package/apps/hub/dist/http.js.map +1 -1
- package/apps/hub/dist/invites.js +9 -2
- package/apps/hub/dist/invites.js.map +1 -1
- package/apps/hub/dist/server.d.ts +7 -3
- package/apps/hub/dist/server.js +23 -8
- package/apps/hub/dist/server.js.map +1 -1
- package/apps/hub/dist/table.d.ts +3 -4
- package/apps/hub/dist/table.js +52 -20
- package/apps/hub/dist/table.js.map +1 -1
- package/apps/hub/dist/tunnel.d.ts +0 -2
- package/apps/hub/dist/tunnel.js +2 -16
- package/apps/hub/dist/tunnel.js.map +1 -1
- package/package.json +3 -2
- package/packages/producer-core/dist/catalog.js +9 -1
- package/packages/producer-core/dist/catalog.js.map +1 -1
- package/packages/producer-core/dist/job.js +1 -1
- package/packages/producer-core/dist/job.js.map +1 -1
- package/packages/protocol/dist/models.js +6 -1
- package/packages/protocol/dist/models.js.map +1 -1
- package/packages/protocol/dist/schedule.d.ts +8 -3
- package/packages/protocol/dist/schedule.js +124 -11
- package/packages/protocol/dist/schedule.js.map +1 -1
package/apps/hub/dist/admin.js
CHANGED
|
@@ -29,6 +29,25 @@ export function registerAdminRoutes(router, deps) {
|
|
|
29
29
|
throw new HttpError(404, 'ALIAS_NOT_FOUND', `unknown producer: ${name}`);
|
|
30
30
|
return producer.id;
|
|
31
31
|
};
|
|
32
|
+
/** ?since=30m/12h/7d/all → the WHERE cutoff (undefined = all time); both
|
|
33
|
+
* usage endpoints share it, and omitting it means all time. */
|
|
34
|
+
const sinceFromQuery = (query) => {
|
|
35
|
+
const raw = query.get('since');
|
|
36
|
+
if (raw === null || raw === 'all')
|
|
37
|
+
return undefined;
|
|
38
|
+
const m = /^(\d+)([smhd])$/.exec(raw);
|
|
39
|
+
if (!m) {
|
|
40
|
+
throw new HttpError(400, 'INVALID_SINCE', 'since must look like 30m, 12h, 7d or all');
|
|
41
|
+
}
|
|
42
|
+
const unit = { s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000 }[m[2]];
|
|
43
|
+
// a huge magnitude overflows Date's ±8.64e15 ms range; toISOString()
|
|
44
|
+
// would throw RangeError and surface as a 500 — reject as input instead
|
|
45
|
+
const date = new Date(Date.now() - Number(m[1]) * unit);
|
|
46
|
+
if (Number.isNaN(date.getTime())) {
|
|
47
|
+
throw new HttpError(400, 'INVALID_SINCE', 'since magnitude is out of range');
|
|
48
|
+
}
|
|
49
|
+
return date.toISOString();
|
|
50
|
+
};
|
|
32
51
|
/** ?alias=ns/model for the block/restore endpoints — required, and it must
|
|
33
52
|
* name a registered offering (0 protocol rows = unknown alias). */
|
|
34
53
|
const offeringAliasFromQuery = (query) => {
|
|
@@ -181,6 +200,7 @@ export function registerAdminRoutes(router, deps) {
|
|
|
181
200
|
alias: ctx.query.get('alias') ?? undefined,
|
|
182
201
|
consumerId: consumerIdFromQuery(ctx.query),
|
|
183
202
|
producerId: producerIdFromQuery(ctx.query),
|
|
203
|
+
since: sinceFromQuery(ctx.query),
|
|
184
204
|
limit,
|
|
185
205
|
}));
|
|
186
206
|
return;
|
|
@@ -191,6 +211,7 @@ export function registerAdminRoutes(router, deps) {
|
|
|
191
211
|
producerId: row.id,
|
|
192
212
|
alias: ctx.query.get('alias') ?? undefined,
|
|
193
213
|
consumerId: consumerIdFromQuery(ctx.query),
|
|
214
|
+
since: sinceFromQuery(ctx.query),
|
|
194
215
|
limit,
|
|
195
216
|
}));
|
|
196
217
|
return;
|
|
@@ -200,14 +221,16 @@ export function registerAdminRoutes(router, deps) {
|
|
|
200
221
|
sendJson(ctx.res, 200, queryUsage(db, {
|
|
201
222
|
consumerId: consumerRow.id,
|
|
202
223
|
alias: ctx.query.get('alias') ?? undefined,
|
|
224
|
+
since: sinceFromQuery(ctx.query),
|
|
203
225
|
limit,
|
|
204
226
|
}));
|
|
205
227
|
});
|
|
206
228
|
// Consumption aggregated on the hub's SQLite: one row per consumer × alias
|
|
207
229
|
// (group=consumer-alias, the default), per producer × consumer
|
|
208
230
|
// (group=consumer) or per alias (group=alias). `since` bounds the window
|
|
209
|
-
// (30m, 12h, 7d, … or `all`); omitting it defaults to
|
|
210
|
-
//
|
|
231
|
+
// (30m, 12h, 7d, … or `all`); omitting it defaults to `all` — a lifetime
|
|
232
|
+
// total is what a bare call is after, and the window is always printed
|
|
233
|
+
// with the table so it never reads silently. `sort` orders the rows —
|
|
211
234
|
// time (most recently used first, the default), consumer, producer, model,
|
|
212
235
|
// tokens or requests (busiest first).
|
|
213
236
|
router.add('GET', '/admin/v1/usage/summary', (ctx) => {
|
|
@@ -223,22 +246,7 @@ export function registerAdminRoutes(router, deps) {
|
|
|
223
246
|
throw new HttpError(400, 'INVALID_SORT', "sort must be 'time' (default), 'consumer', 'producer', 'model', 'tokens' or 'requests'");
|
|
224
247
|
}
|
|
225
248
|
const sort = sortRaw;
|
|
226
|
-
const
|
|
227
|
-
let since;
|
|
228
|
-
if (sinceRaw !== 'all') {
|
|
229
|
-
const m = /^(\d+)([smhd])$/.exec(sinceRaw);
|
|
230
|
-
if (!m) {
|
|
231
|
-
throw new HttpError(400, 'INVALID_SINCE', 'since must look like 30m, 12h, 7d or all');
|
|
232
|
-
}
|
|
233
|
-
const unit = { s: 1000, m: 60_000, h: 3_600_000, d: 86_400_000 }[m[2]];
|
|
234
|
-
// a huge magnitude overflows Date's ±8.64e15 ms range; toISOString()
|
|
235
|
-
// would throw RangeError and surface as a 500 — reject as input instead
|
|
236
|
-
const date = new Date(Date.now() - Number(m[1]) * unit);
|
|
237
|
-
if (Number.isNaN(date.getTime())) {
|
|
238
|
-
throw new HttpError(400, 'INVALID_SINCE', 'since magnitude is out of range');
|
|
239
|
-
}
|
|
240
|
-
since = date.toISOString();
|
|
241
|
-
}
|
|
249
|
+
const since = sinceFromQuery(ctx.query);
|
|
242
250
|
if (role === 'admin') {
|
|
243
251
|
requireAdmin(ctx.req, auth);
|
|
244
252
|
sendJson(ctx.res, 200, summarizeUsage(db, {
|
|
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EACL,oBAAoB,EAEpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,sBAAsB,GAEvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAe,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzF,OAAO,EAAuB,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmB/E;;qCAEqC;AACrC,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAe;IACjE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IAEzB;4DACwD;IACxD,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAsB,EAAE;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACnC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAA;QACvF,OAAO,QAAQ,CAAC,EAAE,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAsB,EAAE;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACnC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAA;QACvF,OAAO,QAAQ,CAAC,EAAE,CAAA;IACpB,CAAC,CAAA;IAED;mEAC+D;IAC/D,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAsB,EAAE;QACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,SAAS,CAAA;QACnD,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,0CAA0C,CAAC,CAAA;QACvF,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAA0B,CAAC,CAAA;QAC/F,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QACvD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC,CAAA;IAED;uEACmE;IACnE,MAAM,sBAAsB,GAAG,CAAC,KAAsB,EAAU,EAAE;QAChE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,8CAA8C,CAAC,CAAA;QAC5F,CAAC;QACD,IAAI,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,2BAA2B,KAAK,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;QAC/C,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,uBAAuB;QACvB,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,GAAG,CAAC;YACJ,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS;SACvF,CAAC,CAAC,CAAA;QACH,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,oEAAoE;IACpE,6EAA6E;IAC7E,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC/C,2EAA2E;QAC3E,qEAAqE;QACrE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC9C,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;YAClE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,oEAAoE;IACpE,yEAAyE;IACzE,sEAAsE;IACtE,yEAAyE;IACzE,oDAAoD;IACpD,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,CAAC,GAAG,EAAE,EAAE;QACtD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,6BAA6B,CAAC,CAAA;QAC7D,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,EAAE,CAAC,GAAG,EAAE,EAAE;QACxD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,8BAA8B,CAAC,CAAA;QAC9D,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAC5E,mEAAmE;IACnE,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,EAAE,CAAC,GAAG,EAAE,EAAE;QACxD,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,UAAU,CAAA;QACpF,IAAI,KAAa,CAAA;QACjB,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3B,KAAK,GAAG,iBAAiB,CAAA;QAC3B,CAAC;QACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,2BAA2B,KAAK,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,iBAAiB,EACjB,cAAc;gBACZ,CAAC,CAAC,SAAS,KAAK,0EAA0E;gBAC1F,CAAC,CAAC,SAAS,KAAK,8HAA8H,KAAK,UAAU,CAChK,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAA;QACtC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,cAAc,EACd,SAAS,KAAK,yEAAyE,CACxF,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM,CAAA;QAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,KAAK,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gBAAgB,EAAE,+CAA+C,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,GAAuB,CAAA;QAC3B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;YACpB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,wCAAwC,MAAM,GAAG,CAAC,CAAA;YAC9F,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QACjE,kEAAkE;QAClE,mDAAmD;QACnD,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,oBAAoB,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QACpE,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAA;QACvE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;YACrB,KAAK;YACL,KAAK,EAAE,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK;YAClC,KAAK,EAAE,GAAG,IAAI,IAAI;YAClB,UAAU,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI;YACtC,SAAS;YACT,KAAK,EAAE;gBACL,GAAG;gBACH,IAAI;gBACJ,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;gBAClC,QAAQ,EAAE,mBAAmB,EAAE;aAChC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,0EAA0E;IAC1E,4EAA4E;IAC5E,gEAAgE;IAChE,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE;QAChD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YAC1D,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAA;QAC1F,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3B,QAAQ,CACN,GAAG,CAAC,GAAG,EACP,GAAG,EACH,UAAU,CAAC,EAAE,EAAE;gBACb,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;gBAC1C,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC1C,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC1C,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;gBAChC,KAAK;aACN,CAAC,CACH,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC9C,QAAQ,CACN,GAAG,CAAC,GAAG,EACP,GAAG,EACH,UAAU,CAAC,EAAE,EAAE;gBACb,UAAU,EAAE,GAAG,CAAC,EAAE;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;gBAC1C,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC1C,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;gBAChC,KAAK;aACN,CAAC,CACH,CAAA;YACD,OAAM;QACR,CAAC;QACD,sEAAsE;QACtE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3D,QAAQ,CACN,GAAG,CAAC,GAAG,EACP,GAAG,EACH,UAAU,CAAC,EAAE,EAAE;YACb,UAAU,EAAE,WAAW,CAAC,EAAE;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;YAC1C,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,KAAK;SACN,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,2EAA2E;IAC3E,+DAA+D;IAC/D,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,sEAAsE;IACtE,2EAA2E;IAC3E,sCAAsC;IACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,CAAC,GAAG,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAA;QACxD,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5E,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,eAAe,EACf,uDAAuD,CACxD,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;QACtF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAoB,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,cAAc,EACd,wFAAwF,CACzF,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,OAAoB,CAAA;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3B,QAAQ,CACN,GAAG,CAAC,GAAG,EACP,GAAG,EACH,cAAc,CAAC,EAAE,EAAE;gBACjB,KAAK;gBACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;gBAC1C,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC1C,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC1C,KAAK;gBACL,IAAI;aACL,CAAC,CACH,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC9C,QAAQ,CACN,GAAG,CAAC,GAAG,EACP,GAAG,EACH,cAAc,CAAC,EAAE,EAAE;gBACjB,KAAK;gBACL,UAAU,EAAE,GAAG,CAAC,EAAE;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;gBAC1C,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC1C,KAAK;gBACL,IAAI;aACL,CAAC,CACH,CAAA;YACD,OAAM;QACR,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3D,QAAQ,CACN,GAAG,CAAC,GAAG,EACP,GAAG,EACH,cAAc,CAAC,EAAE,EAAE;YACjB,KAAK;YACL,UAAU,EAAE,WAAW,CAAC,EAAE;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS;YAC1C,KAAK;YACL,IAAI;SACL,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,+EAA+E;IAC/E,wEAAwE;IACxE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,kCAAkC,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5D,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAc,CAAC,CAAA;QACjE,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACrF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC5C,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAClE,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAc,CAAC,CAAA;QACjE,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACrF,IAAI,QAAwB,CAAA;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAA;QACnE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAA;QACrF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,kCAAkC,EAAE,CAAC,GAAG,EAAE,EAAE;QAC/D,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,IAAc,CAAC,CAAA;QACjE,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,EAAE,qBAAqB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACrF,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAA;QACrE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;0EAC0E;AAC1E,SAAS,gBAAgB,CAAC,IAAe,EAAE,UAAmB;IAC5D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC;SACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,aAAa,EAAE,CAAC,CAAC,cAAc;QAC/B,SAAS,EAAE,CAAC,CAAC,UAAU;KACxB,CAAC,CAAC,CAAA;IACL,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;AAC3C,CAAC"}
|
package/apps/hub/dist/auth.js
CHANGED
|
@@ -17,8 +17,6 @@ export function requireProducer(req, auth) {
|
|
|
17
17
|
if (row.revoked_at) {
|
|
18
18
|
throw new HttpError(401, 'TOKEN_REVOKED', 'producer token was suspended by the operator — ask them to restore it (aweshare hub admin invite restore N)');
|
|
19
19
|
}
|
|
20
|
-
if (isExpired(row.expires_at))
|
|
21
|
-
throw expiredError('producer token');
|
|
22
20
|
return { row, token };
|
|
23
21
|
}
|
|
24
22
|
export function requireConsumer(req, auth) {
|
|
@@ -31,16 +29,6 @@ export function requireConsumer(req, auth) {
|
|
|
31
29
|
if (row.revoked_at) {
|
|
32
30
|
throw new HttpError(401, 'TOKEN_REVOKED', 'consumer key was suspended by the operator — ask them to restore it (admin API)');
|
|
33
31
|
}
|
|
34
|
-
if (isExpired(row.expires_at))
|
|
35
|
-
throw expiredError('consumer key');
|
|
36
32
|
return { row, token };
|
|
37
33
|
}
|
|
38
|
-
/** Identity expiry is copied from the minting invite at redeem (v12+); NULL
|
|
39
|
-
* never expires. Compared as ISO strings, like every other timestamp gate. */
|
|
40
|
-
function isExpired(expiresAt) {
|
|
41
|
-
return expiresAt !== null && expiresAt <= new Date().toISOString();
|
|
42
|
-
}
|
|
43
|
-
function expiredError(what) {
|
|
44
|
-
return new HttpError(401, 'TOKEN_EXPIRED', `${what} has expired — the invite that minted it reached its expiry; ask the operator for a new one`);
|
|
45
|
-
}
|
|
46
34
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,kBAAkB,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAA;AACpG,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQlD,MAAM,UAAU,YAAY,CAAC,GAAoB,EAAE,IAAiB;IAClE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAoB,EACpB,IAAiB;IAEjB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAA;IAC9E,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAAA;IAC3E,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,eAAe,EACf,6GAA6G,CAC9G,CAAA;IACH,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,kBAAkB,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAA;AACpG,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQlD,MAAM,UAAU,YAAY,CAAC,GAAoB,EAAE,IAAiB;IAClE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAoB,EACpB,IAAiB;IAEjB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAA;IAC9E,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,CAAC,CAAA;IAC3E,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,eAAe,EACf,6GAA6G,CAC9G,CAAA;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,GAAoB,EACpB,IAAiB;IAEjB,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAA;IAC5E,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAA;IACzE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CACjB,GAAG,EACH,eAAe,EACf,iFAAiF,CAClF,CAAA;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-alias failover queues (config.backups.toml): the operator's ordered
|
|
3
|
+
* "try next" list for each alias. When an alias cannot serve — offline
|
|
4
|
+
* producer, spent daily budget, degraded backend, blocked, closed share
|
|
5
|
+
* window, busy — the hub retries the queue in order before giving up.
|
|
6
|
+
*
|
|
7
|
+
* The queue is exactly what was written: no implicit hops, a backup's own
|
|
8
|
+
* queue is never expanded, each entry is tried at most once per request.
|
|
9
|
+
* Entries may name aliases that do not (yet) exist — producers register and
|
|
10
|
+
* leave dynamically — so unresolvable entries are skipped per request, not
|
|
11
|
+
* rejected at load time.
|
|
12
|
+
*/
|
|
13
|
+
export type BackupMap = ReadonlyMap<string, readonly string[]>;
|
|
14
|
+
/** Parse and validate the file's text: alias -> non-empty ordered list of
|
|
15
|
+
* distinct alias strings, none of them the key itself. Throws naming every
|
|
16
|
+
* problem, so the reload path can keep the previous map and the CLI can fail
|
|
17
|
+
* loudly. */
|
|
18
|
+
export declare function parseBackups(raw: string): Map<string, string[]>;
|
|
19
|
+
/** Serialize queues back to the file's text: header first, then one
|
|
20
|
+
* `alias = [backups]` line per key in map order. */
|
|
21
|
+
export declare function serializeBackups(queues: BackupMap): string;
|
|
22
|
+
/** Read and parse the file; a missing file means no backups are configured.
|
|
23
|
+
* Throws on an invalid one (the caller decides: startup fails fast, reload
|
|
24
|
+
* keeps the previous values). */
|
|
25
|
+
export declare function readBackupsFile(backupsFile: string | undefined): Map<string, string[]>;
|
|
26
|
+
/** The live per-alias queues: loaded once at startup, reloaded on SIGHUP and
|
|
27
|
+
* on the config watcher's stat-poll — same cadence and keep-previous-on-error
|
|
28
|
+
* rules as config.toml. */
|
|
29
|
+
export declare class Backups {
|
|
30
|
+
private readonly backupsFile;
|
|
31
|
+
private queues;
|
|
32
|
+
constructor(backupsFile: string | undefined);
|
|
33
|
+
/** Re-read the file; throws on an invalid one so the caller (the config
|
|
34
|
+
* reloader) keeps the previous values. A file deleted at runtime empties
|
|
35
|
+
* the queues — the file is the single source of truth. */
|
|
36
|
+
reload(): void;
|
|
37
|
+
/** Ordered queue for one alias; empty when none is configured. */
|
|
38
|
+
queueFor(alias: string): readonly string[];
|
|
39
|
+
/** Every configured queue, file order. */
|
|
40
|
+
all(): BackupMap;
|
|
41
|
+
}
|
|
42
|
+
/** CLI write path: replace the file's contents wholesale with `queues`. */
|
|
43
|
+
export declare function writeBackupsFile(backupsFile: string, queues: BackupMap): void;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { isValidAlias } from '../../../packages/protocol/dist/index.js';
|
|
3
|
+
import { parse as parseToml, stringify as stringifyToml } from 'smol-toml';
|
|
4
|
+
const EMPTY = [];
|
|
5
|
+
/** File header every rewrite of config.backups.toml carries; the CLI owns
|
|
6
|
+
* this file's shape, so regenerating it wholesale loses nothing. */
|
|
7
|
+
const FILE_HEADER = `# aweshare hub per-alias failover queues (config.backups.toml).
|
|
8
|
+
# key = alias, value = ordered backup aliases, tried in order when the alias
|
|
9
|
+
# cannot serve (producer offline, daily budget spent, degraded backend,
|
|
10
|
+
# blocked, share window closed, busy). Entries that resolve to nothing are
|
|
11
|
+
# skipped. Edits hot-reload within ~2s, like config.toml.
|
|
12
|
+
# Managed by: aweshare hub backups
|
|
13
|
+
|
|
14
|
+
`;
|
|
15
|
+
/** Parse and validate the file's text: alias -> non-empty ordered list of
|
|
16
|
+
* distinct alias strings, none of them the key itself. Throws naming every
|
|
17
|
+
* problem, so the reload path can keep the previous map and the CLI can fail
|
|
18
|
+
* loudly. */
|
|
19
|
+
export function parseBackups(raw) {
|
|
20
|
+
let parsed;
|
|
21
|
+
try {
|
|
22
|
+
parsed = parseToml(raw);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
throw new Error(`config.backups.toml is not valid TOML: ${err instanceof Error ? err.message : err}`);
|
|
26
|
+
}
|
|
27
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
28
|
+
throw new Error('config.backups.toml must be a table of alias = [backup aliases]');
|
|
29
|
+
}
|
|
30
|
+
const out = new Map();
|
|
31
|
+
const problems = [];
|
|
32
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
33
|
+
if (!isValidAlias(key)) {
|
|
34
|
+
problems.push(`'${key}' is not an alias (namespace/name, lowercase)`);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
38
|
+
problems.push(`'${key}' must list at least one backup alias (delete the key for none)`);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const queue = [];
|
|
42
|
+
for (const entry of value) {
|
|
43
|
+
if (typeof entry !== 'string' || !isValidAlias(entry)) {
|
|
44
|
+
problems.push(`'${key}' lists a non-alias: ${JSON.stringify(entry ?? null)}`);
|
|
45
|
+
}
|
|
46
|
+
else if (entry === key) {
|
|
47
|
+
problems.push(`'${key}' lists itself as its own backup`);
|
|
48
|
+
}
|
|
49
|
+
else if (queue.includes(entry)) {
|
|
50
|
+
problems.push(`'${key}' repeats '${entry}'`);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
queue.push(entry);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (queue.length > 0)
|
|
57
|
+
out.set(key, queue);
|
|
58
|
+
}
|
|
59
|
+
if (problems.length > 0) {
|
|
60
|
+
throw new Error(`config.backups.toml has problems:\n - ${problems.join('\n - ')}`);
|
|
61
|
+
}
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
/** Serialize queues back to the file's text: header first, then one
|
|
65
|
+
* `alias = [backups]` line per key in map order. */
|
|
66
|
+
export function serializeBackups(queues) {
|
|
67
|
+
if (queues.size === 0)
|
|
68
|
+
return FILE_HEADER;
|
|
69
|
+
const obj = {};
|
|
70
|
+
for (const [key, queue] of queues)
|
|
71
|
+
obj[key] = [...queue];
|
|
72
|
+
return `${FILE_HEADER}${stringifyToml(obj)}`;
|
|
73
|
+
}
|
|
74
|
+
/** Read and parse the file; a missing file means no backups are configured.
|
|
75
|
+
* Throws on an invalid one (the caller decides: startup fails fast, reload
|
|
76
|
+
* keeps the previous values). */
|
|
77
|
+
export function readBackupsFile(backupsFile) {
|
|
78
|
+
if (typeof backupsFile !== 'string')
|
|
79
|
+
return new Map();
|
|
80
|
+
let raw;
|
|
81
|
+
try {
|
|
82
|
+
raw = readFileSync(backupsFile, 'utf8');
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return new Map();
|
|
86
|
+
}
|
|
87
|
+
return parseBackups(raw);
|
|
88
|
+
}
|
|
89
|
+
/** The live per-alias queues: loaded once at startup, reloaded on SIGHUP and
|
|
90
|
+
* on the config watcher's stat-poll — same cadence and keep-previous-on-error
|
|
91
|
+
* rules as config.toml. */
|
|
92
|
+
export class Backups {
|
|
93
|
+
backupsFile;
|
|
94
|
+
queues = new Map();
|
|
95
|
+
constructor(backupsFile) {
|
|
96
|
+
this.backupsFile = backupsFile;
|
|
97
|
+
// startup fails fast on an invalid file (same as config.toml and the
|
|
98
|
+
// produce catalog — serve must not come up half-configured); a missing
|
|
99
|
+
// file is the ordinary empty state. The reload path catches instead and
|
|
100
|
+
// keeps the previous values.
|
|
101
|
+
this.queues = readBackupsFile(backupsFile);
|
|
102
|
+
}
|
|
103
|
+
/** Re-read the file; throws on an invalid one so the caller (the config
|
|
104
|
+
* reloader) keeps the previous values. A file deleted at runtime empties
|
|
105
|
+
* the queues — the file is the single source of truth. */
|
|
106
|
+
reload() {
|
|
107
|
+
this.queues = readBackupsFile(this.backupsFile);
|
|
108
|
+
}
|
|
109
|
+
/** Ordered queue for one alias; empty when none is configured. */
|
|
110
|
+
queueFor(alias) {
|
|
111
|
+
return this.queues.get(alias) ?? EMPTY;
|
|
112
|
+
}
|
|
113
|
+
/** Every configured queue, file order. */
|
|
114
|
+
all() {
|
|
115
|
+
return this.queues;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** CLI write path: replace the file's contents wholesale with `queues`. */
|
|
119
|
+
export function writeBackupsFile(backupsFile, queues) {
|
|
120
|
+
writeFileSync(backupsFile, serializeBackups(queues), { mode: 0o600 });
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=backups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backups.js","sourceRoot":"","sources":["../src/backups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAA;AAgB1E,MAAM,KAAK,GAAsB,EAAE,CAAA;AAEnC;oEACoE;AACpE,MAAM,WAAW,GAAG;;;;;;;CAOnB,CAAA;AAED;;;aAGa;AACb,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0CAA0C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACrF,CAAA;IACH,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAA;IACvC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,+CAA+C,CAAC,CAAA;YACrE,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,iEAAiE,CAAC,CAAA;YACvF,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,wBAAwB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,CAAA;YAC/E,CAAC;iBAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC,CAAA;YAC1D,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,KAAK,GAAG,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;oDACoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,WAAW,CAAA;IACzC,MAAM,GAAG,GAA6B,EAAE,CAAA;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACxD,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;AAC9C,CAAC;AAED;;iCAEiC;AACjC,MAAM,UAAU,eAAe,CAAC,WAA+B;IAC7D,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,GAAG,EAAE,CAAA;IACrD,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC;AAED;;2BAE2B;AAC3B,MAAM,OAAO,OAAO;IAGW;IAFrB,MAAM,GAAc,IAAI,GAAG,EAAE,CAAA;IAErC,YAA6B,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;QAC1D,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,6BAA6B;QAC7B,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED;;8DAE0D;IAC1D,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC;IAED,kEAAkE;IAClE,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;IACxC,CAAC;IAED,0CAA0C;IAC1C,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,MAAiB;IACrE,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACvE,CAAC"}
|