v1.1.0 — Kimi (Moonshot) provider, long-context dream, variable ops TTL, security hardening
Added
- Kimi (Moonshot AI) provider —
llm: kimiis now a first-class config option. SetMOONSHOT_API_KEYand the engine auto-configures againstapi.moonshot.cn/v1. Optionally override the model viallm_options.kimi_model(default:kimi-k2-0711-preview). - Long-context dream strategy —
DreamOptions.strategy: 'long-context'replaces the Phase 4 (Connect) N² pairwise edge discovery with a single LLM call that sees the full memory graph (up to 200 nodes + all existing edges). The model finds transitive patterns, cross-domain contradictions, and causal chains that the sequential approach structurally cannot detect. Works with any large-context model;long_context_memory_limitcontrols the cap (default: 200). - Variable TTL for ops entries —
ops_appendnow uses type-based expiry:log90 days,instruction/handoff14 days,milestone180 days,decision365 days. Previously all entries expired after 30 days. - Expanded ops schema —
ops_appendacceptssession_type,seed_type,blocked,next,instruction_meta, andhandoff_metafields.ops_queryreturns these fields.ops_updatesupportsnextandblocked. - Thread creation warnings —
thread_createnow returns warnings whennext_steporprojectis missing, guiding agents toward higher-quality thread creation.
Security
- Timing-safe authentication — REST server auth comparison uses
crypto.timingSafeEqualto prevent timing attacks. - Plugin path sandboxing — Plugin loader validates import paths against trusted directories, blocking loads from untrusted locations.
- REST tool blocklist — Destructive tools (
forget,dream,evolve,resolve,thread_resolve) are blocked from the generic REST/api/tools/:nameendpoint. They remain available via MCP (direct agent access). - SQLite namespace validation — Namespace names must be alphanumeric/underscore only, preventing SQL injection via namespace parameter.
- Parameterized SQLite queries —
LIMITclause in ops queries is now parameterized instead of interpolated. - API key config warning —
config-loaderwarns whenopenai_api_keyis found in config files instead of environment variables.
Full Changelog: v1.0.0...v1.1.0