tinbase 0.8.1 → 0.10.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.
Files changed (66) hide show
  1. package/assets/logo.svg +9 -13
  2. package/dist/admin/ui.d.ts +1 -1
  3. package/dist/admin/ui.js +1 -1
  4. package/dist/auth/handler.d.ts +25 -0
  5. package/dist/auth/handler.js +127 -8
  6. package/dist/auth/handler.js.map +1 -1
  7. package/dist/auth/oauth.d.ts +1 -0
  8. package/dist/auth/oauth.js +28 -9
  9. package/dist/auth/oauth.js.map +1 -1
  10. package/dist/cli.js +23 -9
  11. package/dist/cli.js.map +1 -1
  12. package/dist/cron/service.js +2 -1
  13. package/dist/cron/service.js.map +1 -1
  14. package/dist/db/bootstrap.d.ts +2 -2
  15. package/dist/db/bootstrap.js +19 -0
  16. package/dist/db/bootstrap.js.map +1 -1
  17. package/dist/db/database.d.ts +3 -1
  18. package/dist/db/database.js +6 -1
  19. package/dist/db/database.js.map +1 -1
  20. package/dist/db/emulated.d.ts +3 -3
  21. package/dist/db/emulated.js +46 -13
  22. package/dist/db/emulated.js.map +1 -1
  23. package/dist/functions/deno-shim.d.ts +3 -2
  24. package/dist/functions/deno-shim.js +12 -4
  25. package/dist/functions/deno-shim.js.map +1 -1
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.js +32 -6
  28. package/dist/index.js.map +1 -1
  29. package/dist/jwt.js +5 -0
  30. package/dist/jwt.js.map +1 -1
  31. package/dist/net/service.d.ts +9 -0
  32. package/dist/net/service.js +97 -10
  33. package/dist/net/service.js.map +1 -1
  34. package/dist/node/native/database-url.d.ts +25 -0
  35. package/dist/node/native/database-url.js +38 -0
  36. package/dist/node/native/database-url.js.map +1 -0
  37. package/dist/node/native/engine.js +5 -78
  38. package/dist/node/native/engine.js.map +1 -1
  39. package/dist/node/native/wire-engine.d.ts +16 -0
  40. package/dist/node/native/wire-engine.js +83 -0
  41. package/dist/node/native/wire-engine.js.map +1 -0
  42. package/dist/node/native/wire.d.ts +10 -7
  43. package/dist/node/native/wire.js +98 -5
  44. package/dist/node/native/wire.js.map +1 -1
  45. package/dist/node/ws.d.ts +9 -0
  46. package/dist/node/ws.js +8 -2
  47. package/dist/node/ws.js.map +1 -1
  48. package/dist/realtime/engine.js +19 -1
  49. package/dist/realtime/engine.js.map +1 -1
  50. package/dist/rest/build.d.ts +7 -0
  51. package/dist/rest/build.js +51 -5
  52. package/dist/rest/build.js.map +1 -1
  53. package/dist/rest/handler.js +77 -5
  54. package/dist/rest/handler.js.map +1 -1
  55. package/dist/rest/parse.d.ts +2 -0
  56. package/dist/rest/parse.js +22 -1
  57. package/dist/rest/parse.js.map +1 -1
  58. package/dist/retention/service.d.ts +37 -0
  59. package/dist/retention/service.js +66 -0
  60. package/dist/retention/service.js.map +1 -0
  61. package/dist/storage/handler.d.ts +10 -0
  62. package/dist/storage/handler.js +230 -28
  63. package/dist/storage/handler.js.map +1 -1
  64. package/dist/types.d.ts +21 -0
  65. package/dist/types.js.map +1 -1
  66. package/package.json +1 -1
@@ -21,6 +21,45 @@ function parsePrefer(header) {
21
21
  return prefer;
22
22
  }
23
23
  const OBJECT_MEDIA = 'application/vnd.pgrst.object+json';
