Commit graph

10 commits

Author SHA1 Message Date
7559bac57f
fix(opencode): fix memory-inject race condition, empty-memory ban, add turn limit
Three critical fixes to the iai-mcp-memory-inject.js plugin:

- Race condition: inflight is now a Map<sessionID, Promise> so concurrent
  callers (warm-on-create event + first transform hook) await the same
  fetch instead of getting empty string. First turn now gets memory.
- Empty-memory ban: fetchMemory returns {ok, text} tuple. HTTP 200 with
  empty body is memoized as valid (new user, minimal mode). Only actual
  network errors count against the retry budget.
- Turn-limited injection: new INJECT_MAX_TURNS (default 3) stops injecting
  after N turns. Memory was already in system prompt; the model has seen
  it. Controls per-turn token cost that was 50x the old approach.

Also: README now documents memory-inject.js (not session-init), and
session-init.js is marked @deprecated.
2026-06-03 16:47:55 +02:00
4f6b91aef8
feat: adding http-mcp and opencode plugin extension for seamless integration 2026-05-28 10:38:10 +02:00
a6d6e46b4c
Simplify session-init: only send SDK prompt, accept session title tradeoff 2026-05-27 16:58:50 +02:00
31a69186a3
Add iai-mcp-session-init plugin for automatic memory loading in OpenCode 2026-05-26 09:48:46 +02:00
8116a5643f
feat: ship OpenCode capture plugin in deploy/opencode/ 2026-05-22 10:03:16 +02:00
7f01b8824e
fix(systemd): Restart=always so daemon restarts after HIBERNATION clean exit
The daemon exits with status 0 on HIBERNATION (by design, to drop RSS).
Restart=on-failure only restarts on non-zero exits, so the daemon
stayed dead. Change to Restart=always.
2026-05-19 10:32:06 +02:00
a31bbd7f58
fix: Qdrant backend support — topology, doctor, and community detection
- Fix build_runtime_graph to use backend-agnostic records_as_dataframe()
  and edges_as_dataframe() instead of LanceDB-specific open_table()
- Fix CLI topology command: JSON-RPC envelope + result extraction
- Fix community.py KeyError when graph has nodes but no edges
- Update doctor check (i) to report Qdrant collection counts when
  Qdrant is active, LanceDB versions when LanceDB is active
- Fix HIBERNATION startup exit: dispatch REQUEST_ARRIVED on boot
- Fix systemd unit: StartLimit* keys in [Unit] section
- Broaden capture.py exception handler for deferred capture failures
- Add records_as_dataframe() and edges_as_dataframe() to MemoryStore
2026-05-14 16:20:54 +02:00
01e5903035
docs: update README for Linux support, Qdrant backend, and portable systemd unit 2026-05-12 16:58:32 +02:00
91d67b2e12
refactor: opencode 2026-05-12 16:45:15 +02:00
Areg Noya
f6b876fbe7 Initial release: iai-mcp v0.1.0
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: XNLLLLH <XNLLLLH@users.noreply.github.com>
2026-05-06 01:04:47 -07:00