@maadb/core 0.7.9 → 0.7.10-rc.4

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.
Files changed (59) hide show
  1. package/README.md +2 -2
  2. package/dist/backend/adapter.d.ts +12 -0
  3. package/dist/backend/adapter.d.ts.map +1 -1
  4. package/dist/backend/sqlite/index.d.ts +6 -0
  5. package/dist/backend/sqlite/index.d.ts.map +1 -1
  6. package/dist/backend/sqlite/index.js +16 -0
  7. package/dist/backend/sqlite/index.js.map +1 -1
  8. package/dist/engine/backup.d.ts +9 -0
  9. package/dist/engine/backup.d.ts.map +1 -0
  10. package/dist/engine/backup.js +100 -0
  11. package/dist/engine/backup.js.map +1 -0
  12. package/dist/engine/index.d.ts +6 -0
  13. package/dist/engine/index.d.ts.map +1 -1
  14. package/dist/engine/index.js +5 -0
  15. package/dist/engine/index.js.map +1 -1
  16. package/dist/engine/reads.d.ts +2 -1
  17. package/dist/engine/reads.d.ts.map +1 -1
  18. package/dist/engine/reads.js +206 -2
  19. package/dist/engine/reads.js.map +1 -1
  20. package/dist/engine/types.d.ts +47 -1
  21. package/dist/engine/types.d.ts.map +1 -1
  22. package/dist/errors.d.ts +1 -1
  23. package/dist/errors.d.ts.map +1 -1
  24. package/dist/errors.js.map +1 -1
  25. package/dist/git/index.d.ts +22 -0
  26. package/dist/git/index.d.ts.map +1 -1
  27. package/dist/git/index.js +65 -0
  28. package/dist/git/index.js.map +1 -1
  29. package/dist/mcp/guardrails.d.ts +23 -2
  30. package/dist/mcp/guardrails.d.ts.map +1 -1
  31. package/dist/mcp/guardrails.js +22 -3
  32. package/dist/mcp/guardrails.js.map +1 -1
  33. package/dist/mcp/kinds.d.ts.map +1 -1
  34. package/dist/mcp/kinds.js +2 -0
  35. package/dist/mcp/kinds.js.map +1 -1
  36. package/dist/mcp/memory-pressure.d.ts +37 -0
  37. package/dist/mcp/memory-pressure.d.ts.map +1 -0
  38. package/dist/mcp/memory-pressure.js +179 -0
  39. package/dist/mcp/memory-pressure.js.map +1 -0
  40. package/dist/mcp/roles.d.ts.map +1 -1
  41. package/dist/mcp/roles.js +2 -1
  42. package/dist/mcp/roles.js.map +1 -1
  43. package/dist/mcp/server.d.ts.map +1 -1
  44. package/dist/mcp/server.js +10 -0
  45. package/dist/mcp/server.js.map +1 -1
  46. package/dist/mcp/tools/backup.d.ts +4 -0
  47. package/dist/mcp/tools/backup.d.ts.map +1 -0
  48. package/dist/mcp/tools/backup.js +52 -0
  49. package/dist/mcp/tools/backup.js.map +1 -0
  50. package/dist/mcp/tools/maintain.d.ts.map +1 -1
  51. package/dist/mcp/tools/maintain.js +8 -3
  52. package/dist/mcp/tools/maintain.js.map +1 -1
  53. package/dist/mcp/tools/read.d.ts.map +1 -1
  54. package/dist/mcp/tools/read.js +51 -7
  55. package/dist/mcp/tools/read.js.map +1 -1
  56. package/dist/parser/blocks.d.ts.map +1 -1
  57. package/dist/parser/blocks.js +3 -1
  58. package/dist/parser/blocks.js.map +1 -1
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { MaadError } from '../errors.js';
1
2
  export interface GuardrailConfig {
2
3
  dryRun?: boolean | undefined;
3
4
  toolAllowlist?: string[] | undefined;
@@ -6,9 +7,29 @@ export declare function setGuardrailConfig(c: GuardrailConfig): void;
6
7
  export declare function isDryRun(): boolean;
7
8
  export declare function isToolAllowed(toolName: string): boolean;
8
9
  /**
9
- * Log every tool call for audit trail.
10
+ * Audit-log marker for whether a destructive call ran as dry-run or confirmed.
11
+ * Stamped on the audit payload via auditToolCall's `extras` argument so
12
+ * post-hoc audit can distinguish exploration from action.
10
13
  */
11
- export declare function auditToolCall(toolName: string, args: Record<string, unknown>): void;
14
+ export type ConfirmMode = 'dry_run' | 'confirmed';
15
+ /**
16
+ * Confirm-contract guard for destructive tools (0.7.10).
17
+ *
18
+ * Returns null when args.confirm === true (caller has authorized mutation),
19
+ * otherwise returns a CONFIRM_REQUIRED MaadError. Boolean strictness — no
20
+ * truthy coercion; only literal true authorizes mutation. Callers decide
21
+ * whether to surface the error or return a dry-run response carrying the
22
+ * affected set. Spec default is the dry-run path.
23
+ */
24
+ export declare function requireConfirm(args: {
25
+ confirm?: unknown;
26
+ }): MaadError | null;
27
+ /**
28
+ * Log every tool call for audit trail. Optional `extras` lets destructive
29
+ * tools stamp confirm_mode (and future fields) on the audit payload without
30
+ * needing a separate writer.
31
+ */
32
+ export declare function auditToolCall(toolName: string, args: Record<string, unknown>, extras?: Record<string, unknown>): void;
12
33
  /**
13
34
  * Dry-run response: returns what would happen without executing.
14
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/mcp/guardrails.ts"],"names":[],"mappings":"AAMA,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;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEnF;AAED;;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"}
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;;;;GAIG;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,CAEN;AAED;;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"}
@@ -15,10 +15,29 @@ export function isToolAllowed(toolName) {
15
15
  return config.toolAllowlist.includes(toolName);
16
16
  }
17
17
  /**
18
- * Log every tool call for audit trail.
18
+ * Confirm-contract guard for destructive tools (0.7.10).
19
+ *
20
+ * Returns null when args.confirm === true (caller has authorized mutation),
21
+ * otherwise returns a CONFIRM_REQUIRED MaadError. Boolean strictness — no
22
+ * truthy coercion; only literal true authorizes mutation. Callers decide
23
+ * whether to surface the error or return a dry-run response carrying the
24
+ * affected set. Spec default is the dry-run path.
19
25
  */
20
- export function auditToolCall(toolName, args) {
21
- logger.info('mcp', 'tool_call', `${toolName}`, { args });
26
+ export function requireConfirm(args) {
27
+ if (args.confirm === true)
28
+ return null;
29
+ return {
30
+ code: 'CONFIRM_REQUIRED',
31
+ message: 'Mutation requires explicit confirm: true. Without it, the tool returns the would-affect result set without side effects.',
32
+ };
33
+ }
34
+ /**
35
+ * Log every tool call for audit trail. Optional `extras` lets destructive
36
+ * tools stamp confirm_mode (and future fields) on the audit payload without
37
+ * needing a separate writer.
38
+ */
39
+ export function auditToolCall(toolName, args, extras) {
40
+ logger.info('mcp', 'tool_call', `${toolName}`, extras ? { args, ...extras } : { args });
22
41
  }
23
42
  /**
24
43
  * 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;AAO7C,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;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,IAA6B;IAC3E,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,IAA6B;IAC5E,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,IAAI;iBACnB,CAAC;aACH,CAAC;KACH,CAAC;AACJ,CAAC"}
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;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,IAA6B,EAC7B,MAAgC;IAEhC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,IAA6B;IAC5E,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,QAAQ;oBACd,YAAY,EAAE,IAAI;iBACnB,CAAC;aACH,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../src/mcp/kinds.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAI7C,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,CAiBzC,CAAC;AAIH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAQ1C,CAAC;AAKH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAchD,CAAC;AAqBH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../src/mcp/kinds.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC;AAI7C,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,CAkBzC,CAAC;AAIH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAS1C,CAAC;AAKH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAchD,CAAC;AAqBH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
package/dist/mcp/kinds.js CHANGED
@@ -32,6 +32,7 @@ export const READ_TOOLS = new Set([
32
32
  'maad_describe',
33
33
  'maad_validate',
34
34
  'maad_health',
35
+ 'maad_find_orphans',
35
36
  ]);
36
37
  // Tools that flow through withEngine and may mutate engine state. Must
37
38
  // acquire the write mutex.
@@ -43,6 +44,7 @@ export const WRITE_TOOLS = new Set([
43
44
  'maad_delete',
44
45
  'maad_reindex',
45
46
  'maad_reload',
47
+ 'maad_backup',
46
48
  ]);
47
49
  // Tools that do not flow through withEngine — they operate on session /
48
50
  // instance state only and never resolve an engine. OperationKind does not
@@ -1 +1 @@
1
- {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../src/mcp/kinds.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,EAAE;AACF,qCAAqC;AACrC,iDAAiD;AACjD,wEAAwE;AACxE,gDAAgD;AAChD,yEAAyE;AACzE,+EAA+E;AAI/E,sEAAsE;AACtE,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC;IACrD,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,WAAW;IACX,cAAc;IACd,eAAe;IACf,eAAe;IACf,aAAa;CACd,CAAC,CAAC;AAEH,uEAAuE;AACvE,2BAA2B;AAC3B,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IACtD,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,aAAa;CACd,CAAC,CAAC;AAEH,wEAAwE;AACxE,0EAA0E;AAC1E,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC;AAEH,4EAA4E;AAC5E,0EAA0E;AAC1E,0BAA0B;AAC1B,CAAC,SAAS,cAAc;IACtB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,KAA0B,EAAE,EAAE;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,qBAAqB,IAAI,UAAU,MAAM,GAAG,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC,CAAC,EAAE,CAAC;AAEL;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../src/mcp/kinds.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,EAAE;AACF,qCAAqC;AACrC,iDAAiD;AACjD,wEAAwE;AACxE,gDAAgD;AAChD,yEAAyE;AACzE,+EAA+E;AAI/E,sEAAsE;AACtE,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC;IACrD,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,WAAW;IACX,cAAc;IACd,eAAe;IACf,eAAe;IACf,aAAa;IACb,mBAAmB;CACpB,CAAC,CAAC;AAEH,uEAAuE;AACvE,2BAA2B;AAC3B,MAAM,CAAC,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IACtD,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAEH,wEAAwE;AACxE,0EAA0E;AAC1E,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAC;AAEH,4EAA4E;AAC5E,0EAA0E;AAC1E,0BAA0B;AAC1B,CAAC,SAAS,cAAc;IACtB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,KAA0B,EAAE,EAAE;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,qBAAqB,IAAI,UAAU,MAAM,GAAG,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC,CAAC,EAAE,CAAC;AAEL;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,37 @@
1
+ export interface MemoryPressureOptions {
2
+ intervalMs: number;
3
+ thresholdRatio: number;
4
+ cooldownMs: number;
5
+ sampler?: Sampler;
6
+ now?: () => number;
7
+ }
8
+ export interface MemoryPressureSnapshot {
9
+ enabled: boolean;
10
+ intervalMs: number;
11
+ thresholdRatio: number;
12
+ lastSampleAt: string | null;
13
+ heapUsedMb: number | null;
14
+ heapCapMb: number | null;
15
+ ratio: number | null;
16
+ inPressure: boolean;
17
+ lastPressureAt: string | null;
18
+ pressureFiresTotal: number;
19
+ }
20
+ export type Sampler = () => {
21
+ heapUsedBytes: number;
22
+ heapCapBytes: number;
23
+ };
24
+ export declare function readMemoryPressureEnv(): MemoryPressureOptions;
25
+ export declare function initMemoryPressureWatcher(opts: MemoryPressureOptions): void;
26
+ export declare function stopMemoryPressureWatcher(): void;
27
+ /**
28
+ * Run one sample. Public so tests and shutdown paths can probe without
29
+ * waiting for the interval to fire. Never throws.
30
+ */
31
+ export declare function sampleOnce(): void;
32
+ export declare function getMemoryPressureSnapshot(): MemoryPressureSnapshot;
33
+ /**
34
+ * Test hook — resets module state. Never call from production code.
35
+ */
36
+ export declare function __resetMemoryPressureForTests(): void;
37
+ //# sourceMappingURL=memory-pressure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-pressure.d.ts","sourceRoot":"","sources":["../../src/mcp/memory-pressure.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,OAAO,GAAG,MAAM;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AA8C5E,wBAAgB,qBAAqB,IAAI,qBAAqB,CAM7D;AAQD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAkB3E;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAsCjC;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAiBlE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAcpD"}
@@ -0,0 +1,179 @@
1
+ // ============================================================================
2
+ // Memory Pressure Watcher — periodic V8 heap-usage sampler.
3
+ //
4
+ // Samples process.memoryUsage().heapUsed against v8.getHeapStatistics()
5
+ // heap_size_limit on an interval and emits a degraded-severity log event
6
+ // when the ratio passes a configured threshold. Pure observability — never
7
+ // mutates engine state, never throws, never blocks shutdown.
8
+ //
9
+ // Background: cgroup-capped deployments (e.g. 512 MiB container on Node 24)
10
+ // trip V8's auto-calibrated old-space cap at ~253 MB heap_size_limit. Without
11
+ // this surface, the only signal that a process is approaching the cap is
12
+ // post-mortem (exitCode=134 with "Reached heap limit"). The watcher gives
13
+ // operators a pre-OOM warning + a counter in maad_health.
14
+ //
15
+ // Disabled when intervalMs <= 0 (set MAAD_MEMORY_PRESSURE_INTERVAL_MS=0).
16
+ // Cooldown prevents log spam under sustained pressure — one fire per
17
+ // cooldown window while the ratio stays above threshold; the first sample
18
+ // below threshold re-arms the edge trigger.
19
+ // ============================================================================
20
+ import v8 from 'node:v8';
21
+ import { logger } from '../engine/logger.js';
22
+ const DEFAULT_INTERVAL_MS = 60_000;
23
+ const DEFAULT_THRESHOLD_RATIO = 0.8;
24
+ const DEFAULT_COOLDOWN_MS = 5 * 60_000;
25
+ const defaultSampler = () => {
26
+ const stats = v8.getHeapStatistics();
27
+ return {
28
+ heapUsedBytes: stats.used_heap_size,
29
+ heapCapBytes: stats.heap_size_limit,
30
+ };
31
+ };
32
+ const state = {
33
+ intervalMs: 0,
34
+ thresholdRatio: DEFAULT_THRESHOLD_RATIO,
35
+ cooldownMs: DEFAULT_COOLDOWN_MS,
36
+ sampler: defaultSampler,
37
+ now: () => Date.now(),
38
+ timer: null,
39
+ lastSampleAtMs: null,
40
+ heapUsedBytes: null,
41
+ heapCapBytes: null,
42
+ inPressure: false,
43
+ lastPressureAtMs: null,
44
+ lastFireAtMs: null,
45
+ pressureFiresTotal: 0,
46
+ };
47
+ export function readMemoryPressureEnv() {
48
+ const intervalMs = parseNumericEnv(process.env.MAAD_MEMORY_PRESSURE_INTERVAL_MS, DEFAULT_INTERVAL_MS);
49
+ const rawThreshold = parseNumericEnv(process.env.MAAD_MEMORY_PRESSURE_RATIO, DEFAULT_THRESHOLD_RATIO);
50
+ const cooldownMs = parseNumericEnv(process.env.MAAD_MEMORY_PRESSURE_COOLDOWN_MS, DEFAULT_COOLDOWN_MS);
51
+ const thresholdRatio = clamp(rawThreshold, 0, 1);
52
+ return { intervalMs, thresholdRatio, cooldownMs };
53
+ }
54
+ function parseNumericEnv(raw, fallback) {
55
+ if (!raw)
56
+ return fallback;
57
+ const parsed = Number(raw);
58
+ return Number.isFinite(parsed) ? parsed : fallback;
59
+ }
60
+ export function initMemoryPressureWatcher(opts) {
61
+ stopMemoryPressureWatcher();
62
+ state.intervalMs = opts.intervalMs;
63
+ state.thresholdRatio = clamp(opts.thresholdRatio, 0, 1);
64
+ state.cooldownMs = Math.max(0, opts.cooldownMs);
65
+ state.sampler = opts.sampler ?? defaultSampler;
66
+ state.now = opts.now ?? (() => Date.now());
67
+ state.lastSampleAtMs = null;
68
+ state.heapUsedBytes = null;
69
+ state.heapCapBytes = null;
70
+ state.inPressure = false;
71
+ state.lastPressureAtMs = null;
72
+ state.lastFireAtMs = null;
73
+ state.pressureFiresTotal = 0;
74
+ if (opts.intervalMs <= 0)
75
+ return;
76
+ const timer = setInterval(sampleOnce, opts.intervalMs);
77
+ timer.unref();
78
+ state.timer = timer;
79
+ }
80
+ export function stopMemoryPressureWatcher() {
81
+ if (state.timer) {
82
+ clearInterval(state.timer);
83
+ state.timer = null;
84
+ }
85
+ }
86
+ /**
87
+ * Run one sample. Public so tests and shutdown paths can probe without
88
+ * waiting for the interval to fire. Never throws.
89
+ */
90
+ export function sampleOnce() {
91
+ let sample;
92
+ try {
93
+ sample = state.sampler();
94
+ }
95
+ catch {
96
+ return;
97
+ }
98
+ const nowMs = state.now();
99
+ state.lastSampleAtMs = nowMs;
100
+ state.heapUsedBytes = sample.heapUsedBytes;
101
+ state.heapCapBytes = sample.heapCapBytes;
102
+ if (sample.heapCapBytes <= 0)
103
+ return;
104
+ const ratio = sample.heapUsedBytes / sample.heapCapBytes;
105
+ if (ratio >= state.thresholdRatio) {
106
+ const cooldownPassed = state.lastFireAtMs === null
107
+ || (nowMs - state.lastFireAtMs) >= state.cooldownMs;
108
+ const edgeTrigger = !state.inPressure;
109
+ if (edgeTrigger || cooldownPassed) {
110
+ logger.degraded('engine', 'memory_pressure', `V8 heap at ${formatPct(ratio)}% of cap (${bytesToMb(sample.heapUsedBytes)}MB / ${bytesToMb(sample.heapCapBytes)}MB)`, {
111
+ heap_used_mb: bytesToMb(sample.heapUsedBytes),
112
+ heap_cap_mb: bytesToMb(sample.heapCapBytes),
113
+ ratio: round3(ratio),
114
+ threshold_ratio: state.thresholdRatio,
115
+ edge: edgeTrigger,
116
+ });
117
+ state.pressureFiresTotal++;
118
+ state.lastFireAtMs = nowMs;
119
+ state.lastPressureAtMs = nowMs;
120
+ }
121
+ state.inPressure = true;
122
+ }
123
+ else {
124
+ state.inPressure = false;
125
+ }
126
+ }
127
+ export function getMemoryPressureSnapshot() {
128
+ const heapUsed = state.heapUsedBytes;
129
+ const heapCap = state.heapCapBytes;
130
+ const ratio = heapUsed !== null && heapCap !== null && heapCap > 0
131
+ ? round3(heapUsed / heapCap) : null;
132
+ return {
133
+ enabled: state.intervalMs > 0,
134
+ intervalMs: state.intervalMs,
135
+ thresholdRatio: state.thresholdRatio,
136
+ lastSampleAt: state.lastSampleAtMs !== null ? new Date(state.lastSampleAtMs).toISOString() : null,
137
+ heapUsedMb: heapUsed !== null ? bytesToMb(heapUsed) : null,
138
+ heapCapMb: heapCap !== null ? bytesToMb(heapCap) : null,
139
+ ratio,
140
+ inPressure: state.inPressure,
141
+ lastPressureAt: state.lastPressureAtMs !== null ? new Date(state.lastPressureAtMs).toISOString() : null,
142
+ pressureFiresTotal: state.pressureFiresTotal,
143
+ };
144
+ }
145
+ /**
146
+ * Test hook — resets module state. Never call from production code.
147
+ */
148
+ export function __resetMemoryPressureForTests() {
149
+ stopMemoryPressureWatcher();
150
+ state.intervalMs = 0;
151
+ state.thresholdRatio = DEFAULT_THRESHOLD_RATIO;
152
+ state.cooldownMs = DEFAULT_COOLDOWN_MS;
153
+ state.sampler = defaultSampler;
154
+ state.now = () => Date.now();
155
+ state.lastSampleAtMs = null;
156
+ state.heapUsedBytes = null;
157
+ state.heapCapBytes = null;
158
+ state.inPressure = false;
159
+ state.lastPressureAtMs = null;
160
+ state.lastFireAtMs = null;
161
+ state.pressureFiresTotal = 0;
162
+ }
163
+ function bytesToMb(b) {
164
+ return Math.round((b / 1024 / 1024) * 10) / 10;
165
+ }
166
+ function round3(n) {
167
+ return Math.round(n * 1000) / 1000;
168
+ }
169
+ function formatPct(ratio) {
170
+ return (ratio * 100).toFixed(1);
171
+ }
172
+ function clamp(n, lo, hi) {
173
+ if (n < lo)
174
+ return lo;
175
+ if (n > hi)
176
+ return hi;
177
+ return n;
178
+ }
179
+ //# sourceMappingURL=memory-pressure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-pressure.js","sourceRoot":"","sources":["../../src/mcp/memory-pressure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/mcp/roles.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AA8BjD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAE/D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGvD;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAE7D;AAGD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAE9C;AAID,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAK/D"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/mcp/roles.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AA+BjD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAE/D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGvD;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAE7D;AAGD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAE9C;AAID,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAK/D"}
package/dist/mcp/roles.js CHANGED
@@ -4,7 +4,7 @@
4
4
  const READER_TOOLS = [
5
5
  'maad_scan', 'maad_summary', 'maad_describe',
6
6
  'maad_get', 'maad_query', 'maad_search', 'maad_related', 'maad_schema', 'maad_aggregate', 'maad_join',
7
- 'maad_verify', 'maad_changes_since',
7
+ 'maad_verify', 'maad_find_orphans', 'maad_changes_since',
8
8
  'maad_history', 'maad_audit',
9
9
  'maad_subscribe', 'maad_unsubscribe',
10
10
  ];
@@ -19,6 +19,7 @@ const ADMIN_TOOLS = [
19
19
  'maad_subscriptions',
20
20
  'maad_issue_token', 'maad_revoke_token', 'maad_rotate_token',
21
21
  'maad_list_tokens', 'maad_show_token',
22
+ 'maad_backup',
22
23
  ];
23
24
  const ROLE_TOOLS = {
24
25
  reader: READER_TOOLS,
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/mcp/roles.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAI/E,MAAM,YAAY,GAAG;IACnB,WAAW,EAAE,cAAc,EAAE,eAAe;IAC5C,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW;IACrG,aAAa,EAAE,oBAAoB;IACnC,cAAc,EAAE,YAAY;IAC5B,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,GAAG,YAAY;IACf,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB;CAC7E,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,GAAG,YAAY;IACf,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IAC3D,sBAAsB;IACtB,oBAAoB;IACpB,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;IAC5D,kBAAkB,EAAE,iBAAiB;CAC7B,CAAC;AAEX,MAAM,UAAU,GAAoC;IAClD,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAuB;IAC/C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACxE,OAAO,QAAQ,CAAC,CAAC,2BAA2B;AAC9C,CAAC;AAED,MAAM,SAAS,GAAyB,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE3E,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,IAAU;IAClD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,OAAO,CAAC,CAAO,EAAE,CAAO;IACtC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,6EAA6E;AAC7E,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAK,YAAkC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5E,IAAK,YAAkC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5E,IAAK,WAAiC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/mcp/roles.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAI/E,MAAM,YAAY,GAAG;IACnB,WAAW,EAAE,cAAc,EAAE,eAAe;IAC5C,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW;IACrG,aAAa,EAAE,mBAAmB,EAAE,oBAAoB;IACxD,cAAc,EAAE,YAAY;IAC5B,gBAAgB,EAAE,kBAAkB;CAC5B,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,GAAG,YAAY;IACf,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB;CAC7E,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,GAAG,YAAY;IACf,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IAC3D,sBAAsB;IACtB,oBAAoB;IACpB,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB;IAC5D,kBAAkB,EAAE,iBAAiB;IACrC,aAAa;CACL,CAAC;AAEX,MAAM,UAAU,GAAoC;IAClD,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAuB;IAC/C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACxE,OAAO,QAAQ,CAAC,CAAC,2BAA2B;AAC9C,CAAC;AAED,MAAM,SAAS,GAAyB,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE3E,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,IAAU,EAAE,IAAU;IAClD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,OAAO,CAAC,CAAO,EAAE,CAAO;IACtC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,6EAA6E;AAC7E,oDAAoD;AACpD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAK,YAAkC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5E,IAAK,YAAkC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5E,IAAK,WAAiC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAyCA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACrC;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+NnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACrC;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuOnE"}
@@ -14,6 +14,7 @@ import { setGuardrailConfig } from './guardrails.js';
14
14
  import { setProvenanceMode } from './response.js';
15
15
  import { initIdempotencyCache, readIdempotencyEnv } from './idempotency.js';
16
16
  import { initRateLimiter, readRateLimitEnv } from './rate-limit.js';
17
+ import { initMemoryPressureWatcher, readMemoryPressureEnv, stopMemoryPressureWatcher } from './memory-pressure.js';
17
18
  import { initLogging, readLoggingEnv, logOpsChannelReady } from '../logging.js';
18
19
  import { installSignalHandlers } from './shutdown.js';
19
20
  import { installReloadSignalHandler } from './reload-signal.js';
@@ -32,6 +33,7 @@ import * as readTools from './tools/read.js';
32
33
  import * as writeTools from './tools/write.js';
33
34
  import * as auditTools from './tools/audit.js';
34
35
  import * as maintainTools from './tools/maintain.js';
36
+ import * as backupTools from './tools/backup.js';
35
37
  import * as instanceTools from './tools/instance.js';
36
38
  import * as authTools from './tools/auth.js';
37
39
  export async function startServer(opts) {
@@ -73,6 +75,11 @@ export async function startServer(opts) {
73
75
  });
74
76
  initIdempotencyCache(readIdempotencyEnv());
75
77
  initRateLimiter(readRateLimitEnv());
78
+ // 0.7.10 P5 — V8 heap-pressure sampler. Defaults: 60s interval, 0.8 ratio
79
+ // threshold, 5min fire cooldown. Set MAAD_MEMORY_PRESSURE_INTERVAL_MS=0 to
80
+ // disable. Emits degraded-severity ops events when V8 heap approaches the
81
+ // cgroup-driven heap cap so OOMs are visible pre-crash.
82
+ initMemoryPressureWatcher(readMemoryPressureEnv());
76
83
  // 0.7.0 — Load the token registry (HTTP+file mode) or null-out for stdio/synthetic.
77
84
  // Boot-mode enforcement happens in the HTTP branch below; in stdio/synthetic
78
85
  // the registry is irrelevant (no bearer channel). Parse errors at startup
@@ -125,6 +132,7 @@ export async function startServer(opts) {
125
132
  }
126
133
  if (legacyRole === 'admin') {
127
134
  toolCount += maintainTools.register(server, ctx);
135
+ toolCount += backupTools.register(server, ctx);
128
136
  // maad_instance_reload always registers for admin, even on synthetic
129
137
  // instances — handler rejects synthetic with INSTANCE_RELOAD_SYNTHETIC
130
138
  // rather than an opaque "unknown tool" response.
@@ -200,6 +208,7 @@ export async function startServer(opts) {
200
208
  });
201
209
  installSignalHandlers({ pool, rateLimiter: getRateLimiter() }, {
202
210
  finalCleanup: async () => {
211
+ stopMemoryPressureWatcher();
203
212
  try {
204
213
  await handle.close();
205
214
  }
@@ -228,6 +237,7 @@ export async function startServer(opts) {
228
237
  ctx.sessions.registerCloseHandler((sid) => { unregN(sid); });
229
238
  installSignalHandlers({ pool, rateLimiter: getRateLimiter() }, {
230
239
  finalCleanup: async () => {
240
+ stopMemoryPressureWatcher();
231
241
  try {
232
242
  await server.close();
233
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { InstanceCtx } from '../ctx.js';
3
+ export declare function register(server: McpServer, ctx: InstanceCtx): number;
4
+ //# sourceMappingURL=backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/backup.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CA4CpE"}
@@ -0,0 +1,52 @@
1
+ // ============================================================================
2
+ // 0.7.10 — maad_backup MCP tool. Admin-tier, write-kind (mutates git refs).
3
+ //
4
+ // Three modes in one tool (per spec lock):
5
+ // create — annotated tag on HEAD, returns { tag, sha, message, createdAt }
6
+ // list — every maad-snapshot-* tag, optional since: ISO8601 filter
7
+ // delete — drop a maad-snapshot-* tag (refuses other tags)
8
+ //
9
+ // No confirm contract — tag operations don't destroy underlying commits. The
10
+ // explicit mode arg + named tag is the intent gate.
11
+ // ============================================================================
12
+ import { z } from 'zod';
13
+ import { resultToResponse } from '../response.js';
14
+ import { withEngine } from '../with-session.js';
15
+ export function register(server, ctx) {
16
+ server.registerTool('maad_backup', {
17
+ description: 'Create / list / delete named recovery anchors via annotated git tags. Tag format: maad-snapshot-YYYY-MM-DD-HHMM[-label] (UTC). Defaults to mode: "create" so the common case is a one-arg call. delete only operates on maad-snapshot-* tags; non-snapshot tags are refused. Underlying commits are never touched — deleting a tag just drops the label.',
18
+ inputSchema: z.object({
19
+ mode: z.enum(['create', 'list', 'delete']).optional().describe('Operation mode (default: "create")'),
20
+ label: z.string().optional().describe('create only — operator-supplied suffix, sanitized to [a-z0-9-] capped at 32 chars'),
21
+ message: z.string().optional().describe('create only — annotated tag message (defaults to "MAADB snapshot at <sha> (\'<branch>\')")'),
22
+ tag: z.string().optional().describe('delete only — exact tag name to remove'),
23
+ since: z.string().optional().describe('list only — ISO8601 timestamp; return only tags created at or after this point'),
24
+ project: z.string().optional().describe('Project name (multi-project mode only)'),
25
+ }),
26
+ }, async (args, extra) => withEngine(ctx, extra, 'maad_backup', args, async ({ engine }) => {
27
+ const mode = args.mode ?? 'create';
28
+ if (mode === 'create') {
29
+ const opts = {};
30
+ if (args.label !== undefined)
31
+ opts.label = args.label;
32
+ if (args.message !== undefined)
33
+ opts.message = args.message;
34
+ return resultToResponse(await engine.backupCreate(opts), 'maad_backup');
35
+ }
36
+ if (mode === 'list') {
37
+ const opts = {};
38
+ if (args.since !== undefined)
39
+ opts.since = args.since;
40
+ return resultToResponse(await engine.backupList(opts), 'maad_backup');
41
+ }
42
+ if (mode === 'delete') {
43
+ if (!args.tag) {
44
+ return resultToResponse({ ok: false, errors: [{ code: 'INVALID_ARGS', message: 'delete mode requires tag' }] }, 'maad_backup');
45
+ }
46
+ return resultToResponse(await engine.backupDelete(args.tag), 'maad_backup');
47
+ }
48
+ return resultToResponse({ ok: false, errors: [{ code: 'INVALID_ARGS', message: 'mode must be "create", "list", or "delete"' }] }, 'maad_backup');
49
+ }));
50
+ return 1;
51
+ }
52
+ //# sourceMappingURL=backup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../src/mcp/tools/backup.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,EAAE;AACF,2CAA2C;AAC3C,8EAA8E;AAC9E,wEAAwE;AACxE,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,oDAAoD;AACpD,+EAA+E;AAE/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,GAAgB;IAC1D,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;QACjC,WAAW,EAAE,0VAA0V;QACvW,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YACpG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;YAC1H,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4FAA4F,CAAC;YACrI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;YACvH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;SAClF,CAAC;KACH,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;QAEnC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAwD,EAAE,CAAC;YACrE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACtD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5D,OAAO,gBAAgB,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,GAAuD,EAAE,CAAC;YACpE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACtD,OAAO,gBAAgB,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,gBAAgB,CACrB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,EAAW,EAC/F,aAAa,CACd,CAAC;YACJ,CAAC;YACD,OAAO,gBAAgB,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,gBAAgB,CACrB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,EAAW,EACjH,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"maintain.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/maintain.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAI7C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAgHpE"}
1
+ {"version":3,"file":"maintain.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/maintain.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAK7C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAoHpE"}