24
+ const CSV_MEDIA = 'text/csv';
25
+ const PLAN_MEDIA = 'application/vnd.pgrst.plan';
26
+ /** Parse an `.explain()` Accept header into an EXPLAIN format + option list. */
27
+ function parseExplain(accept) {
28
+ if (!accept.includes(PLAN_MEDIA))
29
+ return null;
30
+ const format = accept.includes(`${PLAN_MEDIA}+json`) ? 'JSON' : 'TEXT';
31
+ const allowed = new Set(['analyze', 'verbose', 'settings', 'buffers', 'wal']);
32
+ const m = accept.match(/options=([^;]+)/);
33
+ const options = m
34
+ ? m[1].split('|').map((s) => s.trim().toLowerCase()).filter((o) => allowed.has(o))
35
+ : [];
36
+ return { format, options };
37
+ }
38
+ /** Serialize an array of row objects to CSV (RFC 4180), matching `.csv()`. */
39
+ function rowsToCsv(rows) {
40
+ const objs = rows;
41
+ // header = union of keys in first-appearance order
42
+ const cols = [];
43
+ const seen = new Set();
44
+ for (const row of objs) {
45
+ for (const k of Object.keys(row ?? {})) {
46
+ if (!seen.has(k)) {
47
+ seen.add(k);
48
+ cols.push(k);
49
+ }
50
+ }
51
+ }
52
+ const cell = (v) => {
53
+ if (v === null || v === undefined)
54
+ return '';
55
+ const s = typeof v === 'object' ? JSON.stringify(v) : String(v);
56
+ return /[",\r\n]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s;
57
+ };
58
+ const lines = [cols.join(',')];
59
+ for (const row of objs)
60
+ lines.push(cols.map((c) => cell((row ?? {})[c])).join(','));
61
+ return lines.join('\n');
62
+ }
24
63
  export class RestHandler {
25
64
  db;
26
65
  constructor(db) {
@@ -48,13 +87,37 @@ export class RestHandler {
48
87
  async handleTable(req, ctx, url, schema, table) {
49
88
  const method = req.method.toUpperCase();
50
89
  const prefer = parsePrefer(req.headers.get('prefer'));
51
- const wantsObject = (req.headers.get('accept') ?? '').includes(OBJECT_MEDIA);
90
+ const accept = req.headers.get('accept') ?? '';
91
+ const wantsObject = accept.includes(OBJECT_MEDIA);
92
+ const wantsCsv = accept.includes(CSV_MEDIA);
52
93
  const q = parseQuery(url.searchParams);
53
94
  const info = await this.db.getSchemaInfo(schema);
54
95
  const builder = new QueryBuilder(schema, info, q, { aliasMutations: !this.db.engine.minimalBootstrap });
55
96
  switch (method) {
56
97
  case 'GET':
57
98
  case 'HEAD': {
99
+ const explain = parseExplain(accept);
100
+ if (explain) {
101
+ const plan = builder.buildSelect(table, { count: false });
102
+ const explainOpts = [
103
+ ...explain.options.map((o) => o.toUpperCase()),
104
+ `FORMAT ${explain.format}`,
105
+ ].join(', ');
106
+ const res = await this.db.withContext(ctx, (query) => query(`explain (${explainOpts}) ${plan.sql}`, plan.params));
107
+ const cell = res.rows[0]['QUERY PLAN'];
108
+ if (explain.format === 'JSON') {
109
+ const body = typeof cell === 'string' ? cell : JSON.stringify(cell);
110
+ return new Response(body, {
111
+ status: 200,
112
+ headers: { 'content-type': 'application/json; charset=utf-8' },
113
+ });
114
+ }
115
+ const text = res.rows.map((r) => r['QUERY PLAN']).join('\n');
116
+ return new Response(text, {
117
+ status: 200,
118
+ headers: { 'content-type': `${PLAN_MEDIA}+text; charset=utf-8` },
119
+ });
120
+ }
58
121
  const built = builder.buildSelect(table, { count: prefer.count !== undefined });
59
122
  const { rows, count } = await this.db.withContext(ctx, async (query) => {
60
123
  const res = await query(built.sql, built.params);
@@ -70,6 +133,7 @@ export class RestHandler {
70
133
  count,
71
134
  offset: q.offsets.get('') ?? 0,
72
135
  wantsObject,
136
+ wantsCsv,
73
137
  head: method === 'HEAD',
74
138
  });
75
139
  }
@@ -87,7 +151,7 @@ export class RestHandler {
87
151
  missingDefault: prefer.missing === 'default',
88
152
  returning: queryReturning,
89
153
  });
90
- return this.runMutation(ctx, built, { status: 201, returning, queryReturning, wantsObject, prefer, cdc });
154
+ return this.runMutation(ctx, built, { status: 201, returning, queryReturning, wantsObject, wantsCsv, prefer, cdc });
91
155
  }
92
156
  case 'PATCH': {
93
157
  const body = await readJsonBody(req);
@@ -103,14 +167,14 @@ export class RestHandler {
103
167
  const cdc = this.db.jsCdc ? { schema, table, type: 'UPDATE' } : null;
104
168
  const queryReturning = returning || !!cdc;
105
169
  const built = builder.buildUpdate(table, body, { returning: queryReturning });
106
- return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, prefer, cdc });
170
+ return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, wantsCsv, prefer, cdc });
107
171
  }
108
172
  case 'DELETE': {
109
173
  const returning = prefer.return === 'representation' || wantsObject;
110
174
  const cdc = this.db.jsCdc ? { schema, table, type: 'DELETE' } : null;
111
175
  const queryReturning = returning || !!cdc;
112
176
  const built = builder.buildDelete(table, { returning: queryReturning });
113
- return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, prefer, cdc });
177
+ return this.runMutation(ctx, built, { status: 200, returning, queryReturning, wantsObject, wantsCsv, prefer, cdc });
114
178
  }
