meldivo 1.0.5 → 1.0.6
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/server/logger.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
const levelWeight = { debug: 10, info: 20, warn: 30, error: 40 };
|
|
2
2
|
const knownApiPaths = new Set([
|
|
3
3
|
"/api/health",
|
|
4
|
-
"/api/
|
|
4
|
+
"/api/sessions",
|
|
5
|
+
"/api/remote",
|
|
5
6
|
"/api/voice/lease",
|
|
6
7
|
"/api/voice/lease/heartbeat",
|
|
7
8
|
"/api/voice/transcribe",
|
|
8
9
|
"/api/voice/voices",
|
|
9
10
|
"/api/voice/speech",
|
|
10
|
-
"/api/chat",
|
|
11
11
|
]);
|
|
12
12
|
const forbiddenField = /(?:api.?key|auth(?:orization)?|password|token|secret|body|content|message|text|transcript|audio)/i;
|
|
13
13
|
export function createLogger(configuredLevel = process.env.LOG_LEVEL) {
|
|
@@ -46,7 +46,7 @@ export function requestLoggingMiddleware(logger) {
|
|
|
46
46
|
logger.info("http_request", {
|
|
47
47
|
request_id: requestId,
|
|
48
48
|
method: req.method,
|
|
49
|
-
path: safeRequestPath(req.
|
|
49
|
+
path: safeRequestPath(req.originalUrl.split("?")[0]),
|
|
50
50
|
status: res.statusCode,
|
|
51
51
|
duration_ms: elapsedMs(startedAt),
|
|
52
52
|
});
|
|
@@ -57,7 +57,7 @@ export function requestLoggingMiddleware(logger) {
|
|
|
57
57
|
logger.warn("http_request_aborted", {
|
|
58
58
|
request_id: requestId,
|
|
59
59
|
method: req.method,
|
|
60
|
-
path: safeRequestPath(req.
|
|
60
|
+
path: safeRequestPath(req.originalUrl.split("?")[0]),
|
|
61
61
|
duration_ms: elapsedMs(startedAt),
|
|
62
62
|
});
|
|
63
63
|
});
|
|
@@ -91,6 +91,10 @@ function safeFields(fields) {
|
|
|
91
91
|
function safeRequestPath(path) {
|
|
92
92
|
if (knownApiPaths.has(path))
|
|
93
93
|
return path;
|
|
94
|
+
// Session keys are opaque ids; keep the route shape without them.
|
|
95
|
+
const sessionRoute = path.match(/^\/api\/sessions\/[^/]+\/(chat|cancel)$/);
|
|
96
|
+
if (sessionRoute)
|
|
97
|
+
return `/api/sessions/:key/${sessionRoute[1]}`;
|
|
94
98
|
if (path.startsWith("/api/"))
|
|
95
99
|
return "/api/unknown";
|
|
96
100
|
return path === "/" ? "/" : "/web-asset";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../server/src/logger.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,GAA6B,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC3F,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,aAAa;IACb,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../server/src/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "meldivo",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Always-on local voice hub for coding agents: talk hands-free to your Pi, OpenCode, and Claude Code sessions from any browser or phone. Private on-device speech (Parakeet + Kokoro). No cloud speech APIs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|