chore: release 0.8.6 — @agentmemory/mcp shim + docs#134
Conversation
0.8.5's publish workflow got blocked on the unscoped `agentmemory-mcp` name by npm's name-similarity policy (there's an unrelated third-party package called `agent-memory-mcp`). Publishing the shim under the `@agentmemory` scope we already own sidesteps the conflict. Changes: - Rename packages/agentmemory-mcp → packages/mcp - Package name: agentmemory-mcp → @agentmemory/mcp (0.8.4 → 0.8.6) - Keep bin name `agentmemory-mcp` so `npm i -g @agentmemory/mcp` still installs a binary at `agentmemory-mcp` for muscle memory - Log prefix [agentmemory-mcp] → [@agentmemory/mcp] in standalone.ts and in-memory-kv.ts - README / integrations/openclaw / integrations/hermes / src/cli.ts all point at `npx -y @agentmemory/mcp` - .github/workflows/publish.yml working-directory and npm view queries target packages/mcp and @agentmemory/mcp - Shim dependency on @agentmemory/agentmemory bumped to ~0.8.6 - Main package 0.8.5 → 0.8.6 across the 8 version files - CHANGELOG [0.8.6] entry documenting the scope move
📝 WalkthroughWalkthroughThis pull request renames the MCP package from Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
src/cli.ts (1)
44-44: Align CLI help with the documentednpx -yinvocation.Line 44 uses
npx@agentmemory/mcp; consider `npx -y `@agentmemory/mcpfor consistency with the rest of this release docs and to avoid interactive prompts in some environments.Proposed doc/help tweak
- npx `@agentmemory/mcp` # same as above (shim package) + npx -y `@agentmemory/mcp` # same as above (shim package)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/cli.ts` at line 44, Update the CLI help text that currently shows the snippet "npx `@agentmemory/mcp`" to include the non-interactive flag by changing it to "npx -y `@agentmemory/mcp`"; locate and replace that literal string in the help output (e.g., where the help/usage text is constructed or returned) so the displayed example matches the documented `npx -y` invocation and avoids interactive prompts..github/workflows/publish.yml (1)
50-67: Optional: centralize shim package name to avoid future drift.
@agentmemory/mcpis repeated in multiple places; consider a job-level env var (for exampleSHIM_PKG) and reuse it in both publish/poll steps for easier future renames.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/publish.yml around lines 50 - 67, Centralize the repeated package name by adding a job-level environment variable (e.g. SHIM_PKG) and use it in both the "Publish `@agentmemory/mcp` shim" and "Wait for `@agentmemory/mcp` registry propagation" steps instead of the hard-coded "@agentmemory/mcp"; keep the existing SHIM_VERSION logic and NODE_AUTH_TOKEN env but replace the literal package string in npm view and npm publish commands with the SHIM_PKG variable so future renames only require updating one place.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/functions/export-import.ts`:
- Line 178: The runtime allowlist in the supportedVersions Set (identifier:
supportedVersions) contains "0.7.7" but the TypeScript contract
ExportData.version (identifier: ExportData.version union) does not—synchronize
them by either removing "0.7.7" from the supportedVersions Set or by adding
"0.7.7" to the ExportData.version union in src/types.ts; if you add the version,
also update the VERSION constant (identifier: VERSION), package.json version
field, plugin.json version, and the test asserting supported versions
(identifier: export-import.test.ts version assertion) so all runtime, type,
version constant and tests remain consistent.
---
Nitpick comments:
In @.github/workflows/publish.yml:
- Around line 50-67: Centralize the repeated package name by adding a job-level
environment variable (e.g. SHIM_PKG) and use it in both the "Publish
`@agentmemory/mcp` shim" and "Wait for `@agentmemory/mcp` registry propagation"
steps instead of the hard-coded "@agentmemory/mcp"; keep the existing
SHIM_VERSION logic and NODE_AUTH_TOKEN env but replace the literal package
string in npm view and npm publish commands with the SHIM_PKG variable so future
renames only require updating one place.
In `@src/cli.ts`:
- Line 44: Update the CLI help text that currently shows the snippet "npx
`@agentmemory/mcp`" to include the non-interactive flag by changing it to "npx -y
`@agentmemory/mcp`"; locate and replace that literal string in the help output
(e.g., where the help/usage text is constructed or returned) so the displayed
example matches the documented `npx -y` invocation and avoids interactive
prompts.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 8e80d1c1-784e-4c32-a72f-4f0558bb3a12
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (18)
.github/workflows/publish.ymlCHANGELOG.mdREADME.mdintegrations/hermes/README.mdintegrations/openclaw/README.mdpackage.jsonpackages/mcp/LICENSEpackages/mcp/README.mdpackages/mcp/bin.mjspackages/mcp/package.jsonplugin/.claude-plugin/plugin.jsonsrc/cli.tssrc/functions/export-import.tssrc/mcp/in-memory-kv.tssrc/mcp/standalone.tssrc/types.tssrc/version.tstest/export-import.test.ts
| const importData = data.exportData; | ||
|
|
||
| const supportedVersions = new Set(["0.3.0", "0.4.0", "0.5.0", "0.6.0", "0.6.1", "0.7.0", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.7", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5"]); | ||
| const supportedVersions = new Set(["0.3.0", "0.4.0", "0.5.0", "0.6.0", "0.6.1", "0.7.0", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.7", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6"]); |
There was a problem hiding this comment.
Align runtime import allowlist with the typed export contract.
Line 178 allows "0.7.7" at runtime, but ExportData.version in src/types.ts (Line 255) does not include it. This makes runtime behavior and TypeScript API guarantees inconsistent.
💡 Suggested fix (choose one direction)
-const supportedVersions = new Set(["0.3.0", "0.4.0", "0.5.0", "0.6.0", "0.6.1", "0.7.0", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.7", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6"]);
+const supportedVersions = new Set(["0.3.0", "0.4.0", "0.5.0", "0.6.0", "0.6.1", "0.7.0", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6"]);Or, if 0.7.7 is intentionally supported, add "0.7.7" to the ExportData.version union in src/types.ts.
Based on learnings: "When bumping version, update: package.json version field, src/version.ts VERSION constant and type union, src/types.ts ExportData version union, src/functions/export-import.ts supportedVersions set, test/export-import.test.ts version assertion, and plugin.json version field".
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| const supportedVersions = new Set(["0.3.0", "0.4.0", "0.5.0", "0.6.0", "0.6.1", "0.7.0", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.7", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6"]); | |
| const supportedVersions = new Set(["0.3.0", "0.4.0", "0.5.0", "0.6.0", "0.6.1", "0.7.0", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6"]); |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@src/functions/export-import.ts` at line 178, The runtime allowlist in the
supportedVersions Set (identifier: supportedVersions) contains "0.7.7" but the
TypeScript contract ExportData.version (identifier: ExportData.version union)
does not—synchronize them by either removing "0.7.7" from the supportedVersions
Set or by adding "0.7.7" to the ExportData.version union in src/types.ts; if you
add the version, also update the VERSION constant (identifier: VERSION),
package.json version field, plugin.json version, and the test asserting
supported versions (identifier: export-import.test.ts version assertion) so all
runtime, type, version constant and tests remain consistent.
Finishes the #120
npx <shim>story. 0.8.5 published the main package fine, but the shim publish step hit a separate 403 — npm's name-similarity policy blocksagentmemory-mcpbecause of an unrelated third-partyagent-memory-mcp. Moving the shim under the scope we already own (@agentmemory/mcp) sidesteps the conflict.Changes
packages/agentmemory-mcp/→packages/mcp/agentmemory-mcp→@agentmemory/mcp(0.8.4 → 0.8.6)@agentmemory/agentmemory: ~0.8.6agentmemory-mcp—npm i -g @agentmemory/mcpstill creates anagentmemory-mcpbinary for muscle memory[agentmemory-mcp]→[@agentmemory/mcp]insrc/mcp/standalone.tsandsrc/mcp/in-memory-kv.tssrc/cli.ts --help, Cursor/Codex/Claude-Desktop/OpenCode/Gemini-CLI snippets all updated tonpx -y @agentmemory/mcp.github/workflows/publish.ymlworking-directory →packages/mcp, propagation check →npm view @agentmemory/mcpVerification
npm run build— cleannpm test— 698 passing (60 files)Test plan
agentmemory-mcpreferences remain (CHANGELOG history + bin name + README rationale)Summary by CodeRabbit
agentmemory-mcpto@agentmemory/mcpon npm