|
5 | 5 | "configContracts": { |
6 | 6 | "secretInputs": { |
7 | 7 | "paths": [ |
8 | | - { "path": "llmApiKey", "expected": "string" }, |
9 | | - { "path": "hindsightApiToken", "expected": "string" } |
| 8 | + { |
| 9 | + "path": "llmApiKey", |
| 10 | + "expected": "string" |
| 11 | + }, |
| 12 | + { |
| 13 | + "path": "hindsightApiToken", |
| 14 | + "expected": "string" |
| 15 | + } |
10 | 16 | ] |
11 | 17 | } |
12 | 18 | }, |
|
112 | 118 | "description": "Source value written into retained document metadata. Defaults to 'openclaw'.", |
113 | 119 | "default": "openclaw" |
114 | 120 | }, |
| 121 | + "retainContext": { |
| 122 | + "type": "string", |
| 123 | + "description": "Interpretation guidance sent via the Hindsight retain API context field. It tells the extraction LLM that OpenClaw sender/channel/provider values, bank IDs, session keys, source systems, and tags are operational routing metadata, not human names, project names, or organizations.", |
| 124 | + "default": "This content is an AI-assistant conversation transcript from OpenClaw. Retain request metadata may include routing identifiers such as 'sender_id' (an opaque user ID, not a human name), 'channel_id' (a chat identifier), and 'provider' (the messaging platform name). These are operational routing metadata, not semantic actors or people. Messages with role 'assistant' are from the AI assistant; first-person statements in assistant messages refer to the AI, not the human user. Messages with role 'user' are from the human user. Bank IDs, session keys, agent IDs, thread IDs, source systems, and tags in metadata are also operational routing identifiers, not human names, project names, or organizations." |
| 125 | + }, |
115 | 126 | "autoRecall": { |
116 | 127 | "type": "boolean", |
117 | 128 | "description": "Automatically recall memories on every prompt and inject them as context. Set to false when agent has its own recall tool.", |
|
159 | 170 | "description": "When true (default) and retainFormat is 'json', each message's content is an Anthropic-shaped array of typed blocks including tool_use (agent tool calls) and tool_result (truncated at 2000 chars). Operational MCP tools — Hindsight's own recall/retain/search — are filtered out to avoid feedback loops. Set to false to retain text-only content, one string per message.", |
160 | 171 | "default": true |
161 | 172 | }, |
162 | | - "includeSenderContext": { |
163 | | - "type": "boolean", |
164 | | - "description": "When true (default), prepend a session context block (sender, channel, provider) to retained transcripts so similarity search can distinguish memories by speaker even when dynamicBankGranularity does not include 'user'. Set false to omit.", |
165 | | - "default": true |
166 | | - }, |
167 | 173 | "retainEveryNTurns": { |
168 | 174 | "type": "integer", |
169 | 175 | "description": "Retain every Nth turn instead of every turn. 1 = every turn (default). Values > 1 enable chunked retention with a sliding window.", |
|
277 | 283 | }, |
278 | 284 | "ignoreSessionPatterns": { |
279 | 285 | "type": "array", |
280 | | - "items": { "type": "string" }, |
| 286 | + "items": { |
| 287 | + "type": "string" |
| 288 | + }, |
281 | 289 | "description": "Session key glob patterns to skip entirely (no recall, no retain). E.g. [\"agent:main:**\", \"agent:*:cron:**\"]. * matches non-colon chars, ** matches anything." |
282 | 290 | }, |
283 | 291 | "statelessSessionPatterns": { |
284 | 292 | "type": "array", |
285 | | - "items": { "type": "string" }, |
| 293 | + "items": { |
| 294 | + "type": "string" |
| 295 | + }, |
286 | 296 | "description": "Session key glob patterns for read-only sessions: retain is always skipped, recall is skipped when skipStatelessSessions is true. E.g. [\"agent:*:subagent:**\", \"agent:*:heartbeat:**\"]." |
287 | 297 | }, |
288 | 298 | "skipStatelessSessions": { |
|
377 | 387 | "label": "Retain Source", |
378 | 388 | "placeholder": "openclaw" |
379 | 389 | }, |
| 390 | + "retainContext": { |
| 391 | + "label": "Retain Context", |
| 392 | + "placeholder": "Guidance for interpreting retained OpenClaw transcripts" |
| 393 | + }, |
380 | 394 | "autoRecall": { |
381 | 395 | "label": "Auto-Recall", |
382 | 396 | "placeholder": "true (inject memories on every prompt)" |
|
405 | 419 | "label": "Retain Tool Calls", |
406 | 420 | "placeholder": "true (default) — include tool_use / tool_result blocks in retained JSON" |
407 | 421 | }, |
408 | | - "includeSenderContext": { |
409 | | - "label": "Include Sender Context", |
410 | | - "placeholder": "true (default) — prepend sender/channel/provider context to retained content" |
411 | | - }, |
412 | 422 | "retainEveryNTurns": { |
413 | 423 | "label": "Retain Every N Turns", |
414 | 424 | "placeholder": "1 (every turn, default)" |
|
0 commit comments