@maadb/core 0.7.10-rc.5 → 0.7.10-rc.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/logging.d.ts.map +1 -1
- package/dist/logging.js +20 -0
- package/dist/logging.js.map +1 -1
- package/dist/mcp/guardrails.d.ts +11 -0
- package/dist/mcp/guardrails.d.ts.map +1 -1
- package/dist/mcp/guardrails.js +62 -1
- package/dist/mcp/guardrails.js.map +1 -1
- package/package.json +1 -1
package/dist/logging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAkBA,OAAa,EAAE,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
|
package/dist/logging.js
CHANGED
|
@@ -17,13 +17,33 @@
|
|
|
17
17
|
// ============================================================================
|
|
18
18
|
import pino from 'pino';
|
|
19
19
|
import { createWriteStream } from 'node:fs';
|
|
20
|
+
// Pino redact paths. Two classes:
|
|
21
|
+
//
|
|
22
|
+
// 1. Auth/secret fields — never appear in logs, regardless of caller.
|
|
23
|
+
// 2. Document body fields — pino is telemetry, NOT a content archive.
|
|
24
|
+
// Raw document bodies live in MAADB storage + git history; logging them
|
|
25
|
+
// duplicates durable content into Docker stdout/json logs, creates an
|
|
26
|
+
// info-disclosure surface for customer/project data, and is a plausible
|
|
27
|
+
// pino transport / object-retention contributor to load-proportional
|
|
28
|
+
// native-memory growth. Callers SHOULD project body fields into byte
|
|
29
|
+
// counts before logging (see src/mcp/guardrails.ts:auditToolCall); these
|
|
30
|
+
// paths are the belt-and-braces backstop if any path slips past.
|
|
20
31
|
const REDACT_PATHS = [
|
|
32
|
+
// auth/secret
|
|
21
33
|
'args.authorization',
|
|
22
34
|
'args.token',
|
|
23
35
|
'args.bearer',
|
|
24
36
|
'args.headers.authorization',
|
|
25
37
|
'authorization',
|
|
26
38
|
'headers.authorization',
|
|
39
|
+
// document bodies — single record
|
|
40
|
+
'args.body',
|
|
41
|
+
'args.appendBody',
|
|
42
|
+
// document bodies — bulk_create
|
|
43
|
+
'args.records[*].body',
|
|
44
|
+
// document bodies — bulk_update
|
|
45
|
+
'args.updates[*].body',
|
|
46
|
+
'args.updates[*].appendBody',
|
|
27
47
|
];
|
|
28
48
|
let opsLog;
|
|
29
49
|
let auditLog;
|
package/dist/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,oCAAoC;AACpC,EAAE;AACF,wEAAwE;AACxE,qEAAqE;AACrE,8EAA8E;AAC9E,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,0EAA0E;AAC1E,yEAAyE;AACzE,WAAW;AACX,+EAA+E;AAE/E,OAAO,IAA6C,MAAM,MAAM,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,YAAY,GAAG;IACnB,oBAAoB;IACpB,YAAY;IACZ,aAAa;IACb,4BAA4B;IAC5B,eAAe;IACf,uBAAuB;
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/guardrails.d.ts
CHANGED
|
@@ -28,6 +28,17 @@ export declare function requireConfirm(args: {
|
|
|
28
28
|
* Log every tool call for audit trail. Optional `extras` lets destructive
|
|
29
29
|
* tools stamp confirm_mode (and future fields) on the audit payload without
|
|
30
30
|
* needing a separate writer.
|
|
31
|
+
*
|
|
32
|
+
* **Logging contract.** Pino is telemetry, not a content archive. Raw document
|
|
33
|
+
* bodies live in MAADB storage + git history; this helper projects body and
|
|
34
|
+
* appendBody fields into byte counts (`bodyBytes`, `appendBodyBytes`) before
|
|
35
|
+
* the log line is emitted. Frontmatter `fields` objects collapse to
|
|
36
|
+
* `fieldNames` (keys only — values stay out of pino). Bulk `records` /
|
|
37
|
+
* `updates` arrays collapse to counts and per-element body byte counts.
|
|
38
|
+
* Other small scalars (docId, docType, project, expectedVersion,
|
|
39
|
+
* idempotencyKey, confirm) pass through verbatim. The pino layer also redacts
|
|
40
|
+
* any leftover `args.body` / `args.appendBody` / `args.records[*].body` etc.
|
|
41
|
+
* paths as defense in depth (see src/logging.ts REDACT_PATHS).
|
|
31
42
|
*/
|
|
32
43
|
export declare function auditToolCall(toolName: string, args: Record<string, unknown>, extras?: Record<string, unknown>): void;
|
|
33
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/mcp/guardrails.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAID,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,CAM5E;AAED
|
|
1
|
+
{"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/mcp/guardrails.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC;AAID,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,CAM5E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAGN;AAiDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAYlI"}
|
package/dist/mcp/guardrails.js
CHANGED
|
@@ -35,9 +35,70 @@ export function requireConfirm(args) {
|
|
|
35
35
|
* Log every tool call for audit trail. Optional `extras` lets destructive
|
|
36
36
|
* tools stamp confirm_mode (and future fields) on the audit payload without
|
|
37
37
|
* needing a separate writer.
|
|
38
|
+
*
|
|
39
|
+
* **Logging contract.** Pino is telemetry, not a content archive. Raw document
|
|
40
|
+
* bodies live in MAADB storage + git history; this helper projects body and
|
|
41
|
+
* appendBody fields into byte counts (`bodyBytes`, `appendBodyBytes`) before
|
|
42
|
+
* the log line is emitted. Frontmatter `fields` objects collapse to
|
|
43
|
+
* `fieldNames` (keys only — values stay out of pino). Bulk `records` /
|
|
44
|
+
* `updates` arrays collapse to counts and per-element body byte counts.
|
|
45
|
+
* Other small scalars (docId, docType, project, expectedVersion,
|
|
46
|
+
* idempotencyKey, confirm) pass through verbatim. The pino layer also redacts
|
|
47
|
+
* any leftover `args.body` / `args.appendBody` / `args.records[*].body` etc.
|
|
48
|
+
* paths as defense in depth (see src/logging.ts REDACT_PATHS).
|
|
38
49
|
*/
|
|
39
50
|
export function auditToolCall(toolName, args, extras) {
|
|
40
|
-
|
|
51
|
+
const projected = projectAuditArgs(args);
|
|
52
|
+
logger.info('mcp', 'tool_call', `${toolName}`, extras ? { args: projected, ...extras } : { args: projected });
|
|
53
|
+
}
|
|
54
|
+
function projectAuditArgs(args) {
|
|
55
|
+
const out = {};
|
|
56
|
+
for (const [k, v] of Object.entries(args)) {
|
|
57
|
+
if (k === 'body' && typeof v === 'string') {
|
|
58
|
+
out.bodyBytes = Buffer.byteLength(v, 'utf8');
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (k === 'appendBody' && typeof v === 'string') {
|
|
62
|
+
out.appendBodyBytes = Buffer.byteLength(v, 'utf8');
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (k === 'fields' && v && typeof v === 'object' && !Array.isArray(v)) {
|
|
66
|
+
out.fieldNames = Object.keys(v);
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (k === 'records' && Array.isArray(v)) {
|
|
70
|
+
out.recordCount = v.length;
|
|
71
|
+
out.recordBodyBytes = v.reduce((sum, r) => {
|
|
72
|
+
if (r && typeof r === 'object') {
|
|
73
|
+
const body = r.body;
|
|
74
|
+
if (typeof body === 'string')
|
|
75
|
+
return sum + Buffer.byteLength(body, 'utf8');
|
|
76
|
+
}
|
|
77
|
+
return sum;
|
|
78
|
+
}, 0);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (k === 'updates' && Array.isArray(v)) {
|
|
82
|
+
out.updateCount = v.length;
|
|
83
|
+
let body = 0;
|
|
84
|
+
let append = 0;
|
|
85
|
+
for (const u of v) {
|
|
86
|
+
if (u && typeof u === 'object') {
|
|
87
|
+
const b = u.body;
|
|
88
|
+
const a = u.appendBody;
|
|
89
|
+
if (typeof b === 'string')
|
|
90
|
+
body += Buffer.byteLength(b, 'utf8');
|
|
91
|
+
if (typeof a === 'string')
|
|
92
|
+
append += Buffer.byteLength(a, 'utf8');
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
out.updateBodyBytes = body;
|
|
96
|
+
out.updateAppendBodyBytes = append;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
out[k] = v;
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
41
102
|
}
|
|
42
103
|
/**
|
|
43
104
|
* Dry-run response: returns what would happen without executing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/mcp/guardrails.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,0DAA0D;AAC1D,+EAA+E;AAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,IAAI,MAAM,GAAoB,EAAE,CAAC;AAEjC,MAAM,UAAU,kBAAkB,CAAC,CAAkB;IACnD,MAAM,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,OAAO,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AASD;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,IAA2B;IACxD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,0HAA0H;KACpI,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/mcp/guardrails.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maadb/core",
|
|
3
|
-
"version": "0.7.10-rc.
|
|
3
|
+
"version": "0.7.10-rc.6",
|
|
4
4
|
"description": "Markdown As A Database — treats markdown as the canonical data store, builds a queryable index, and gives LLMs deterministic read/write access.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|