fix(openclaw): hyphenate memini-status/memini-namespace command names - #83
Closed
joryirving wants to merge 1 commit into
Closed
fix(openclaw): hyphenate memini-status/memini-namespace command names#83joryirving wants to merge 1 commit into
joryirving wants to merge 1 commit into
Conversation
…namespace
openclaw's command-name validator rejects a colon ("Command name must
start with a letter and contain only letters, numbers, hyphens, and
underscores"), so both /memini:status and /memini:namespace failed to
register on every gateway start (memory_* tools were unaffected).
Fixes eleboucher#82.
Owner
/sync |
Owner
|
Promoted to the canonical Forgejo repository (PR #235), which is the source of truth. Further review and merging happen there. |
eleboucher
pushed a commit
that referenced
this pull request
Aug 28, 2026
… (#235) > _Originally by **joryirving** on 2026-08-25 20:10 UTC — [view on source](#83 ## Summary - openclaw's command-name validator rejects a colon, so `memini:status` and `memini:namespace` (registered in `integrations/openclaw/plugin/src/index.ts`) both failed to register on every gateway start; `memory_*` tools were unaffected. - Fixed at the openclaw registration boundary only: the two literal names are now `memini-status` / `memini-namespace` (via new `OPENCLAW_STATUS_COMMAND`/`OPENCLAW_NAMESPACE_COMMAND` constants), plus the in-command help text that told users what to type. - Updated the matching test expectations (`test/helpers.test.ts`, `test/regression.test.mjs`) and the openclaw README's command table/namespace-resolution note. ## Why not rename the Claude Code side too Claude Code's `plugin:command` colon convention is correct there (`plugin/commands/status.md` / `namespace.md`, resolved via `${CLAUDE_PLUGIN_ROOT}`) and is derived from the plugin/command directory layout, not from any string in this file. The two hosts don't actually share one name string — the openclaw plugin's `src/index.ts` hardcodes its own literal `"memini:status"`/`"memini:namespace"` in `registerCommand()` calls, independent of the Claude Code command markdown. So this is a narrow, source-only fix in the openclaw plugin; nothing needed to change on the Claude Code side. I picked a hyphen (`memini-status`) as the separator since that's the only thing openclaw's validator accepts besides underscore, and it reads closest to the existing colon form. If a different separator convention is preferred, happy to adjust. ## Generated files Confirmed `integrations/openclaw/plugin/dist/index.js` (referenced in the bug report) is gitignored and build-only (`npm run build`, esbuild) — not hand-edited or committed. No other generated file (per `CONTRIBUTING.md`'s drift-gate table) touches this code path. ## Verification - `npm run build && npm test` in `integrations/openclaw/plugin/` — 151 tests pass (`test/regression.test.mjs`, `test/bundle.test.mjs`, `test/helpers.test.ts`) - `npm run typecheck` — clean - `npx oxfmt --check integrations/openclaw/README.md` — clean - Inspected built `dist/index.js` to confirm only `memini-status`/`memini-namespace` appear, no leftover colon form Fixes #82. <!-- forgesync:src=github;host=github.com;repo=eleboucher/memini;kind=pull_request;id=83 --> Co-authored-by: Jory Irving <jory.irving@stackadapt.com> Reviewed-on: https://git.erwanleboucher.dev/eleboucher/memini/pulls/235
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
memini:statusandmemini:namespace(registered inintegrations/openclaw/plugin/src/index.ts) both failed to register on every gateway start;memory_*tools were unaffected.memini-status/memini-namespace(via newOPENCLAW_STATUS_COMMAND/OPENCLAW_NAMESPACE_COMMANDconstants), plus the in-command help text that told users what to type.test/helpers.test.ts,test/regression.test.mjs) and the openclaw README's command table/namespace-resolution note.Why not rename the Claude Code side too
Claude Code's
plugin:commandcolon convention is correct there (plugin/commands/status.md/namespace.md, resolved via${CLAUDE_PLUGIN_ROOT}) and is derived from the plugin/command directory layout, not from any string in this file. The two hosts don't actually share one name string — the openclaw plugin'ssrc/index.tshardcodes its own literal"memini:status"/"memini:namespace"inregisterCommand()calls, independent of the Claude Code command markdown. So this is a narrow, source-only fix in the openclaw plugin; nothing needed to change on the Claude Code side.I picked a hyphen (
memini-status) as the separator since that's the only thing openclaw's validator accepts besides underscore, and it reads closest to the existing colon form. If a different separator convention is preferred, happy to adjust.Generated files
Confirmed
integrations/openclaw/plugin/dist/index.js(referenced in the bug report) is gitignored and build-only (npm run build, esbuild) — not hand-edited or committed. No other generated file (perCONTRIBUTING.md's drift-gate table) touches this code path.Verification
npm run build && npm testinintegrations/openclaw/plugin/— 151 tests pass (test/regression.test.mjs,test/bundle.test.mjs,test/helpers.test.ts)npm run typecheck— cleannpx oxfmt --check integrations/openclaw/README.md— cleandist/index.jsto confirm onlymemini-status/memini-namespaceappear, no leftover colon formFixes #82.