covara 0.9.2 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -13
- package/dist/auth/api-keys.d.ts +17 -0
- package/dist/auth/api-keys.d.ts.map +1 -1
- package/dist/auth/api-keys.js +75 -0
- package/dist/auth/api-keys.js.map +1 -1
- package/dist/auth/config.d.ts +7 -3
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/auth/config.js +8 -5
- package/dist/auth/config.js.map +1 -1
- package/dist/auth/index.d.ts +4 -4
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -3
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/stores/drizzle.d.ts +6 -2
- package/dist/auth/stores/drizzle.d.ts.map +1 -1
- package/dist/auth/stores/drizzle.js +68 -70
- package/dist/auth/stores/drizzle.js.map +1 -1
- package/dist/auth/stores/index.d.ts +4 -2
- package/dist/auth/stores/index.d.ts.map +1 -1
- package/dist/auth/stores/index.js +3 -1
- package/dist/auth/stores/index.js.map +1 -1
- package/dist/auth/stores/kv.d.ts +31 -0
- package/dist/auth/stores/kv.d.ts.map +1 -0
- package/dist/auth/stores/{redis.js → kv.js} +8 -4
- package/dist/auth/stores/kv.js.map +1 -0
- package/dist/auth/verification.d.ts +12 -0
- package/dist/auth/verification.d.ts.map +1 -1
- package/dist/auth/verification.js +0 -0
- package/dist/auth/verification.js.map +1 -1
- package/dist/cli/commands/env.d.ts.map +1 -1
- package/dist/cli/commands/env.js +1 -13
- package/dist/cli/commands/env.js.map +1 -1
- package/dist/cli/dotenv.d.ts +3 -0
- package/dist/cli/dotenv.d.ts.map +1 -0
- package/dist/cli/dotenv.js +34 -0
- package/dist/cli/dotenv.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +13 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/options.d.ts +3 -0
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +1 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/templates/configs.d.ts.map +1 -1
- package/dist/cli/templates/configs.js +15 -1
- package/dist/cli/templates/configs.js.map +1 -1
- package/dist/cli/templates/deploy.d.ts +1 -1
- package/dist/cli/templates/deploy.d.ts.map +1 -1
- package/dist/cli/templates/deploy.js +10 -2
- package/dist/cli/templates/deploy.js.map +1 -1
- package/dist/cli/templates/frontend.d.ts +11 -0
- package/dist/cli/templates/frontend.d.ts.map +1 -0
- package/dist/cli/templates/frontend.js +254 -0
- package/dist/cli/templates/frontend.js.map +1 -0
- package/dist/cli/templates/index.d.ts +1 -0
- package/dist/cli/templates/index.d.ts.map +1 -1
- package/dist/cli/templates/index.js +6 -1
- package/dist/cli/templates/index.js.map +1 -1
- package/dist/cli/templates/package-json.d.ts.map +1 -1
- package/dist/cli/templates/package-json.js +66 -64
- package/dist/cli/templates/package-json.js.map +1 -1
- package/dist/cli/templates/source.d.ts.map +1 -1
- package/dist/cli/templates/source.js +79 -1
- package/dist/cli/templates/source.js.map +1 -1
- package/dist/cli/templates/versions.d.ts +24 -0
- package/dist/cli/templates/versions.d.ts.map +1 -0
- package/dist/cli/templates/versions.js +53 -0
- package/dist/cli/templates/versions.js.map +1 -0
- package/dist/db/index.d.ts +2 -2
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/internal-schema.d.ts +39 -0
- package/dist/db/internal-schema.d.ts.map +1 -1
- package/dist/db/internal-schema.js +97 -0
- package/dist/db/internal-schema.js.map +1 -1
- package/dist/db/migrate.d.ts +11 -2
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +166 -31
- package/dist/db/migrate.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/kv/index.d.ts +1 -1
- package/dist/kv/index.d.ts.map +1 -1
- package/dist/kv/index.js +1 -1
- package/dist/kv/index.js.map +1 -1
- package/dist/kv/types.d.ts +1 -0
- package/dist/kv/types.d.ts.map +1 -1
- package/dist/kv/types.js +3 -0
- package/dist/kv/types.js.map +1 -1
- package/dist/middleware/observability.d.ts +1 -0
- package/dist/middleware/observability.d.ts.map +1 -1
- package/dist/middleware/observability.js +41 -27
- package/dist/middleware/observability.js.map +1 -1
- package/dist/observability/index.d.ts +3 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +2 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/log-adapter.d.ts +50 -0
- package/dist/observability/log-adapter.d.ts.map +1 -0
- package/dist/observability/log-adapter.js +174 -0
- package/dist/observability/log-adapter.js.map +1 -0
- package/dist/server/app.d.ts +3 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +1 -0
- package/dist/server/app.js.map +1 -1
- package/dist/ui/admin-auth.d.ts +3 -0
- package/dist/ui/admin-auth.d.ts.map +1 -1
- package/dist/ui/admin-auth.js +56 -26
- package/dist/ui/admin-auth.js.map +1 -1
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -2
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/middleware.d.ts +9 -1
- package/dist/ui/middleware.d.ts.map +1 -1
- package/dist/ui/middleware.js +44 -24
- package/dist/ui/middleware.js.map +1 -1
- package/package.json +2 -2
- package/dist/auth/stores/redis.d.ts +0 -25
- package/dist/auth/stores/redis.d.ts.map +0 -1
- package/dist/auth/stores/redis.js.map +0 -1
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { getGlobalKV, hasGlobalKV } from "../kv/index.js";
|
|
2
|
+
const matchesRange = (entry, ts, q) => {
|
|
3
|
+
if (!q || (q.since == null && q.until == null))
|
|
4
|
+
return true;
|
|
5
|
+
const t = ts(entry);
|
|
6
|
+
if (t == null)
|
|
7
|
+
return true;
|
|
8
|
+
if (q.since != null && t < q.since)
|
|
9
|
+
return false;
|
|
10
|
+
if (q.until != null && t > q.until)
|
|
11
|
+
return false;
|
|
12
|
+
return true;
|
|
13
|
+
};
|
|
14
|
+
// Slice a windowed page out of an array stored in `order` orientation.
|
|
15
|
+
// newest-first: index 0 is newest -> slice(offset, offset+limit) is the newest page.
|
|
16
|
+
// oldest-first: index 0 is oldest -> the most-recent window (tail), kept chronological.
|
|
17
|
+
const pageOf = (arr, order, q) => {
|
|
18
|
+
const offset = q?.offset ?? 0;
|
|
19
|
+
const limit = q?.limit;
|
|
20
|
+
if (order === "newest-first") {
|
|
21
|
+
return arr.slice(offset, limit == null ? undefined : offset + limit);
|
|
22
|
+
}
|
|
23
|
+
const end = arr.length - offset;
|
|
24
|
+
const start = limit == null ? 0 : Math.max(0, end - limit);
|
|
25
|
+
return arr.slice(Math.max(0, start), Math.max(0, end));
|
|
26
|
+
};
|
|
27
|
+
export const createInMemoryLogAdapter = (options) => {
|
|
28
|
+
const { maxEntries, order } = options;
|
|
29
|
+
const ts = options.timestampOf ?? ((e) => e.timestamp);
|
|
30
|
+
const maxExport = options.maxExport ?? 1000;
|
|
31
|
+
const store = [];
|
|
32
|
+
const pushLocal = (entry) => {
|
|
33
|
+
if (order === "newest-first") {
|
|
34
|
+
store.unshift(entry);
|
|
35
|
+
if (store.length > maxEntries)
|
|
36
|
+
store.pop();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
store.push(entry);
|
|
40
|
+
if (store.length > maxEntries)
|
|
41
|
+
store.splice(0, store.length - maxEntries);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const readLocal = (q) => {
|
|
45
|
+
const filtered = q && (q.since != null || q.until != null)
|
|
46
|
+
? store.filter((e) => matchesRange(e, ts, q))
|
|
47
|
+
: store;
|
|
48
|
+
return pageOf(filtered, order, q);
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
append: (entry) => pushLocal(entry),
|
|
52
|
+
querySync: (q) => readLocal(q),
|
|
53
|
+
query: async (q) => readLocal(q),
|
|
54
|
+
export: async (opts) => readLocal({ limit: opts?.limit ?? maxExport }),
|
|
55
|
+
count: async () => store.length,
|
|
56
|
+
countSync: () => store.length,
|
|
57
|
+
clear: () => {
|
|
58
|
+
store.length = 0;
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
const getKV = () => (hasGlobalKV() ? getGlobalKV() : null);
|
|
63
|
+
/**
|
|
64
|
+
* Hybrid adapter: maintains an in-memory mirror (so `querySync` always works and
|
|
65
|
+
* a KV outage degrades to memory) and, when a global KV store is configured,
|
|
66
|
+
* also persists to a KV sorted set (shared across instances). Modeled on the
|
|
67
|
+
* changelog manager.
|
|
68
|
+
*/
|
|
69
|
+
export const createKVLogAdapter = (options) => {
|
|
70
|
+
const { maxEntries, order, keyPrefix } = options;
|
|
71
|
+
const ts = options.timestampOf ?? ((e) => e.timestamp);
|
|
72
|
+
const maxExport = options.maxExport ?? 1000;
|
|
73
|
+
const onError = options.onError;
|
|
74
|
+
const seqKey = `${keyPrefix}:seq`;
|
|
75
|
+
const entriesKey = `${keyPrefix}:entries`;
|
|
76
|
+
const mirror = createInMemoryLogAdapter(options);
|
|
77
|
+
const persist = async (entry) => {
|
|
78
|
+
const kv = getKV();
|
|
79
|
+
if (!kv)
|
|
80
|
+
return;
|
|
81
|
+
try {
|
|
82
|
+
const seq = await kv.incr(seqKey);
|
|
83
|
+
await kv.zadd(entriesKey, seq, JSON.stringify(entry));
|
|
84
|
+
const count = await kv.zcard(entriesKey);
|
|
85
|
+
if (count > maxEntries) {
|
|
86
|
+
const old = await kv.zrange(entriesKey, 0, count - maxEntries - 1);
|
|
87
|
+
if (old.length > 0)
|
|
88
|
+
await kv.zrem(entriesKey, ...old);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
onError?.(error);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const readKV = async (q) => {
|
|
96
|
+
const kv = getKV();
|
|
97
|
+
if (!kv)
|
|
98
|
+
return null;
|
|
99
|
+
try {
|
|
100
|
+
const count = await kv.zcard(entriesKey);
|
|
101
|
+
if (count === 0)
|
|
102
|
+
return [];
|
|
103
|
+
const offset = q?.offset ?? 0;
|
|
104
|
+
const limit = q?.limit;
|
|
105
|
+
let start;
|
|
106
|
+
let stop;
|
|
107
|
+
if (limit == null) {
|
|
108
|
+
start = 0;
|
|
109
|
+
stop = count - 1 - offset;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
start = Math.max(0, count - offset - limit);
|
|
113
|
+
stop = count - 1 - offset;
|
|
114
|
+
}
|
|
115
|
+
if (stop < 0 || start > stop)
|
|
116
|
+
return [];
|
|
117
|
+
const raw = await kv.zrange(entriesKey, start, stop);
|
|
118
|
+
let entries = raw.map((d) => JSON.parse(d));
|
|
119
|
+
if (order === "newest-first")
|
|
120
|
+
entries = entries.reverse();
|
|
121
|
+
if (q && (q.since != null || q.until != null)) {
|
|
122
|
+
entries = entries.filter((e) => matchesRange(e, ts, q));
|
|
123
|
+
}
|
|
124
|
+
return entries;
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
onError?.(error);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
return {
|
|
132
|
+
append: (entry) => {
|
|
133
|
+
mirror.append(entry);
|
|
134
|
+
// Fire-and-forget; persist swallows its own errors.
|
|
135
|
+
void persist(entry);
|
|
136
|
+
},
|
|
137
|
+
querySync: (q) => mirror.querySync(q),
|
|
138
|
+
query: async (q) => {
|
|
139
|
+
const fromKV = await readKV(q);
|
|
140
|
+
return fromKV ?? mirror.querySync(q);
|
|
141
|
+
},
|
|
142
|
+
export: async (opts) => {
|
|
143
|
+
const q = { limit: opts?.limit ?? maxExport };
|
|
144
|
+
const fromKV = await readKV(q);
|
|
145
|
+
return fromKV ?? mirror.querySync(q);
|
|
146
|
+
},
|
|
147
|
+
count: async () => {
|
|
148
|
+
const kv = getKV();
|
|
149
|
+
if (kv) {
|
|
150
|
+
try {
|
|
151
|
+
return await kv.zcard(entriesKey);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
onError?.(error);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return mirror.countSync();
|
|
158
|
+
},
|
|
159
|
+
countSync: () => mirror.countSync(),
|
|
160
|
+
clear: async () => {
|
|
161
|
+
const kv = getKV();
|
|
162
|
+
if (kv) {
|
|
163
|
+
try {
|
|
164
|
+
await kv.del(seqKey, entriesKey);
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
onError?.(error);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
mirror.clear();
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=log-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-adapter.js","sourceRoot":"","sources":["../../src/observability/log-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/server/app.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { type AdminUIConfig } from "../ui/index.js";
|
|
|
9
9
|
import { type CovaraRouterConfig } from "../openapi/schema.js";
|
|
10
10
|
import { type SecurityHeadersOptions } from "../middleware/securityHeaders.js";
|
|
11
11
|
import { type PageComponent } from "../htmx/server.js";
|
|
12
|
+
import type { InternalSchemaBundle } from "../db/internal-schema.js";
|
|
12
13
|
export interface CovaraAuthSetup {
|
|
13
14
|
router: Hono;
|
|
14
15
|
middleware: MiddlewareHandler;
|
|
@@ -25,10 +26,12 @@ export interface CovaraOptions {
|
|
|
25
26
|
openapi?: boolean | CovaraRouterConfig;
|
|
26
27
|
securityHeaders?: boolean | SecurityHeadersOptions;
|
|
27
28
|
serveLocalStorage?: boolean;
|
|
29
|
+
internalSchema?: InternalSchemaBundle;
|
|
28
30
|
}
|
|
29
31
|
export declare class CovaraApp extends Hono {
|
|
30
32
|
private readonly resourceBasePath;
|
|
31
33
|
private liveSupport?;
|
|
34
|
+
readonly internalSchema?: InternalSchemaBundle;
|
|
32
35
|
private get live();
|
|
33
36
|
constructor(options?: CovaraOptions);
|
|
34
37
|
private mountLocalStorageServing;
|
package/dist/server/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAC;AAE/D,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/F,OAAO,EAAmB,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAG3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAA6F,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AASrI,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGlG,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
package/dist/server/app.js
CHANGED
|
@@ -28,6 +28,7 @@ export class CovaraApp extends Hono {
|
|
|
28
28
|
constructor(options = {}) {
|
|
29
29
|
super();
|
|
30
30
|
this.resourceBasePath = normalizeBasePath(options.basePath ?? "/api");
|
|
31
|
+
this.internalSchema = options.internalSchema;
|
|
31
32
|
this.onError(errorHandler);
|
|
32
33
|
this.notFound(notFoundHandler);
|
|
33
34
|
if (!sseDrainHookRegistered) {
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA0B,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAsB,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAiD,MAAM,WAAW,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,oBAAoB,EAAsB,MAAM,MAAM,CAAC;AACrI,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAA+B,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAwC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/admin-auth.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Context, MiddlewareHandler } from "hono";
|
|
2
2
|
import type { UserContext } from "../resource/types.js";
|
|
3
|
+
import { type ObservabilityLogAdapter } from "../observability/log-adapter.js";
|
|
3
4
|
export interface AdminUser {
|
|
4
5
|
id: string;
|
|
5
6
|
email: string;
|
|
@@ -60,8 +61,10 @@ export interface AdminAuditEntry {
|
|
|
60
61
|
afterValue?: Record<string, unknown>;
|
|
61
62
|
}
|
|
62
63
|
export declare const setAdminAuditSink: (sink: ((entry: AdminAuditEntry) => void | Promise<void>) | null) => void;
|
|
64
|
+
export declare const setAdminAuditAdapter: (adapter: ObservabilityLogAdapter<AdminAuditEntry>) => void;
|
|
63
65
|
export declare const logAdminAction: (entry: Omit<AdminAuditEntry, "timestamp">) => void;
|
|
64
66
|
export declare const getAdminAuditLog: (limit?: number, offset?: number) => AdminAuditEntry[];
|
|
67
|
+
export declare const getAdminAuditLogAsync: (limit?: number, offset?: number) => Promise<AdminAuditEntry[]>;
|
|
65
68
|
export declare const clearAdminAuditLog: () => void;
|
|
66
69
|
export declare const detectEnvironment: () => EnvironmentMode;
|
|
67
70
|
export declare const createAdminAuthMiddleware: (config?: AdminSecurityConfig) => MiddlewareHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../src/ui/admin-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAKvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../src/ui/admin-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/admin-auth.js
CHANGED
|
@@ -2,6 +2,8 @@ import { getClientIP } from "../server/request.js";
|
|
|
2
2
|
import { readEnv } from "../server/env.js";
|
|
3
3
|
import { getUser } from "../server/context.js";
|
|
4
4
|
import { UnauthorizedError } from "../resource/error.js";
|
|
5
|
+
import { createKVLogAdapter, } from "../observability/log-adapter.js";
|
|
6
|
+
import { hasGlobalKV, getGlobalKV } from "../kv/index.js";
|
|
5
7
|
const toStringArray = (value) => {
|
|
6
8
|
if (Array.isArray(value)) {
|
|
7
9
|
return value.filter((v) => typeof v === "string");
|
|
@@ -46,18 +48,24 @@ const hasRequiredRole = (userRoles, required) => {
|
|
|
46
48
|
return true;
|
|
47
49
|
return requiredRoles.some((r) => userRoles.includes(r));
|
|
48
50
|
};
|
|
49
|
-
const adminAuditLog = [];
|
|
50
51
|
const MAX_AUDIT_ENTRIES = 1000;
|
|
52
|
+
let auditAdapter = createKVLogAdapter({
|
|
53
|
+
maxEntries: MAX_AUDIT_ENTRIES,
|
|
54
|
+
order: "newest-first",
|
|
55
|
+
keyPrefix: "covara:obs:audit",
|
|
56
|
+
});
|
|
51
57
|
let auditSink = null;
|
|
52
58
|
export const setAdminAuditSink = (sink) => {
|
|
53
59
|
auditSink = sink;
|
|
54
60
|
};
|
|
61
|
+
// Replace the audit-log backend (in-memory default, KV-backed, or bring-your-own
|
|
62
|
+
// durable store). The write-only `auditSink` still fires alongside it.
|
|
63
|
+
export const setAdminAuditAdapter = (adapter) => {
|
|
64
|
+
auditAdapter = adapter;
|
|
65
|
+
};
|
|
55
66
|
export const logAdminAction = (entry) => {
|
|
56
67
|
const fullEntry = { ...entry, timestamp: Date.now() };
|
|
57
|
-
|
|
58
|
-
if (adminAuditLog.length > MAX_AUDIT_ENTRIES) {
|
|
59
|
-
adminAuditLog.pop();
|
|
60
|
-
}
|
|
68
|
+
auditAdapter.append(fullEntry);
|
|
61
69
|
if (auditSink) {
|
|
62
70
|
try {
|
|
63
71
|
const result = auditSink(fullEntry);
|
|
@@ -70,11 +78,17 @@ export const logAdminAction = (entry) => {
|
|
|
70
78
|
}
|
|
71
79
|
}
|
|
72
80
|
};
|
|
81
|
+
// Synchronous read of the local mirror (page-load ergonomics). In KV mode this
|
|
82
|
+
// reflects only entries written by this process; use getAdminAuditLogAsync for
|
|
83
|
+
// the authoritative cross-instance view.
|
|
73
84
|
export const getAdminAuditLog = (limit = 100, offset = 0) => {
|
|
74
|
-
return
|
|
85
|
+
return auditAdapter.querySync({ limit, offset });
|
|
86
|
+
};
|
|
87
|
+
export const getAdminAuditLogAsync = (limit = 100, offset = 0) => {
|
|
88
|
+
return auditAdapter.query({ limit, offset });
|
|
75
89
|
};
|
|
76
90
|
export const clearAdminAuditLog = () => {
|
|
77
|
-
|
|
91
|
+
void auditAdapter.clear();
|
|
78
92
|
};
|
|
79
93
|
export const detectEnvironment = () => {
|
|
80
94
|
const env = readEnv("NODE_ENV")?.toLowerCase();
|
|
@@ -84,7 +98,34 @@ export const detectEnvironment = () => {
|
|
|
84
98
|
return "staging";
|
|
85
99
|
return "development";
|
|
86
100
|
};
|
|
101
|
+
// Admin auth rate limiting. Uses the global KV store when configured (so limits
|
|
102
|
+
// are enforced across instances) and falls back to a per-process Map otherwise.
|
|
87
103
|
const rateLimitStore = new Map();
|
|
104
|
+
const checkAdminRateLimit = async (clientIP, maxRequests, windowMs) => {
|
|
105
|
+
if (hasGlobalKV()) {
|
|
106
|
+
try {
|
|
107
|
+
const kv = getGlobalKV();
|
|
108
|
+
const kvKey = `covara:admin:ratelimit:${clientIP}`;
|
|
109
|
+
const count = await kv.incr(kvKey);
|
|
110
|
+
if (count === 1)
|
|
111
|
+
await kv.expire(kvKey, Math.ceil(windowMs / 1000));
|
|
112
|
+
return count > maxRequests;
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// fall through to local store on KV failure
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const now = Date.now();
|
|
119
|
+
const entry = rateLimitStore.get(clientIP);
|
|
120
|
+
if (entry && entry.resetAt > now) {
|
|
121
|
+
if (entry.count >= maxRequests)
|
|
122
|
+
return true;
|
|
123
|
+
entry.count++;
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
rateLimitStore.set(clientIP, { count: 1, resetAt: now + windowMs });
|
|
127
|
+
return false;
|
|
128
|
+
};
|
|
88
129
|
export const createAdminAuthMiddleware = (config = {}) => {
|
|
89
130
|
const mode = config.mode ?? detectEnvironment();
|
|
90
131
|
return async (c, next) => {
|
|
@@ -100,25 +141,14 @@ export const createAdminAuthMiddleware = (config = {}) => {
|
|
|
100
141
|
}
|
|
101
142
|
}
|
|
102
143
|
if (config.rateLimit) {
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
status: 429,
|
|
112
|
-
detail: "Too many admin API requests",
|
|
113
|
-
}, 429);
|
|
114
|
-
}
|
|
115
|
-
entry.count++;
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
rateLimitStore.set(key, {
|
|
119
|
-
count: 1,
|
|
120
|
-
resetAt: now + config.rateLimit.windowMs,
|
|
121
|
-
});
|
|
144
|
+
const exceeded = await checkAdminRateLimit(clientIP, config.rateLimit.maxRequests, config.rateLimit.windowMs);
|
|
145
|
+
if (exceeded) {
|
|
146
|
+
return c.json({
|
|
147
|
+
type: "/__covara/problems/rate-limit-exceeded",
|
|
148
|
+
title: "Rate limit exceeded",
|
|
149
|
+
status: 429,
|
|
150
|
+
detail: "Too many admin API requests",
|
|
151
|
+
}, 429);
|
|
122
152
|
}
|
|
123
153
|
}
|
|
124
154
|
if (config.auth?.disabled) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../src/ui/admin-auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../src/ui/admin-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { createAdminUI, createAdminRequestLogger, logRequest, logError } from "./middleware.js";
|
|
1
|
+
export { createAdminUI, createAdminRequestLogger, logRequest, logError, setRequestLogAdapter, setErrorLogAdapter, } from "./middleware.js";
|
|
2
2
|
export type { AdminUIConfig, AdminRequestLoggerOptions } from "./middleware.js";
|
|
3
3
|
export { registerResourceSchema, unregisterResourceSchema, getResourceSchema, getAllResourceSchemas, getSchemaInfo, getAllSchemaInfos, clearSchemaRegistry, getAllResourcesForDisplay, getResourcesForOpenAPI, setResourceMountPath, } from "./schema-registry.js";
|
|
4
4
|
export type { SchemaRegistryEntry, ColumnInfo, SchemaInfo, ResourceDisplayInfo, OpenAPIResource, } from "./schema-registry.js";
|
|
5
|
-
export { createAdminAuthMiddleware, logAdminAction, getAdminAuditLog, clearAdminAuditLog, setAdminAuditSink, extractUserRoles, extractUserPermissions, createAdminBypassPredicate, getAdminUser, requireAdminUser, detectEnvironment, } from "./admin-auth.js";
|
|
5
|
+
export { createAdminAuthMiddleware, logAdminAction, getAdminAuditLog, getAdminAuditLogAsync, setAdminAuditAdapter, clearAdminAuditLog, setAdminAuditSink, extractUserRoles, extractUserPermissions, createAdminBypassPredicate, getAdminUser, requireAdminUser, detectEnvironment, } from "./admin-auth.js";
|
|
6
6
|
export type { AdminUser, AdminSecurityConfig, AdminAuditEntry, EnvironmentMode, AdminAuthorizeFn, AdminCanFn, } from "./admin-auth.js";
|
|
7
7
|
export { createDataExplorerRoutes } from "./data-explorer.js";
|
|
8
8
|
export type { DataExplorerConfig } from "./data-explorer.js";
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { createAdminUI, createAdminRequestLogger, logRequest, logError } from "./middleware.js";
|
|
1
|
+
export { createAdminUI, createAdminRequestLogger, logRequest, logError, setRequestLogAdapter, setErrorLogAdapter, } from "./middleware.js";
|
|
2
2
|
export { registerResourceSchema, unregisterResourceSchema, getResourceSchema, getAllResourceSchemas, getSchemaInfo, getAllSchemaInfos, clearSchemaRegistry, getAllResourcesForDisplay, getResourcesForOpenAPI, setResourceMountPath, } from "./schema-registry.js";
|
|
3
|
-
export { createAdminAuthMiddleware, logAdminAction, getAdminAuditLog, clearAdminAuditLog, setAdminAuditSink, extractUserRoles, extractUserPermissions, createAdminBypassPredicate, getAdminUser, requireAdminUser, detectEnvironment, } from "./admin-auth.js";
|
|
3
|
+
export { createAdminAuthMiddleware, logAdminAction, getAdminAuditLog, getAdminAuditLogAsync, setAdminAuditAdapter, clearAdminAuditLog, setAdminAuditSink, extractUserRoles, extractUserPermissions, createAdminBypassPredicate, getAdminUser, requireAdminUser, detectEnvironment, } from "./admin-auth.js";
|
|
4
4
|
export { createDataExplorerRoutes } from "./data-explorer.js";
|
|
5
5
|
export { createTaskMonitorRoutes } from "./task-monitor.js";
|
|
6
6
|
export { createKVInspectorRoutes } from "./kv-inspector.js";
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAStB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/ui/middleware.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Hono, type MiddlewareHandler } from "hono";
|
|
2
|
-
import {
|
|
2
|
+
import { type ObservabilityLogAdapter } from "../observability/log-adapter.js";
|
|
3
|
+
import { AdminSecurityConfig, type AdminAuditEntry } from "./admin-auth.js";
|
|
3
4
|
import { DataExplorerConfig } from "./data-explorer.js";
|
|
4
5
|
import { TaskMonitorConfig } from "./task-monitor.js";
|
|
5
6
|
import { KVInspectorConfig } from "./kv-inspector.js";
|
|
@@ -44,6 +45,11 @@ export interface AdminUIConfig {
|
|
|
44
45
|
revokeSession: (sessionId: string) => Promise<void>;
|
|
45
46
|
revokeAllUserSessions: (userId: string) => Promise<number>;
|
|
46
47
|
};
|
|
48
|
+
observability?: {
|
|
49
|
+
auditAdapter?: ObservabilityLogAdapter<AdminAuditEntry>;
|
|
50
|
+
requestAdapter?: ObservabilityLogAdapter<RequestLog>;
|
|
51
|
+
errorAdapter?: ObservabilityLogAdapter<ErrorLog>;
|
|
52
|
+
};
|
|
47
53
|
security?: AdminSecurityConfig;
|
|
48
54
|
dataExplorer?: DataExplorerConfig;
|
|
49
55
|
taskMonitor?: TaskMonitorConfig;
|
|
@@ -70,6 +76,8 @@ interface ErrorLog {
|
|
|
70
76
|
stack?: string;
|
|
71
77
|
statusCode: number;
|
|
72
78
|
}
|
|
79
|
+
export declare const setRequestLogAdapter: (adapter: ObservabilityLogAdapter<RequestLog>) => void;
|
|
80
|
+
export declare const setErrorLogAdapter: (adapter: ObservabilityLogAdapter<ErrorLog>) => void;
|
|
73
81
|
export declare const logRequest: (log: RequestLog) => void;
|
|
74
82
|
export declare const logError: (log: ErrorLog) => void;
|
|
75
83
|
export interface AdminRequestLoggerOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/ui/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgB,KAAK,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAOlE,OAAO,EAEL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/ui/middleware.ts"],"names":[],"mappings":"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"}
|