* fix(claude-code): fix plugin installation and release workflow - Fix plugin.json author field (string → object) to pass claude plugin validate - Add hindsight-integrations/.claude-plugin/marketplace.json so users can install via: claude plugin marketplace add vectorize-io/hindsight --sparse hindsight-integrations - Update README and install.sh with correct two-command install flow - Fix release-integration.yml: add explicit package.json check for typescript type and add plugin type for integrations with neither pyproject.toml nor package.json (prevents claude-code from incorrectly falling into the typescript build path) - Add CHANGELOG.md for the claude-code integration * remove install.sh — users install via claude plugin commands directly * test(claude-code): add 116 unit tests for plugin hooks and lib modules * feat(claude-code): user settings.json at CLAUDE_PLUGIN_DATA for stable config Plugin now checks CLAUDE_PLUGIN_DATA/settings.json after the versioned plugin default, giving users a path that persists across updates: ~/.claude/plugins/data/hindsight-memory-hindsight/settings.json Loading order: defaults → plugin settings.json → user settings.json → env vars * fix(claude-code): use ~/.hindsight/claude-code.json for user config Matches the ~/.openclaw/openclaw.json convention. Removes the confusing CLAUDE_PLUGIN_DATA path whose name depends on marketplace+plugin identifiers. * docs(claude-code): add ToS hint for claude-code LLM provider option * fix(claude-code): set author to Hindsight Team in plugin.json * ci: add test-claude-code-integration job to run plugin unit tests
17 lines
1.1 KiB
Markdown
17 lines
1.1 KiB
Markdown
# Changelog
|
|
|
|
## [0.1.0] - 2025-03-23
|
|
|
|
### Added
|
|
- Initial release: Claude Code plugin for Hindsight long-term memory
|
|
- Auto-recall on every user prompt via `UserPromptSubmit` hook — injects relevant memories as `additionalContext`
|
|
- Auto-retain after every response via async `Stop` hook — extracts and stores conversation transcript
|
|
- Session lifecycle hooks (`SessionStart` health check, `SessionEnd` daemon cleanup)
|
|
- Three connection modes: external API, auto-managed local daemon (`uvx hindsight-embed`), existing local server
|
|
- Dynamic bank IDs with configurable granularity (`agent`, `project`, `session`, `channel`, `user`)
|
|
- Channel-agnostic: works with Claude Code Channels (Telegram, Discord, Slack) and interactive sessions
|
|
- Zero pip dependencies — pure Python stdlib (`urllib`, `fcntl`, `subprocess`)
|
|
- 34 configuration options via `settings.json` with env var overrides
|
|
- LLM auto-detection from `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`
|
|
- Chunked retention with sliding window (`retainEveryNTurns` + `retainOverlapTurns`)
|
|
- Memory tag stripping to prevent retain feedback loops
|