openclaw-observability 2026.3.14 → 2026.3.17
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/index.d.ts.map +1 -1
- package/dist/index.js +111 -8
- package/dist/index.js.map +1 -1
- package/dist/storage/duckdb-local-writer.d.ts +6 -0
- package/dist/storage/duckdb-local-writer.d.ts.map +1 -1
- package/dist/storage/duckdb-local-writer.js +149 -6
- package/dist/storage/duckdb-local-writer.js.map +1 -1
- package/dist/storage/duckdb-local-writer.test.js +211 -0
- package/dist/storage/duckdb-local-writer.test.js.map +1 -1
- package/dist/storage/mysql-writer.d.ts.map +1 -1
- package/dist/storage/mysql-writer.js +8 -4
- package/dist/storage/mysql-writer.js.map +1 -1
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js +23 -2
- package/dist/storage/schema.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/web/api.d.ts +2 -0
- package/dist/web/api.d.ts.map +1 -1
- package/dist/web/api.js.map +1 -1
- package/dist/web/routes.js +1 -1
- package/dist/web/routes.js.map +1 -1
- package/dist/web/ui.js +3 -0
- package/dist/web/ui.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAe5D,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;IACjE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,WAAW,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;QACzI,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,KAAK,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAe5D,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;IACjE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,WAAW,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;QACzI,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,KAAK,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA6iBD,iBAAS,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAojCrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,eAAe,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -271,13 +271,91 @@ function extractMediaMeta(historyMessages) {
|
|
|
271
271
|
return media;
|
|
272
272
|
}
|
|
273
273
|
const sessionContextMap = new Map();
|
|
274
|
+
/* ------------------------------------------------------------------ */
|
|
275
|
+
/* Channel identification constants and types */
|
|
276
|
+
/* ------------------------------------------------------------------ */
|
|
277
|
+
/** Channel identification keywords */
|
|
278
|
+
const CHANNEL_KEYWORDS = {
|
|
279
|
+
dingtalk: ['dingtalk', 'ding'],
|
|
280
|
+
wechat: ['wechat', 'wx'],
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
283
|
+
* Identify channel from multiple sources
|
|
284
|
+
* Priority: ctx.channelId > ctx.channel > metadata > messageProvider > trigger > other ctx fields
|
|
285
|
+
*/
|
|
286
|
+
function identifyChannel(ctx, metadata) {
|
|
287
|
+
// 1. Primary: ctx.channelId or ctx.channel
|
|
288
|
+
let channelId = ctx?.channelId || ctx?.channel;
|
|
289
|
+
// 2. Metadata fallback
|
|
290
|
+
if (!channelId && metadata) {
|
|
291
|
+
channelId = (metadata.channelId || metadata.channel || metadata.source);
|
|
292
|
+
}
|
|
293
|
+
// 3. If channelId is "webchat" or empty, try to infer from messageProvider
|
|
294
|
+
if (channelId === 'webchat' || !channelId) {
|
|
295
|
+
if (ctx?.messageProvider) {
|
|
296
|
+
const provider = String(ctx.messageProvider).toLowerCase();
|
|
297
|
+
for (const [channel, keywords] of Object.entries(CHANNEL_KEYWORDS)) {
|
|
298
|
+
if (keywords.some(kw => provider.includes(kw))) {
|
|
299
|
+
channelId = channel;
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// 4. Check trigger field
|
|
305
|
+
if ((channelId === 'webchat' || !channelId) && ctx?.trigger) {
|
|
306
|
+
const trigger = String(ctx.trigger).toLowerCase();
|
|
307
|
+
for (const [channel, keywords] of Object.entries(CHANNEL_KEYWORDS)) {
|
|
308
|
+
if (keywords.some(kw => trigger.includes(kw))) {
|
|
309
|
+
channelId = channel;
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// 5. Check other ctx fields (limited to first 10 keys for performance)
|
|
315
|
+
if ((channelId === 'webchat' || !channelId) && ctx) {
|
|
316
|
+
const ctxKeys = Object.keys(ctx);
|
|
317
|
+
const maxKeys = Math.min(ctxKeys.length, 10); // Limit to first 10 keys for performance
|
|
318
|
+
for (let i = 0; i < maxKeys; i++) {
|
|
319
|
+
const key = ctxKeys[i];
|
|
320
|
+
const keyLower = key.toLowerCase();
|
|
321
|
+
const value = String(ctx[key] || '').toLowerCase();
|
|
322
|
+
for (const [channel, keywords] of Object.entries(CHANNEL_KEYWORDS)) {
|
|
323
|
+
if (keywords.some(kw => keyLower.includes(kw) || value.includes(kw))) {
|
|
324
|
+
channelId = channel;
|
|
325
|
+
break;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
if (channelId && channelId !== 'webchat')
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
return channelId || 'webchat';
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Save channelId to session context with priority logic
|
|
337
|
+
* Prefers non-webchat values over webchat
|
|
338
|
+
*/
|
|
339
|
+
function saveChannelToContext(sessionId, channelId) {
|
|
340
|
+
if (sessionId === 'unknown' || !channelId)
|
|
341
|
+
return;
|
|
342
|
+
const sctx = getSessionCtx(sessionId);
|
|
343
|
+
// Prefer non-webchat values
|
|
344
|
+
if (channelId && channelId !== 'webchat') {
|
|
345
|
+
sctx.channelId = channelId;
|
|
346
|
+
}
|
|
347
|
+
else if (!sctx.channelId || sctx.channelId === 'webchat') {
|
|
348
|
+
// Only use webchat if no better channelId found
|
|
349
|
+
sctx.channelId = channelId || 'webchat';
|
|
350
|
+
}
|
|
351
|
+
}
|
|
274
352
|
/** Most recently active sessionId (ultimate fallback when hook does not carry sessionId) */
|
|
275
353
|
let lastFallbackSessionId = 'unknown';
|
|
276
354
|
/** Get or create session context */
|
|
277
355
|
function getSessionCtx(sessionId) {
|
|
278
356
|
let ctx = sessionContextMap.get(sessionId);
|
|
279
357
|
if (!ctx) {
|
|
280
|
-
ctx = { sessionId, userId: '', modelName: '' };
|
|
358
|
+
ctx = { sessionId, userId: '', modelName: '', channelId: '' };
|
|
281
359
|
sessionContextMap.set(sessionId, ctx);
|
|
282
360
|
}
|
|
283
361
|
return ctx;
|
|
@@ -299,6 +377,7 @@ const sessionStatsMap = new Map();
|
|
|
299
377
|
const MAX_SESSION_STATS = 200;
|
|
300
378
|
/** Update session statistics and return AuditSession */
|
|
301
379
|
function updateSessionStats(sessionId, modelName, userId, tokens) {
|
|
380
|
+
const sctx = getSessionCtx(sessionId);
|
|
302
381
|
let stats = sessionStatsMap.get(sessionId);
|
|
303
382
|
if (!stats) {
|
|
304
383
|
stats = {
|
|
@@ -306,6 +385,7 @@ function updateSessionStats(sessionId, modelName, userId, tokens) {
|
|
|
306
385
|
lastSeen: new Date(),
|
|
307
386
|
modelName,
|
|
308
387
|
userId,
|
|
388
|
+
channelId: sctx.channelId,
|
|
309
389
|
totalActions: 0,
|
|
310
390
|
totalTokens: 0,
|
|
311
391
|
};
|
|
@@ -318,10 +398,13 @@ function updateSessionStats(sessionId, modelName, userId, tokens) {
|
|
|
318
398
|
stats.modelName = modelName;
|
|
319
399
|
if (userId)
|
|
320
400
|
stats.userId = userId;
|
|
401
|
+
if (sctx.channelId)
|
|
402
|
+
stats.channelId = sctx.channelId;
|
|
321
403
|
return {
|
|
322
404
|
sessionId,
|
|
323
405
|
userId: stats.userId,
|
|
324
406
|
modelName: stats.modelName,
|
|
407
|
+
channelId: stats.channelId,
|
|
325
408
|
startTime: stats.firstSeen,
|
|
326
409
|
endTime: stats.lastSeen,
|
|
327
410
|
totalActions: stats.totalActions,
|
|
@@ -342,6 +425,7 @@ function makeAction(sessionId, overrides) {
|
|
|
342
425
|
completionTokens: overrides.completionTokens ?? null,
|
|
343
426
|
durationMs: overrides.durationMs ?? null,
|
|
344
427
|
userId: overrides.userId ?? sctx.userId,
|
|
428
|
+
channelId: overrides.channelId ?? sctx.channelId,
|
|
345
429
|
createdAt: overrides.createdAt ?? new Date(),
|
|
346
430
|
};
|
|
347
431
|
}
|
|
@@ -606,8 +690,13 @@ function activate(api) {
|
|
|
606
690
|
}
|
|
607
691
|
if (c?.agentId)
|
|
608
692
|
sctx.userId = c.agentId;
|
|
693
|
+
// Identify channel from multiple sources
|
|
694
|
+
const identifiedChannel = identifyChannel(c);
|
|
695
|
+
saveChannelToContext(sid, identifiedChannel);
|
|
696
|
+
// Use identified channel or existing context channel
|
|
697
|
+
const channelId = identifiedChannel !== 'webchat' ? identifiedChannel : (sctx.channelId || 'webchat');
|
|
609
698
|
sctx.modelName = `${e.provider}/${e.model}`;
|
|
610
|
-
console.log(`[openclaw-observability] llm_input: session=${sid} model=${e.provider}/${e.model} runId=${e.runId} images=${e.imagesCount ?? 0} mediaParts=${media.length}`);
|
|
699
|
+
console.log(`[openclaw-observability] llm_input: session=${sid} model=${e.provider}/${e.model} runId=${e.runId} channel=${channelId} images=${e.imagesCount ?? 0} mediaParts=${media.length}`);
|
|
611
700
|
}
|
|
612
701
|
catch (err) {
|
|
613
702
|
console.error('[openclaw-observability] Error in llm_input:', err);
|
|
@@ -776,9 +865,15 @@ function activate(api) {
|
|
|
776
865
|
try {
|
|
777
866
|
const e = event;
|
|
778
867
|
const c = ctx;
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
868
|
+
// Try to get sessionId from ctx first, then fallback
|
|
869
|
+
const sid = c?.sessionId || lastFallbackSessionId;
|
|
870
|
+
// Identify channel from multiple sources
|
|
871
|
+
const identifiedChannel = identifyChannel(c, e.metadata);
|
|
872
|
+
// Save channelId to session context (even if sessionId is unknown, save for later)
|
|
873
|
+
saveChannelToContext(sid, identifiedChannel);
|
|
874
|
+
// Use identified channel or fallback to empty string
|
|
875
|
+
const channelId = identifiedChannel || '';
|
|
876
|
+
// Record action even if sessionId is unknown (channelId will be in inputParams)
|
|
782
877
|
recordAction(makeAction(sid, {
|
|
783
878
|
actionType: types_1.ActionType.UserMessage,
|
|
784
879
|
actionName: 'message_received',
|
|
@@ -786,12 +881,13 @@ function activate(api) {
|
|
|
786
881
|
inputParams: redactor.redact({
|
|
787
882
|
from: e.from,
|
|
788
883
|
content: e.content,
|
|
789
|
-
channelId:
|
|
884
|
+
channelId: channelId,
|
|
790
885
|
metadata: e.metadata,
|
|
791
886
|
}),
|
|
887
|
+
channelId: channelId,
|
|
792
888
|
createdAt: new Date(e.timestamp || Date.now()),
|
|
793
889
|
}));
|
|
794
|
-
console.log(`[openclaw-observability] message_received: from=${e.from} channel=${
|
|
890
|
+
console.log(`[openclaw-observability] message_received: session=${sid} from=${e.from} channel=${channelId || 'none'} len=${e.content?.length}`);
|
|
795
891
|
}
|
|
796
892
|
catch (err) {
|
|
797
893
|
console.error('[openclaw-observability] Error in message_received:', err);
|
|
@@ -988,15 +1084,22 @@ function activate(api) {
|
|
|
988
1084
|
const sctx = getSessionCtx(sid);
|
|
989
1085
|
if (c?.agentId)
|
|
990
1086
|
sctx.userId = c.agentId;
|
|
1087
|
+
// Identify channel from multiple sources
|
|
1088
|
+
const identifiedChannel = identifyChannel(c);
|
|
1089
|
+
saveChannelToContext(sid, identifiedChannel);
|
|
1090
|
+
// Use identified channel or existing context channel
|
|
1091
|
+
const channelId = identifiedChannel !== 'webchat' ? identifiedChannel : (sctx.channelId || 'webchat');
|
|
991
1092
|
recordAction(makeAction(sid, {
|
|
992
1093
|
actionType: types_1.ActionType.SessionStart,
|
|
993
1094
|
actionName: 'session_start',
|
|
994
1095
|
userId: c?.agentId,
|
|
995
1096
|
inputParams: redactor.redact({
|
|
996
1097
|
resumedFrom: e.resumedFrom,
|
|
1098
|
+
channelId: channelId,
|
|
997
1099
|
}),
|
|
1100
|
+
channelId: channelId,
|
|
998
1101
|
}));
|
|
999
|
-
console.log(`[openclaw-observability] session_start: session=${sid} resumed=${e.resumedFrom}`);
|
|
1102
|
+
console.log(`[openclaw-observability] session_start: session=${sid} resumed=${e.resumedFrom} channel=${channelId || 'unknown'}`);
|
|
1000
1103
|
}
|
|
1001
1104
|
catch (err) {
|
|
1002
1105
|
console.error('[openclaw-observability] Error in session_start:', err);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,12 @@ export declare class DuckDBLocalWriter implements AuditWriter {
|
|
|
43
43
|
writeAlerts(alerts: SecurityAlert[]): Promise<void>;
|
|
44
44
|
getPool(): QueryPool | null;
|
|
45
45
|
close(): Promise<void>;
|
|
46
|
+
/** Check if a column exists in a table */
|
|
47
|
+
private _hasColumn;
|
|
48
|
+
/** Check if an index exists */
|
|
49
|
+
private _hasIndex;
|
|
50
|
+
/** Ensure channel_id column exists (migration helper) - silent check */
|
|
51
|
+
private _ensureChannelIdColumn;
|
|
46
52
|
private _formatDate;
|
|
47
53
|
}
|
|
48
54
|
//# sourceMappingURL=duckdb-local-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duckdb-local-writer.d.ts","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"duckdb-local-writer.d.ts","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA2QzC,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,qFAAqF;IACrF,OAAO,CAAC,YAAY,CAA8B;IAElD;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU,CAAK;gBAEX,MAAM,EAAE,YAAY;IAIhC,0DAA0D;IAC1D,OAAO,CAAC,OAAO;IAIT,UAAU,CAAC,UAAU,SAAI,EAAE,YAAY,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAatD,oBAAoB;IAmDlC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAwBtB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAoBvB,aAAa;IAyJrB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAoBzC,YAAY;YAyBZ,aAAa;IAiDrB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzD,OAAO,IAAI,SAAS,GAAG,IAAI;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5B,0CAA0C;YAC5B,UAAU;IA2BxB,+BAA+B;YACjB,SAAS;IA2BvB,wEAAwE;YAC1D,sBAAsB;IAmBpC,OAAO,CAAC,WAAW;CAKpB"}
|
|
@@ -244,16 +244,20 @@ const DUCKDB_SCHEMA_STATEMENTS = [
|
|
|
244
244
|
completion_tokens INTEGER DEFAULT NULL,
|
|
245
245
|
duration_ms INTEGER DEFAULT NULL,
|
|
246
246
|
user_id VARCHAR(128) DEFAULT '',
|
|
247
|
+
channel_id VARCHAR(128) DEFAULT '',
|
|
247
248
|
created_at TIMESTAMP DEFAULT current_timestamp
|
|
248
249
|
)`,
|
|
249
250
|
`CREATE INDEX IF NOT EXISTS idx_act_session ON audit_actions(session_id)`,
|
|
250
251
|
`CREATE INDEX IF NOT EXISTS idx_act_type ON audit_actions(action_type)`,
|
|
251
252
|
`CREATE INDEX IF NOT EXISTS idx_act_created ON audit_actions(created_at)`,
|
|
252
253
|
`CREATE INDEX IF NOT EXISTS idx_act_user ON audit_actions(user_id)`,
|
|
254
|
+
// Note: idx_act_channel is created after migration (see migration logic below)
|
|
255
|
+
// This prevents errors when table exists without channel_id column
|
|
253
256
|
`CREATE TABLE IF NOT EXISTS audit_sessions (
|
|
254
257
|
session_id VARCHAR(64) PRIMARY KEY,
|
|
255
258
|
user_id VARCHAR(128) DEFAULT '',
|
|
256
259
|
model_name VARCHAR(128) DEFAULT '',
|
|
260
|
+
channel_id VARCHAR(128) DEFAULT '',
|
|
257
261
|
start_time TIMESTAMP NOT NULL,
|
|
258
262
|
end_time TIMESTAMP DEFAULT NULL,
|
|
259
263
|
total_actions INTEGER DEFAULT 0,
|
|
@@ -261,6 +265,8 @@ const DUCKDB_SCHEMA_STATEMENTS = [
|
|
|
261
265
|
)`,
|
|
262
266
|
`CREATE INDEX IF NOT EXISTS idx_ses_user ON audit_sessions(user_id)`,
|
|
263
267
|
`CREATE INDEX IF NOT EXISTS idx_ses_start ON audit_sessions(start_time)`,
|
|
268
|
+
// Note: idx_ses_channel is created after migration (see migration logic below)
|
|
269
|
+
// This prevents errors when table exists without channel_id column
|
|
264
270
|
`CREATE TABLE IF NOT EXISTS audit_alerts (
|
|
265
271
|
id BIGINT PRIMARY KEY,
|
|
266
272
|
alert_id VARCHAR(64) NOT NULL,
|
|
@@ -478,6 +484,65 @@ class DuckDBLocalWriter {
|
|
|
478
484
|
for (const stmt of DUCKDB_SCHEMA_STATEMENTS) {
|
|
479
485
|
await this.pool.run(stmt);
|
|
480
486
|
}
|
|
487
|
+
// Migration: add channel_id column if it doesn't exist (for existing databases)
|
|
488
|
+
// Silently check if column exists before adding to avoid unnecessary logs
|
|
489
|
+
const hasChannelIdInActions = await this._hasColumn('audit_actions', 'channel_id');
|
|
490
|
+
if (!hasChannelIdInActions) {
|
|
491
|
+
try {
|
|
492
|
+
await this.pool.run(`ALTER TABLE audit_actions ADD COLUMN channel_id VARCHAR(128) DEFAULT ''`);
|
|
493
|
+
// Only log when actually adding the column (silent if already exists)
|
|
494
|
+
}
|
|
495
|
+
catch (err) {
|
|
496
|
+
const errMsg = err.message || String(err);
|
|
497
|
+
if (!errMsg.includes('already exists') && !errMsg.includes('duplicate column')) {
|
|
498
|
+
console.warn('[openclaw-observability] Failed to add channel_id to audit_actions:', errMsg);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
const hasChannelIdInSessions = await this._hasColumn('audit_sessions', 'channel_id');
|
|
503
|
+
if (!hasChannelIdInSessions) {
|
|
504
|
+
try {
|
|
505
|
+
await this.pool.run(`ALTER TABLE audit_sessions ADD COLUMN channel_id VARCHAR(128) DEFAULT ''`);
|
|
506
|
+
// Only log when actually adding the column (silent if already exists)
|
|
507
|
+
}
|
|
508
|
+
catch (err) {
|
|
509
|
+
const errMsg = err.message || String(err);
|
|
510
|
+
if (!errMsg.includes('already exists') && !errMsg.includes('duplicate column')) {
|
|
511
|
+
console.warn('[openclaw-observability] Failed to add channel_id to audit_sessions:', errMsg);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
// Create index if column exists and index doesn't exist (silent check)
|
|
516
|
+
const hasChannelIdColumn = await this._hasColumn('audit_actions', 'channel_id');
|
|
517
|
+
if (hasChannelIdColumn) {
|
|
518
|
+
const hasIndex = await this._hasIndex('audit_actions', 'idx_act_channel');
|
|
519
|
+
if (!hasIndex) {
|
|
520
|
+
try {
|
|
521
|
+
await this.pool.run(`CREATE INDEX idx_act_channel ON audit_actions(channel_id)`);
|
|
522
|
+
}
|
|
523
|
+
catch (err) {
|
|
524
|
+
const errMsg = err.message || String(err);
|
|
525
|
+
if (!errMsg.includes('already exists')) {
|
|
526
|
+
console.warn('[openclaw-observability] Failed to create idx_act_channel:', errMsg);
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
const hasChannelIdInSessionsCol = await this._hasColumn('audit_sessions', 'channel_id');
|
|
532
|
+
if (hasChannelIdInSessionsCol) {
|
|
533
|
+
const hasIndex = await this._hasIndex('audit_sessions', 'idx_ses_channel');
|
|
534
|
+
if (!hasIndex) {
|
|
535
|
+
try {
|
|
536
|
+
await this.pool.run(`CREATE INDEX idx_ses_channel ON audit_sessions(channel_id)`);
|
|
537
|
+
}
|
|
538
|
+
catch (err) {
|
|
539
|
+
const errMsg = err.message || String(err);
|
|
540
|
+
if (!errMsg.includes('already exists')) {
|
|
541
|
+
console.warn('[openclaw-observability] Failed to create idx_ses_channel:', errMsg);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
}
|
|
481
546
|
// Checkpoint on startup: merge any leftover WAL from previous (possibly unclean) shutdown
|
|
482
547
|
// This is critical: if WAL exists without main file, data recovery depends on successful checkpoint
|
|
483
548
|
try {
|
|
@@ -523,11 +588,13 @@ class DuckDBLocalWriter {
|
|
|
523
588
|
async writeActions(actions) {
|
|
524
589
|
if (!this.pool)
|
|
525
590
|
return;
|
|
591
|
+
// Ensure channel_id column exists before writing (migration safety check)
|
|
592
|
+
await this._ensureChannelIdColumn('audit_actions');
|
|
526
593
|
const sql = `
|
|
527
594
|
INSERT INTO audit_actions
|
|
528
595
|
(id, session_id, action_type, action_name, model_name, input_params, output_result,
|
|
529
|
-
prompt_tokens, completion_tokens, duration_ms, user_id, created_at)
|
|
530
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
596
|
+
prompt_tokens, completion_tokens, duration_ms, user_id, channel_id, created_at)
|
|
597
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
531
598
|
`;
|
|
532
599
|
for (const a of actions) {
|
|
533
600
|
await this.pool.run(sql, [
|
|
@@ -536,7 +603,7 @@ class DuckDBLocalWriter {
|
|
|
536
603
|
a.inputParams ? JSON.stringify(a.inputParams) : null,
|
|
537
604
|
a.outputResult ? JSON.stringify(a.outputResult) : null,
|
|
538
605
|
a.promptTokens, a.completionTokens, a.durationMs,
|
|
539
|
-
a.userId,
|
|
606
|
+
a.userId, a.channelId || '',
|
|
540
607
|
this._formatDate(a.createdAt),
|
|
541
608
|
]);
|
|
542
609
|
}
|
|
@@ -565,17 +632,18 @@ class DuckDBLocalWriter {
|
|
|
565
632
|
// This prevents PRIMARY KEY constraint violations when multiple processes
|
|
566
633
|
// or concurrent transactions try to insert the same session_id
|
|
567
634
|
await this.pool.run(`INSERT INTO audit_sessions
|
|
568
|
-
(session_id, user_id, model_name, start_time, end_time, total_actions, total_tokens)
|
|
569
|
-
VALUES (?, ?, ?, CAST(? AS TIMESTAMP), CAST(? AS TIMESTAMP), ?, ?)
|
|
635
|
+
(session_id, user_id, model_name, channel_id, start_time, end_time, total_actions, total_tokens)
|
|
636
|
+
VALUES (?, ?, ?, ?, CAST(? AS TIMESTAMP), CAST(? AS TIMESTAMP), ?, ?)
|
|
570
637
|
ON CONFLICT (session_id) DO UPDATE SET
|
|
571
638
|
user_id = COALESCE(EXCLUDED.user_id, audit_sessions.user_id),
|
|
572
639
|
model_name = CASE WHEN EXCLUDED.model_name != '' THEN EXCLUDED.model_name ELSE audit_sessions.model_name END,
|
|
640
|
+
channel_id = CASE WHEN EXCLUDED.channel_id != '' THEN EXCLUDED.channel_id ELSE audit_sessions.channel_id END,
|
|
573
641
|
start_time = CASE WHEN audit_sessions.start_time < EXCLUDED.start_time THEN audit_sessions.start_time ELSE EXCLUDED.start_time END,
|
|
574
642
|
end_time = EXCLUDED.end_time,
|
|
575
643
|
total_actions = EXCLUDED.total_actions,
|
|
576
644
|
total_tokens = EXCLUDED.total_tokens`, [
|
|
577
645
|
session.sessionId,
|
|
578
|
-
session.userId, session.modelName,
|
|
646
|
+
session.userId, session.modelName, session.channelId || '',
|
|
579
647
|
this._formatDate(session.startTime), this._formatDate(session.endTime),
|
|
580
648
|
totalActions, totalTokens,
|
|
581
649
|
]);
|
|
@@ -629,6 +697,81 @@ class DuckDBLocalWriter {
|
|
|
629
697
|
}
|
|
630
698
|
}
|
|
631
699
|
/* ---- Helpers ---- */
|
|
700
|
+
/** Check if a column exists in a table */
|
|
701
|
+
async _hasColumn(tableName, columnName) {
|
|
702
|
+
if (!this.pool)
|
|
703
|
+
return false;
|
|
704
|
+
try {
|
|
705
|
+
// Try DuckDB information_schema first
|
|
706
|
+
const [result] = await this.pool.query(`SELECT column_name FROM information_schema.columns
|
|
707
|
+
WHERE table_name = ? AND column_name = ?`, [tableName, columnName]);
|
|
708
|
+
return Array.isArray(result) && result.length > 0;
|
|
709
|
+
}
|
|
710
|
+
catch (err) {
|
|
711
|
+
// If information_schema is not available, try DESCRIBE as fallback
|
|
712
|
+
try {
|
|
713
|
+
const [descResult] = await this.pool.query(`DESCRIBE ${tableName}`);
|
|
714
|
+
if (Array.isArray(descResult)) {
|
|
715
|
+
return descResult.some((row) => {
|
|
716
|
+
const r = row;
|
|
717
|
+
return (r.column_name || r.name) === columnName;
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
catch (descErr) {
|
|
722
|
+
// Both methods failed, fallback to try-catch on ALTER
|
|
723
|
+
}
|
|
724
|
+
return false;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
/** Check if an index exists */
|
|
728
|
+
async _hasIndex(tableName, indexName) {
|
|
729
|
+
if (!this.pool)
|
|
730
|
+
return false;
|
|
731
|
+
try {
|
|
732
|
+
// Try DuckDB information_schema first
|
|
733
|
+
const [result] = await this.pool.query(`SELECT index_name FROM information_schema.indexes
|
|
734
|
+
WHERE table_name = ? AND index_name = ?`, [tableName, indexName]);
|
|
735
|
+
return Array.isArray(result) && result.length > 0;
|
|
736
|
+
}
|
|
737
|
+
catch (err) {
|
|
738
|
+
// If information_schema is not available, try SHOW INDEXES as fallback
|
|
739
|
+
try {
|
|
740
|
+
const [showResult] = await this.pool.query(`SHOW INDEXES FROM ${tableName}`);
|
|
741
|
+
if (Array.isArray(showResult)) {
|
|
742
|
+
return showResult.some((row) => {
|
|
743
|
+
const r = row;
|
|
744
|
+
return (r.index_name || r.name) === indexName;
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
catch (showErr) {
|
|
749
|
+
// Both methods failed, fallback to try-catch on CREATE INDEX
|
|
750
|
+
}
|
|
751
|
+
return false;
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
/** Ensure channel_id column exists (migration helper) - silent check */
|
|
755
|
+
async _ensureChannelIdColumn(tableName) {
|
|
756
|
+
if (!this.pool)
|
|
757
|
+
return;
|
|
758
|
+
const exists = await this._hasColumn(tableName, 'channel_id');
|
|
759
|
+
if (exists)
|
|
760
|
+
return; // Column exists, no action needed
|
|
761
|
+
try {
|
|
762
|
+
await this.pool.run(`ALTER TABLE ${tableName} ADD COLUMN channel_id VARCHAR(128) DEFAULT ''`);
|
|
763
|
+
// Only log when actually adding the column (silent if already exists)
|
|
764
|
+
}
|
|
765
|
+
catch (err) {
|
|
766
|
+
const errMsg = err.message || String(err);
|
|
767
|
+
// If column already exists, that's fine (silent success)
|
|
768
|
+
if (errMsg.includes('already exists') || errMsg.includes('duplicate column')) {
|
|
769
|
+
return; // Column exists, no action needed
|
|
770
|
+
}
|
|
771
|
+
// Other errors should be logged
|
|
772
|
+
console.warn(`[openclaw-observability] Failed to ensure channel_id in ${tableName}:`, errMsg);
|
|
773
|
+
}
|
|
774
|
+
}
|
|
632
775
|
_formatDate(d) {
|
|
633
776
|
if (!d)
|
|
634
777
|
return new Date().toISOString().replace('T', ' ').slice(0, 19);
|