Adds support for multiple memory plugins to run simultaneously.
Previously, memory plugins were mutually exclusive - only one could
be active at a time via the plugins.slots.memory config.
Now, plugins.slots.memory can accept:
- Single string: "memory-lancedb" (original behavior)
- Array: ["memory-core", "memory-lancedb"] (stackable mode)
- "none": disable all memory plugins
Use case: Run memory-core for workspace file search alongside
memory-lancedb for auto-recall/capture conversation memory.
Changes:
- types.plugins.ts: Updated PluginSlotsConfig type
- zod-schema.ts: Updated schema to accept string | string[]
- config-state.ts: Updated normalization and slot decision logic
- validation.ts: Updated validation to check array entries
- schema.ts: Updated help text