115
179
  default:
116
180
  return jsonResponse(405, { code: 'PGRST105', message: `Method ${method} not allowed`, details: null, hint: null });
@@ -139,6 +203,7 @@ export class RestHandler {
139
203
  count: opts.prefer.count !== undefined ? rows.length : null,
140
204
  offset: 0,
141
205
  wantsObject: opts.wantsObject,
206
+ wantsCsv: opts.wantsCsv,
142
207
  head: false,
143
208
  });
144
209
  }
@@ -148,6 +213,10 @@ export class RestHandler {
148
213
  const headers = {
149
214
  'content-range': `${rangePart}/${total}`,
150
215
  };
216
+ if (opts.wantsCsv) {
217
+ headers['content-type'] = `${CSV_MEDIA}; charset=utf-8`;
218
+ return new Response(opts.head ? null : rowsToCsv(rows), { status: opts.status, headers });
219
+ }
151
220
  if (opts.wantsObject) {
152
221
  if (rows.length !== 1) {
153
222
  return jsonResponse(406, {
@@ -173,7 +242,9 @@ export class RestHandler {
173
242
  return jsonResponse(405, { code: 'PGRST105', message: `Method ${method} not allowed`, details: null, hint: null });
174
243
  }
175
244
  const prefer = parsePrefer(req.headers.get('prefer'));
176
- const wantsObject = (req.headers.get('accept') ?? '').includes(OBJECT_MEDIA);
245
+ const rpcAccept = req.headers.get('accept') ?? '';
246
+ const wantsObject = rpcAccept.includes(OBJECT_MEDIA);
247
+ const wantsCsv = rpcAccept.includes(CSV_MEDIA);
177
248
  const fns = await this.db.getFunctions(schema, fnName);
178
249
  if (fns.length === 0) {
179
250
  throw new ApiError(404, {
@@ -274,6 +345,7 @@ export class RestHandler {
274
345
  count,
275
346
  offset: q.offsets.get('') ?? 0,
276
347
  wantsObject,
348
+ wantsCsv,
277
349
  head: method === 'HEAD',
278
350
  });
279
351
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/rest/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAoC,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAA;AASrE,SAAS,WAAW,CAAC,MAAqB;IACxC,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAA;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,QAAQ;YAAE,MAAM,CAAC,MAAM,GAAG,CAAqB,CAAA;aACpD,IAAI,CAAC,KAAK,OAAO;YAAE,MAAM,CAAC,KAAK,GAAG,CAAoB,CAAA;aACtD,IAAI,CAAC,KAAK,YAAY;YAAE,MAAM,CAAC,UAAU,GAAG,CAAyB,CAAA;aACrE,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,CAAsB,CAAA;IACnE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,YAAY,GAAG,mCAAmC,CAAA;AAExD,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,EAAY;QAAZ,OAAE,GAAF,EAAE,CAAU;IAAG,CAAC;IAEpC,KAAK,CAAC,MAAM,CAAC,GAAY,EAAE,GAAmB,EAAE,GAAQ;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;YACvD,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;YAE3F,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;YACvC,MAAM,MAAM,GACV,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;gBACpC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACnC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,QAAQ,CAAA;YAErD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvF,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAChF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,eAAe,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,yEAAyE;IAEjE,KAAK,CAAC,WAAW,CACvB,GAAY,EACZ,GAAmB,EACnB,GAAQ,EACR,MAAc,EACd,KAAa;QAEb,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC5E,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAEvG,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC,CAAA;gBAC/E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBACrE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;oBAChD,IAAI,KAAK,GAAkB,IAAI,CAAA;oBAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACnB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;wBACzC,KAAK,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC,KAAK,CAAA;oBAChD,CAAC;oBACD,OAAO,EAAE,IAAI,EAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;gBACnE,CAAC,CAAC,CAAA;gBACF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC7B,MAAM,EAAE,GAAG;oBACX,KAAK;oBACL,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;oBAC9B,WAAW;oBACX,IAAI,EAAE,MAAM,KAAK,MAAM;iBACxB,CAAC,CAAA;YACJ,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBAChD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,gBAAgB,IAAI,WAAW,CAAA;gBACnE,mEAAmE;gBACnE,sEAAsE;gBACtE,4BAA4B;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC7E,MAAM,cAAc,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,CAAA;gBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAiC,EAAE;oBAC1E,MAAM,EAAE,MAAM,CAAC,UAAU;oBACzB,cAAc,EAAE,MAAM,CAAC,OAAO,KAAK,SAAS;oBAC5C,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAA;gBACF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3G,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE;wBACtB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,iCAAiC;wBAC1C,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,IAAI;qBACX,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,gBAAgB,IAAI,WAAW,CAAA;gBACnE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC7E,MAAM,cAAc,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,CAAA;gBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAA+B,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;gBACxG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3G,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,gBAAgB,IAAI,WAAW,CAAA;gBACnE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC7E,MAAM,cAAc,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,CAAA;gBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAA;gBACvE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3G,CAAC;YAED;gBACE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,MAAM,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACtH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,GAAmB,EACnB,KAAyC,EACzC,IAOC;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YAChD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,OAAO,EAAE,IAAI,EAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAC5E,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,0DAA0D;QAC1D,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAiC,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE;YAClE,CAAC,CAAC,EAAE,CAAA;QAER,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;QAC9F,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAK,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YAC5D,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,CAClB,IAAe,EACf,IAAmG;QAEnG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5D,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;QAC3E,MAAM,OAAO,GAA2B;YACtC,eAAe,EAAE,GAAG,SAAS,IAAI,KAAK,EAAE;SACzC,CAAA;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,YAAY,CAAC,GAAG,EAAE;oBACvB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,uDAAuD;oBAChE,OAAO,EAAE,uBAAuB,IAAI,CAAC,MAAM,OAAO;oBAClD,IAAI,EAAE,IAAI;iBACX,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,CAAC,cAAc,CAAC,GAAG,GAAG,YAAY,iBAAiB,CAAA;YAC1D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9D,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAA;QAC3D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;IAChG,CAAC;IAED,yEAAyE;IAEjE,KAAK,CAAC,SAAS,CACrB,GAAY,EACZ,GAAmB,EACnB,GAAQ,EACR,MAAc,EACd,MAAc;QAEd,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QACvC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,MAAM,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACpH,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAE5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACtD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE;gBACtB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,+BAA+B,MAAM,IAAI,MAAM,sBAAsB;gBAC9E,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;QACJ,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,GAA4B,EAAE,CAAA;QACtC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC1D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC5B,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5E,IAAI,GAAG,MAAiC,CAAA;oBAC1C,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,qCAAqC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC1H,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,QAAQ;wBAAE,MAAM,CAAC,CAAA;oBAClC,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC5G,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC1E,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;oBACX,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QACzC,MAAM,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;QAElC,OAAO;QACP,IAAI,EAAE,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YACtE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5C,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,kBAAkB,IAAI,aAAa,EAAE,EAAE,CAAC,CAC/C,CAAA;YACD,MAAM,KAAK,GAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyB,CAAC,MAAM,CAAA;YACzD,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;QAED,uBAAuB;QACvB,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,0DAA0D,IAAI,YAAY,EAAE,EAAE,CAAC,CACtF,CAAA;YACD,OAAO,YAAY,CAAC,GAAG,EAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC,IAAI,CAAC,CAAA;QACnE,CAAC;QAED,iEAAiE;QACjE,MAAM,KAAK,GAAG,IAAI,CAAA;QAClB,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAA;YAC7E,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAG,CAAC,IAAI,EAAE,CAAA;gBACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACvG,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QAEjD,MAAM,IAAI,GAAG,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,EAAE,CAAA;QAC5G,MAAM,GAAG,GAAG,wEAAwE,IAAI,MAAM,CAAA;QAC9F,MAAM,QAAQ,GACZ,MAAM,CAAC,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,sCAAsC,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE;YAC9E,CAAC,CAAC,SAAS,CAAA;QAEf,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAChC,IAAI,KAAK,GAAkB,IAAI,CAAA;YAC/B,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;gBACnC,KAAK,GAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC,KAAK,CAAA;YAChD,CAAC;YACD,OAAO,EAAE,IAAI,EAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;QACnE,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAC7B,MAAM,EAAE,GAAG;YACX,KAAK;YACL,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAC9B,WAAW;YACX,IAAI,EAAE,MAAM,KAAK,MAAM;SACxB,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,YAAY,CAAC,GAAmB,EAAE,aAAuB;IAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAA;IACvC,IAAI,IAAI,GAAwB,IAAI,CAAA;IACpC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACjD,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,gBAAgB;YAAE,SAAQ;QAC/B,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QAC/C,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,EAAE,CAAA;IACtB,CAAC;IACD,OAAO,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,EAAgB,EAAE,IAA6B;IACjF,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE;gBACtB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,+BAA+B,MAAM,IAAI,EAAE,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB;gBACvH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,0CAA0C,MAAM,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAC9G,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAc;IACpD,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,8BAA8B,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACzH,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,IAAI,EAAE,CAAA;IACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAA;IACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAA;IAC7G,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAA;AAClD,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAY;IACtC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IACzD,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE;YACtB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,gCAAgC,WAAW,EAAE;YACtD,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5G,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/rest/handler.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface SelectColumn {
9
9
  name: string;
10
10
  alias?: string;
11
11
  cast?: string;
12
+ /** aggregate function applied to the column (col.sum(), count(), ...) */
13
+ aggregate?: 'avg' | 'count' | 'max' | 'min' | 'sum';
12
14
  }
13
15
  export interface SelectEmbed {
14
16
  kind: 'embed';
@@ -205,6 +205,20 @@ function parseSelectItem(item) {
205
205
  alias = unquote(item.slice(0, aliasIdx));
206
206
  item = item.slice(aliasIdx + 1);
207
207
  }
208
+ // aggregate with empty parens (count(), col.sum(), …) — a column, not an
209
+ // embed. Cast-suffixed aggregates (col.sum()::text) don't end in ')' and are
210
+ // handled in the column branch below.
211
+ if (!spread) {
212
+ const agg = item.match(/^(?:(.+)\.)?(avg|count|max|min|sum)\(\)$/);
213
+ if (agg) {
214
+ return {
215
+ kind: 'column',
216
+ name: agg[1] ? unquote(agg[1]) : '',
217
+ alias,
218
+ aggregate: agg[2],
219
+ };
220
+ }
221
+ }
208
222
  const parenIdx = item.indexOf('(');
209
223
  if (parenIdx !== -1 && item.endsWith(')')) {
210
224
  // embed: name[!hint][!inner](children)
@@ -235,7 +249,14 @@ function parseSelectItem(item) {
235
249
  throw new ParseError(`invalid cast: ${cast}`);
236
250
  item = item.slice(0, castIdx);
237
251
  }
238
- return { kind: 'column', name: unquote(item), alias, cast };
252
+ // aggregate: col.sum()/avg()/max()/min()/count(), or a bare count()
253
+ let aggregate;
254
+ const aggMatch = item.match(/^(?:(.+)\.)?(avg|count|max|min|sum)\(\)$/);
255
+ if (aggMatch) {
256
+ aggregate = aggMatch[2];
257
+ item = aggMatch[1] ?? '';
258
+ }
259
+ return { kind: 'column', name: item === '' ? '' : unquote(item), alias, cast, aggregate };
239
260
  }
240
261
  /** Index of an alias ':' (not '::'), outside quotes/parens; -1 when absent. */
241
262
  function findAliasColon(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/rest/parse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+DH,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAA;AAE1F,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI;IAC1D,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI;IACtD,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;IAClB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI;IAC5B,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK;IACpD,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC/C,UAAU,EAAE,kBAAkB;CAC/B,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,YAA6B;IACtD,MAAM,CAAC,GAAgB;QACrB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvC,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAA;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,EAAE;gBAAE,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;YAC/C,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAC1B,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACpE,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACnE,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE1C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAClC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;YACjD,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,WAAW,IAAI,KAAK,KAAK,EAAE,CAAC,CAC9E;YAAA,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACvD,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAA;YACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACjD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;YAC7D,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC/B,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAQ;QAE9B,oDAAoD;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,GAAW,EAAE,IAAc;IACnE,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,IAAI,GAAG,GAAG,CAAA;IACd,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,EAAU,EAAE,KAAa,CAAA;IAC7B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,EAAE,GAAG,IAAI,CAAA;QACT,KAAK,GAAG,EAAE,CAAA;IACZ,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,iDAAiD;IACjD,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAClG,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAA;IAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA;AAC7D,CAAC;AAED,2DAA2D;AAC3D,SAAS,cAAc,CAAC,EAAgB,EAAE,GAAW,EAAE,IAAc,EAAE,OAAgB;IACrF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,UAAU,GAAW,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACxF,SAAQ;QACV,CAAC;QACD,mEAAmE;QACnE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC9B,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,IAAc;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,IAAI,UAA+B,CAAA;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,KAAK;YAAE,GAAG,GAAG,IAAI,CAAA;aACtB,IAAI,CAAC,KAAK,MAAM;YAAE,GAAG,GAAG,KAAK,CAAA;aAC7B,IAAI,CAAC,KAAK,YAAY;YAAE,UAAU,GAAG,IAAI,CAAA;aACzC,IAAI,CAAC,KAAK,WAAW;YAAE,UAAU,GAAG,KAAK,CAAA;;YACzC,MAAM,IAAI,UAAU,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC1C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IACtD,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,EAAE,CAAA;YACb,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,GAAG,KAAK,CAAA;YAC/B,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,EAAE,CAAA;YACP,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,EAAE,CAAA;YACP,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;aAAM,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,OAAO,GAAG,EAAE,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,KAAK,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAA;IAE1D,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAI,CAAA;QACb,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAyB,CAAA;IAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QACxC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAClC,IAAI,IAAwB,CAAA;QAC5B,IAAI,KAAK,GAAG,KAAK,CAAA;QACjB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,KAAK,OAAO;gBAAE,KAAK,GAAG,IAAI,CAAA;iBAC7B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;;gBAClD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;IACtE,CAAC;IAED,IAAI,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;IAExE,gEAAgE;IAChE,IAAI,IAAwB,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAA;QAC9B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;QAC9F,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AAC7D,CAAC;AAED,+EAA+E;AAC/E,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,GAAG,CAAC,OAAO,CAAA;QAClC,IAAI,OAAO;YAAE,SAAQ;QACrB,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO,CAAC,CAAC,CAAA;QACzB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC1C,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/rest/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * In-process data-retention sweeper. Periodically purges expired or stale rows
3
+ * that would otherwise accumulate forever: consumed/expired one-time tokens,
4
+ * revoked and aged-out refresh tokens, expired MFA challenges and OAuth flow
5
+ * state, and audit-log entries past the retention window.
6
+ *
7
+ * Supports GDPR data-minimization and keeps the auth tables from growing
8
+ * unbounded. All windows are configurable; a window of 0 disables that sweep.
9
+ */
10
+ import type { Database } from '../db/database.js';
11
+ export interface RetentionConfig {
12
+ /** How often to run a sweep (ms). Default 1 hour. */
13
+ intervalMs?: number;
14
+ /** Delete audit_log_entries older than this many days (0 = keep forever). Default 90. */
15
+ auditLogDays?: number;
16
+ /** Delete revoked/expired refresh tokens older than this many days (0 = keep). Default 30. */
17
+ refreshTokenDays?: number;
18
+ }
19
+ export declare class RetentionService {
20
+ private db;
21
+ private now;
22
+ private timer;
23
+ private inFlight;
24
+ private readonly intervalMs;
25
+ private readonly auditLogDays;
26
+ private readonly refreshTokenDays;
27
+ constructor(db: Database, config?: RetentionConfig, now?: () => Date);
28
+ start(): void;
29
+ /**
30
+ * Stop future sweeps and wait for any in-flight one to settle, so the caller
31
+ * can safely close the database without racing a queued sweep query.
32
+ */
33
+ stop(): Promise<void>;
34
+ /** Run a single retention pass (also callable directly in tests). */
35
+ sweep(): Promise<void>;
36
+ private run;
37
+ }
@@ -0,0 +1,66 @@
1
+ const DAY_MS = 24 * 60 * 60 * 1000;
2
+ export class RetentionService {
3
+ db;
4
+ now;
5
+ timer = null;
6
+ // Tracks the sweep currently in flight. The boot sweep and interval sweeps
7
+ // run un-awaited, but stop() must be able to drain the in-flight one before
8
+ // the caller closes the database: PGlite has a single connection, and calling
9
+ // close() while a sweep query is still queued busy-loops the shutdown.
10
+ inFlight = Promise.resolve();
11
+ intervalMs;
12
+ auditLogDays;
13
+ refreshTokenDays;
14
+ constructor(db, config = {}, now = () => new Date()) {
15
+ this.db = db;
16
+ this.now = now;
17
+ this.intervalMs = config.intervalMs ?? 60 * 60 * 1000;
18
+ this.auditLogDays = config.auditLogDays ?? 90;
19
+ this.refreshTokenDays = config.refreshTokenDays ?? 30;
20
+ }
21
+ start() {
22
+ if (this.timer)
23
+ return;
24
+ // run once at boot, then on the interval (tracking the in-flight sweep)
25
+ this.inFlight = this.sweep();
26
+ this.timer = setInterval(() => {
27
+ this.inFlight = this.sweep();
28
+ }, this.intervalMs);
29
+ if (typeof this.timer === 'object' && 'unref' in this.timer)
30
+ this.timer.unref();
31
+ }
32
+ /**
33
+ * Stop future sweeps and wait for any in-flight one to settle, so the caller
34
+ * can safely close the database without racing a queued sweep query.
35
+ */
36
+ async stop() {
37
+ if (this.timer)
38
+ clearInterval(this.timer);
39
+ this.timer = null;
40
+ await this.inFlight.catch(() => { });
41
+ }
42
+ /** Run a single retention pass (also callable directly in tests). */
43
+ async sweep() {
44
+ const now = this.now();
45
+ await this.run(`delete from auth.one_time_tokens where expires_at < now()`);
46
+ await this.run(`delete from auth.mfa_challenges where expires_at < now()`);
47
+ await this.run(`delete from auth.flow_state where expires_at < now()`);
48
+ if (this.refreshTokenDays > 0) {
49
+ const cutoff = new Date(now.getTime() - this.refreshTokenDays * DAY_MS).toISOString();
50
+ await this.run(`delete from auth.refresh_tokens where revoked = true and updated_at < $1`, [cutoff]);
51
+ }
52
+ if (this.auditLogDays > 0) {
53
+ const cutoff = new Date(now.getTime() - this.auditLogDays * DAY_MS).toISOString();
54
+ await this.run(`delete from auth.audit_log_entries where created_at < $1`, [cutoff]);
55
+ }
56
+ }
57
+ async run(sql, params = []) {
58
+ try {
59
+ await this.db.query(sql, params);
60
+ }
61
+ catch {
62
+ // table may not exist on a subset engine (pg-mem) — skip
63
+ }
64
+ }
65
+ }
66
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/retention/service.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,14 @@ import type { Database } from '../db/database.js';
7
7
  import type { RequestContext, StorageDriver } from '../types.js';
8
8
  export interface StorageConfig {
9
9
  jwtSecret: string;
10
+ log?: (message: string) => void;
10
11
  }
11
12
  export declare class StorageHandler {
12
13
  private db;
13
14
  private driver;
14
15
  private config;
16
+ private tusUploads;
17
+ private warnedTransform;
15
18
  constructor(db: Database, driver: StorageDriver, config: StorageConfig);
16
19
  handle(req: Request, ctx: RequestContext, url: URL): Promise<Response>;
17
20
  private requireService;
@@ -23,6 +26,13 @@ export declare class StorageHandler {
23
26
  private emptyBucket;
24
27
  private loadBucket;
25
28
  private upload;
29
+ /** Warn once that image transforms are unsupported (the original is served). */
30
+ private warnTransformUnsupported;
31
+ /** Insert (or upsert) the object row and write its bytes to the driver. */
32
+ private persistObject;
33
+ private handleTus;
34
+ /** Append a chunk at `offset`; finalize the object once fully received. */
35
+ private appendTus;
26
36
  private download;
27
37
  private downloadPublic;
28
38
  private serveObject;