{
  "id": "openclaw-mengram",
  "kind": "memory",
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "apiKey": { "type": "string" },
      "baseUrl": { "type": "string" },
      "autoRecall": { "type": "boolean" },
      "autoCapture": { "type": "boolean" },
      "topK": { "type": "number" },
      "graphDepth": { "type": "number" },
      "injectProfile": { "type": "boolean" },
      "profileFrequency": { "type": "number" },
      "maxFactsPerEntity": { "type": "number" },
      "maxRelationsPerEntity": { "type": "number" },
      "maxEpisodes": { "type": "number" },
      "maxProcedures": { "type": "number" },
      "maxStepsPerProcedure": { "type": "number" },
      "captureMessageCount": { "type": "number" },
      "requestTimeout": { "type": "number" },
      "maxTriggers": { "type": "number" },
      "maxTimelineItems": { "type": "number" },
      "debug": { "type": "boolean" }
    },
    "required": []
  },
  "uiHints": {
    "apiKey": {
      "label": "Mengram API Key",
      "sensitive": true,
      "placeholder": "om-...",
      "help": "Get your free key at https://mengram.io"
    },
    "baseUrl": {
      "label": "Base URL",
      "placeholder": "https://mengram.io",
      "advanced": true,
      "help": "Custom API base URL for self-hosted instances"
    },
    "autoRecall": {
      "label": "Auto-Recall",
      "help": "Automatically inject relevant memories before each agent turn"
    },
    "autoCapture": {
      "label": "Auto-Capture",
      "help": "Automatically store conversation context after each agent turn"
    },
    "topK": {
      "label": "Top K Results",
      "placeholder": "5",
      "help": "Maximum memories to retrieve per search"
    },
    "graphDepth": {
      "label": "Graph Depth",
      "placeholder": "2",
      "advanced": true,
      "help": "Knowledge graph traversal depth (0=off, 1=direct, 2=2-hop)"
    },
    "injectProfile": {
      "label": "Inject Profile",
      "help": "Include cognitive profile in context periodically"
    },
    "profileFrequency": {
      "label": "Profile Frequency",
      "placeholder": "25",
      "advanced": true,
      "help": "Inject cognitive profile every N turns"
    },
    "maxFactsPerEntity": {
      "label": "Max Facts Per Entity",
      "placeholder": "5",
      "advanced": true,
      "help": "Maximum facts shown per entity in recall context"
    },
    "maxRelationsPerEntity": {
      "label": "Max Relations Per Entity",
      "placeholder": "5",
      "advanced": true,
      "help": "Maximum relationships shown per entity in recall context"
    },
    "maxEpisodes": {
      "label": "Max Episodes",
      "placeholder": "5",
      "advanced": true,
      "help": "Maximum episodic memories in recall context"
    },
    "maxProcedures": {
      "label": "Max Procedures",
      "placeholder": "3",
      "advanced": true,
      "help": "Maximum procedures in recall context"
    },
    "maxStepsPerProcedure": {
      "label": "Max Steps Per Procedure",
      "placeholder": "8",
      "advanced": true,
      "help": "Maximum steps shown per procedure"
    },
    "captureMessageCount": {
      "label": "Capture Message Count",
      "placeholder": "10",
      "advanced": true,
      "help": "Number of recent messages to capture after each turn"
    },
    "requestTimeout": {
      "label": "Request Timeout (ms)",
      "placeholder": "15000",
      "advanced": true,
      "help": "HTTP request timeout in milliseconds"
    },
    "maxTriggers": {
      "label": "Max Triggers",
      "placeholder": "10",
      "advanced": true,
      "help": "Maximum triggers shown in tools and CLI"
    },
    "maxTimelineItems": {
      "label": "Max Timeline Items",
      "placeholder": "20",
      "advanced": true,
      "help": "Maximum timeline items shown in tools and CLI"
    },
    "debug": {
      "label": "Debug Logging",
      "advanced": true
    }
  }
}
