@rebasepro/server 0.14.1 → 0.14.2-canary.g27a129e
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/dist/{admin_block-H86dCPsj.js → admin_block-DLILvzle.js} +2 -1
- package/dist/admin_block-DLILvzle.js.map +1 -0
- package/dist/api/logs-routes.d.ts +47 -8
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/resolve-rate-limit-store.d.ts +51 -0
- package/dist/auth/sql-rate-limit-store.d.ts +63 -0
- package/dist/{auth-BobZVd0j.js → auth-DIKS1rsI.js} +205 -9
- package/dist/auth-DIKS1rsI.js.map +1 -0
- package/dist/boot/boot.d.ts +15 -0
- package/dist/{contract-routes-Bet-eCNJ.js → contract-routes-DDNj4_J1.js} +2 -2
- package/dist/{contract-routes-Bet-eCNJ.js.map → contract-routes-DDNj4_J1.js.map} +1 -1
- package/dist/{cron-store-CB1x-Ken.js → cron-store-BBGvOA-9.js} +3 -3
- package/dist/{cron-store-CB1x-Ken.js.map → cron-store-BBGvOA-9.js.map} +1 -1
- package/dist/ddl-bootstrap-Cywoj8Ta.js.map +1 -1
- package/dist/index.es.js +128 -20
- package/dist/index.es.js.map +1 -1
- package/dist/{jobs-DR4SjGrD.js → jobs-BOEOIGAm.js} +3 -3
- package/dist/{jobs-DR4SjGrD.js.map → jobs-BOEOIGAm.js.map} +1 -1
- package/dist/{jwt-VJyXTdQQ.js → jwt-DxH9fLPt.js} +2 -2
- package/dist/{jwt-VJyXTdQQ.js.map → jwt-DxH9fLPt.js.map} +1 -1
- package/dist/logs-routes-CWBLQj2l.js +245 -0
- package/dist/logs-routes-CWBLQj2l.js.map +1 -0
- package/dist/{openapi-generator-DQeQ_q2f.js → openapi-generator-DLiiGD9X.js} +3 -3
- package/dist/{openapi-generator-DQeQ_q2f.js.map → openapi-generator-DLiiGD9X.js.map} +1 -1
- package/dist/{schema-editor-routes-CRcS3ArS.js → schema-editor-routes-CV9k0w3G.js} +3 -3
- package/dist/{schema-editor-routes-CRcS3ArS.js.map → schema-editor-routes-CV9k0w3G.js.map} +1 -1
- package/dist/{src-8XDWyDfR.js → src-B-E7RjdN.js} +54 -14
- package/dist/src-B-E7RjdN.js.map +1 -0
- package/dist/{src-Cz9nMgUR.js → src-CrCxd8km.js} +60 -2
- package/dist/src-CrCxd8km.js.map +1 -0
- package/package.json +5 -5
- package/dist/admin_block-H86dCPsj.js.map +0 -1
- package/dist/auth-BobZVd0j.js.map +0 -1
- package/dist/logs-routes-BYA72C_C.js +0 -100
- package/dist/logs-routes-BYA72C_C.js.map +0 -1
- package/dist/src-8XDWyDfR.js.map +0 -1
- package/dist/src-Cz9nMgUR.js.map +0 -1
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from "module";
|
|
2
|
-
import "process";
|
|
3
|
-
__createRequire(import.meta.url);
|
|
4
|
-
import { n as __exportAll } from "./rolldown-runtime-DSJWtz9O.js";
|
|
5
|
-
import { Hono } from "hono";
|
|
6
|
-
//#region src/api/logs-routes.ts
|
|
7
|
-
var logs_routes_exports = /* @__PURE__ */ __exportAll({
|
|
8
|
-
addLog: () => addLog,
|
|
9
|
-
default: () => app,
|
|
10
|
-
logBuffer: () => logBuffer,
|
|
11
|
-
logMiddleware: () => logMiddleware
|
|
12
|
-
});
|
|
13
|
-
var LogRingBuffer = class {
|
|
14
|
-
buffer = [];
|
|
15
|
-
maxSize;
|
|
16
|
-
idCounter = 0;
|
|
17
|
-
constructor(maxSize = 1e4) {
|
|
18
|
-
this.maxSize = maxSize;
|
|
19
|
-
}
|
|
20
|
-
push(entry) {
|
|
21
|
-
const id = `log_${++this.idCounter}`;
|
|
22
|
-
this.buffer.push({
|
|
23
|
-
...entry,
|
|
24
|
-
id
|
|
25
|
-
});
|
|
26
|
-
if (this.buffer.length > this.maxSize) this.buffer.shift();
|
|
27
|
-
}
|
|
28
|
-
query(options) {
|
|
29
|
-
let filtered = this.buffer;
|
|
30
|
-
if (options.level) filtered = filtered.filter((e) => e.level === options.level);
|
|
31
|
-
if (options.source) filtered = filtered.filter((e) => e.source === options.source);
|
|
32
|
-
if (options.search) {
|
|
33
|
-
const searchLower = options.search.toLowerCase();
|
|
34
|
-
filtered = filtered.filter((e) => e.message.toLowerCase().includes(searchLower));
|
|
35
|
-
}
|
|
36
|
-
if (options.since) {
|
|
37
|
-
const sinceValue = options.since;
|
|
38
|
-
filtered = filtered.filter((e) => e.timestamp >= sinceValue);
|
|
39
|
-
}
|
|
40
|
-
const sorted = [...filtered].reverse();
|
|
41
|
-
const total = sorted.length;
|
|
42
|
-
const limit = options.limit || 100;
|
|
43
|
-
const offset = options.offset || 0;
|
|
44
|
-
return {
|
|
45
|
-
entries: sorted.slice(offset, offset + limit),
|
|
46
|
-
total
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
getLatest(count = 50) {
|
|
50
|
-
return this.buffer.slice(-count).reverse();
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
var logBuffer = new LogRingBuffer();
|
|
54
|
-
/** Add a log entry */
|
|
55
|
-
function addLog(level, source, message, metadata) {
|
|
56
|
-
logBuffer.push({
|
|
57
|
-
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
58
|
-
level,
|
|
59
|
-
source,
|
|
60
|
-
message,
|
|
61
|
-
metadata
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
/** Hono middleware to log API requests */
|
|
65
|
-
function logMiddleware() {
|
|
66
|
-
return async (c, next) => {
|
|
67
|
-
const start = Date.now();
|
|
68
|
-
await next();
|
|
69
|
-
const duration = Date.now() - start;
|
|
70
|
-
const reqId = c.get("requestId");
|
|
71
|
-
addLog("info", "api", `${c.req.method} ${c.req.path} ${c.res.status} ${duration}ms`, {
|
|
72
|
-
method: c.req.method,
|
|
73
|
-
path: c.req.path,
|
|
74
|
-
status: c.res.status,
|
|
75
|
-
duration,
|
|
76
|
-
...reqId && { requestId: reqId }
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
var app = new Hono();
|
|
81
|
-
app.get("/", (c) => {
|
|
82
|
-
const query = c.req.query();
|
|
83
|
-
const result = logBuffer.query({
|
|
84
|
-
level: query.level,
|
|
85
|
-
source: query.source,
|
|
86
|
-
search: query.search,
|
|
87
|
-
limit: query.limit ? parseInt(query.limit) : void 0,
|
|
88
|
-
offset: query.offset ? parseInt(query.offset) : void 0,
|
|
89
|
-
since: query.since
|
|
90
|
-
});
|
|
91
|
-
return c.json(result);
|
|
92
|
-
});
|
|
93
|
-
app.get("/latest", (c) => {
|
|
94
|
-
const count = parseInt(c.req.query("count") || "50");
|
|
95
|
-
return c.json({ entries: logBuffer.getLatest(count) });
|
|
96
|
-
});
|
|
97
|
-
//#endregion
|
|
98
|
-
export { logs_routes_exports as n, logMiddleware as t };
|
|
99
|
-
|
|
100
|
-
//# sourceMappingURL=logs-routes-BYA72C_C.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs-routes-BYA72C_C.js","names":[],"sources":["../src/api/logs-routes.ts"],"sourcesContent":["import { Hono } from \"hono\";\nimport type { MiddlewareHandler } from \"hono\";\nimport type { HonoEnv } from \"./types\";\n\nexport interface LogEntry {\n id: string;\n timestamp: string;\n level: \"debug\" | \"info\" | \"warn\" | \"error\";\n source: \"api\" | \"auth\" | \"storage\" | \"realtime\" | \"system\";\n message: string;\n metadata?: Record<string, unknown>;\n}\n\nclass LogRingBuffer {\n private buffer: LogEntry[] = [];\n private maxSize: number;\n private idCounter = 0;\n\n constructor(maxSize = 10000) {\n this.maxSize = maxSize;\n }\n\n push(entry: Omit<LogEntry, \"id\">): void {\n const id = `log_${++this.idCounter}`;\n this.buffer.push({ ...entry,\nid });\n if (this.buffer.length > this.maxSize) {\n this.buffer.shift();\n }\n }\n\n query(options: {\n level?: string;\n source?: string;\n search?: string;\n limit?: number;\n offset?: number;\n since?: string;\n }): { entries: LogEntry[]; total: number } {\n let filtered = this.buffer;\n\n if (options.level) {\n filtered = filtered.filter(e => e.level === options.level);\n }\n if (options.source) {\n filtered = filtered.filter(e => e.source === options.source);\n }\n if (options.search) {\n const searchLower = options.search.toLowerCase();\n filtered = filtered.filter(e => e.message.toLowerCase().includes(searchLower));\n }\n if (options.since) {\n const sinceValue = options.since;\n filtered = filtered.filter(e => e.timestamp >= sinceValue);\n }\n\n // Newest first\n const sorted = [...filtered].reverse();\n const total = sorted.length;\n const limit = options.limit || 100;\n const offset = options.offset || 0;\n\n return {\n entries: sorted.slice(offset, offset + limit),\n total\n };\n }\n\n getLatest(count = 50): LogEntry[] {\n return this.buffer.slice(-count).reverse();\n }\n}\n\n// Global singleton\nexport const logBuffer = new LogRingBuffer();\n\n/** Add a log entry */\nexport function addLog(\n level: LogEntry[\"level\"],\n source: LogEntry[\"source\"],\n message: string,\n metadata?: Record<string, unknown>\n): void {\n logBuffer.push({\n timestamp: new Date().toISOString(),\n level,\n source,\n message,\n metadata\n });\n}\n\n/** Hono middleware to log API requests */\nexport function logMiddleware(): MiddlewareHandler<HonoEnv> {\n return async (c, next) => {\n const start = Date.now();\n await next();\n const duration = Date.now() - start;\n const reqId = c.get(\"requestId\");\n addLog(\"info\", \"api\", `${c.req.method} ${c.req.path} ${c.res.status} ${duration}ms`, {\n method: c.req.method,\n path: c.req.path,\n status: c.res.status,\n duration,\n ...(reqId && { requestId: reqId })\n });\n };\n}\n\nconst app = new Hono<HonoEnv>();\n\n// GET /api/logs — Query logs\napp.get(\"/\", (c) => {\n const query = c.req.query();\n const result = logBuffer.query({\n level: query.level,\n source: query.source,\n search: query.search,\n limit: query.limit ? parseInt(query.limit) : undefined,\n offset: query.offset ? parseInt(query.offset) : undefined,\n since: query.since\n });\n return c.json(result);\n});\n\n// GET /api/logs/latest — Get latest logs (for real-time)\napp.get(\"/latest\", (c) => {\n const count = parseInt(c.req.query(\"count\") || \"50\");\n return c.json({ entries: logBuffer.getLatest(count) });\n});\n\nexport default app;\n"],"mappings":";;;;;;;;;;;;AAaA,IAAM,gBAAN,MAAoB;CAChB,SAA6B,CAAC;CAC9B;CACA,YAAoB;CAEpB,YAAY,UAAU,KAAO;EACzB,KAAK,UAAU;CACnB;CAEA,KAAK,OAAmC;EACpC,MAAM,KAAK,OAAO,EAAE,KAAK;EACzB,KAAK,OAAO,KAAK;GAAE,GAAG;GAC9B;EAAG,CAAC;EACI,IAAI,KAAK,OAAO,SAAS,KAAK,SAC1B,KAAK,OAAO,MAAM;CAE1B;CAEA,MAAM,SAOqC;EACvC,IAAI,WAAW,KAAK;EAEpB,IAAI,QAAQ,OACR,WAAW,SAAS,QAAO,MAAK,EAAE,UAAU,QAAQ,KAAK;EAE7D,IAAI,QAAQ,QACR,WAAW,SAAS,QAAO,MAAK,EAAE,WAAW,QAAQ,MAAM;EAE/D,IAAI,QAAQ,QAAQ;GAChB,MAAM,cAAc,QAAQ,OAAO,YAAY;GAC/C,WAAW,SAAS,QAAO,MAAK,EAAE,QAAQ,YAAY,CAAC,CAAC,SAAS,WAAW,CAAC;EACjF;EACA,IAAI,QAAQ,OAAO;GACf,MAAM,aAAa,QAAQ;GAC3B,WAAW,SAAS,QAAO,MAAK,EAAE,aAAa,UAAU;EAC7D;EAGA,MAAM,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,QAAQ;EACrC,MAAM,QAAQ,OAAO;EACrB,MAAM,QAAQ,QAAQ,SAAS;EAC/B,MAAM,SAAS,QAAQ,UAAU;EAEjC,OAAO;GACH,SAAS,OAAO,MAAM,QAAQ,SAAS,KAAK;GAC5C;EACJ;CACJ;CAEA,UAAU,QAAQ,IAAgB;EAC9B,OAAO,KAAK,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ;CAC7C;AACJ;AAGA,IAAa,YAAY,IAAI,cAAc;;AAG3C,SAAgB,OACZ,OACA,QACA,SACA,UACI;CACJ,UAAU,KAAK;EACX,4BAAW,IAAI,KAAK,EAAA,CAAE,YAAY;EAClC;EACA;EACA;EACA;CACJ,CAAC;AACL;;AAGA,SAAgB,gBAA4C;CACxD,OAAO,OAAO,GAAG,SAAS;EACtB,MAAM,QAAQ,KAAK,IAAI;EACvB,MAAM,KAAK;EACX,MAAM,WAAW,KAAK,IAAI,IAAI;EAC9B,MAAM,QAAQ,EAAE,IAAI,WAAW;EAC/B,OAAO,QAAQ,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,IAAI,KAAK,GAAG,EAAE,IAAI,OAAO,GAAG,SAAS,KAAK;GACjF,QAAQ,EAAE,IAAI;GACd,MAAM,EAAE,IAAI;GACZ,QAAQ,EAAE,IAAI;GACd;GACA,GAAI,SAAS,EAAE,WAAW,MAAM;EACpC,CAAC;CACL;AACJ;AAEA,IAAM,MAAM,IAAI,KAAc;AAG9B,IAAI,IAAI,MAAM,MAAM;CAChB,MAAM,QAAQ,EAAE,IAAI,MAAM;CAC1B,MAAM,SAAS,UAAU,MAAM;EAC3B,OAAO,MAAM;EACb,QAAQ,MAAM;EACd,QAAQ,MAAM;EACd,OAAO,MAAM,QAAQ,SAAS,MAAM,KAAK,IAAI,KAAA;EAC7C,QAAQ,MAAM,SAAS,SAAS,MAAM,MAAM,IAAI,KAAA;EAChD,OAAO,MAAM;CACjB,CAAC;CACD,OAAO,EAAE,KAAK,MAAM;AACxB,CAAC;AAGD,IAAI,IAAI,YAAY,MAAM;CACtB,MAAM,QAAQ,SAAS,EAAE,IAAI,MAAM,OAAO,KAAK,IAAI;CACnD,OAAO,EAAE,KAAK,EAAE,SAAS,UAAU,UAAU,KAAK,EAAE,CAAC;AACzD,CAAC"}
|