Files
openclaw/extensions/memory-core/openclaw.plugin.json
Jason (Json) 77a682c5de fix(agents): retry empty post-tool final turns (#93073)
Recover assistant turns that complete tool work without producing a visible final answer, while preserving intentional silent replies.

Use concrete tool-instance replay safety across embedded, Codex, and Copilot runtimes so unknown, mutating, async-started, and durable recall operations fail closed. Preserve genuine empty Codex final items without promoting commentary or tool-progress echoes.

Supersedes #90872. Thanks @fuller-stack-dev.

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-06-15 00:08:57 -07:00

206 lines
5.8 KiB
JSON

{
"id": "memory-core",
"activation": {
"onStartup": false
},
"kind": "memory",
"contracts": {
"tools": ["memory_get", "memory_search"]
},
"toolMetadata": {
"memory_get": {
"replaySafe": true
}
},
"commandAliases": [
{
"name": "dreaming",
"kind": "runtime-slash",
"cliCommand": "memory"
}
],
"uiHints": {
"dreaming.frequency": {
"label": "Dreaming Frequency",
"placeholder": "0 3 * * *",
"help": "Optional cron cadence for the full dreaming sweep (light, REM, then deep)."
},
"dreaming.model": {
"label": "Dreaming Model",
"placeholder": "anthropic/claude-sonnet-4-6",
"help": "Optional provider/model override for Dream Diary narrative subagent runs. Requires plugins.entries.memory-core.subagent.allowModelOverride."
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"dreaming": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"frequency": {
"type": "string"
},
"model": {
"type": "string"
},
"timezone": {
"type": "string"
},
"verboseLogging": {
"type": "boolean"
},
"storage": {
"type": "object",
"additionalProperties": false,
"properties": {
"mode": {
"type": "string",
"enum": ["inline", "separate", "both"]
},
"separateReports": {
"type": "boolean"
}
}
},
"execution": {
"type": "object",
"additionalProperties": false,
"properties": {
"defaults": {
"type": "object",
"additionalProperties": false,
"properties": {
"model": {
"type": "string"
}
}
}
}
},
"phases": {
"type": "object",
"additionalProperties": false,
"properties": {
"light": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"lookbackDays": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 0
},
"dedupeSimilarity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"execution": {
"type": "object",
"additionalProperties": false,
"properties": {
"model": {
"type": "string"
}
}
}
}
},
"deep": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 0
},
"minScore": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"minRecallCount": {
"type": "integer",
"minimum": 0
},
"minUniqueQueries": {
"type": "integer",
"minimum": 0
},
"recencyHalfLifeDays": {
"type": "integer",
"minimum": 0
},
"maxAgeDays": {
"type": "integer",
"minimum": 1
},
"maxPromotedSnippetTokens": {
"type": "integer",
"minimum": 1,
"description": "Maximum estimated token count for each short-term recall snippet promoted into MEMORY.md. Provenance metadata remains attached to the entry."
},
"execution": {
"type": "object",
"additionalProperties": false,
"properties": {
"model": {
"type": "string"
}
}
}
}
},
"rem": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"lookbackDays": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"minimum": 0
},
"minPatternStrength": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"execution": {
"type": "object",
"additionalProperties": false,
"properties": {
"model": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
}