memoryrouter-codex 1.8.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bin/cli.cjs +1 -1
- package/lib/installer.cjs +1 -1
- package/package.json +1 -1
- package/runtime/constants.cjs +1 -1
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ MemoryRouter is the **cross-machine, cross-tool, team-shareable, and auditable**
|
|
|
34
34
|
- Node.js 18 or newer.
|
|
35
35
|
- **Codex 0.145.0 or newer** for the complete lifecycle-hook integration. Version 0.146.0 was tested directly.
|
|
36
36
|
- Local Codex CLI, ChatGPT desktop app's local Codex host, and Codex IDE extension share `config.toml` MCP configuration.
|
|
37
|
-
- Hooks must be trusted once: Codex app **
|
|
37
|
+
- Hooks must be trusted once: in the Codex app open a **New chat**, click the hooks icon next to **Ask for approval** in the message box, then **Allow all**; in the CLI, `/hooks`. OAuth (`mcp_tool`) hooks need a Codex build with MCP tool hooks (the current app and CLI 0.166 have them).
|
|
38
38
|
- Project `.codex` config is loaded only for trusted projects.
|
|
39
39
|
- ChatGPT web does **not** read a laptop's `~/.codex/config.toml` or local hooks. Use MemoryRouter's hosted plugin/connector surface there.
|
|
40
40
|
- Codex cloud environments do not automatically inherit host-local user config or secrets. A project-scope install can travel with a repository, but the environment still needs Node, project trust, package/network availability for the stdio fallback, and `MEMORYROUTER_API_KEY` for hooks.
|
|
@@ -48,9 +48,9 @@ There is no dependency on the obsolete `experimental_use_rmcp_client` setting in
|
|
|
48
48
|
1. Add the server in the app: **Settings > Plugins > Add > Add MCP server**, Type **Streamable HTTP**, Name `memoryrouter`, URL `https://mcp.memoryrouter.ai/mcp`, **Save**, then **Authenticate** and sign in (or create an account) in the browser tab that opens.
|
|
49
49
|
2. In a Codex chat, paste:
|
|
50
50
|
|
|
51
|
-
> Run `npx -y memoryrouter-codex@latest init` with network access, then tell me to trust the MemoryRouter hooks
|
|
51
|
+
> Run `npx -y memoryrouter-codex@latest init` with network access, then tell me to trust the MemoryRouter hooks.
|
|
52
52
|
|
|
53
|
-
Then
|
|
53
|
+
Approve the internet access Codex asks for. Then open a **New chat**, click the hooks icon next to **Ask for approval** in the message box, and choose **Allow all** for the three MemoryRouter hooks (Recalling MemoryRouter context, Searching MemoryRouter, Saving to MemoryRouter).
|
|
54
54
|
|
|
55
55
|
`init` keeps the server the app added (and its sign-in), adds the three `mcp_tool` hooks to `~/.codex/hooks.json` and the MemoryRouter guidance to `~/.codex/AGENTS.md`. The Codex CLI and IDE extension on the same Mac share all of it.
|
|
56
56
|
|
package/bin/cli.cjs
CHANGED
|
@@ -134,7 +134,7 @@ async function main() {
|
|
|
134
134
|
process.stdout.write('\nAutomatic memory: before every prompt Codex searches your vault and adds what it finds as context; after every turn it saves your message and its final response (never tool calls, tool output or intermediate steps). No API key needed.\n');
|
|
135
135
|
process.stdout.write('\nNext:\n');
|
|
136
136
|
if (!result.adoptedServer) process.stdout.write(' 1. Sign in: Codex app Settings > Plugins > memoryrouter > Authenticate (or run: codex mcp login memoryrouter)\n');
|
|
137
|
-
process.stdout.write(` ${result.adoptedServer ? '1' : '2'}. Trust the MemoryRouter hooks once: Codex app
|
|
137
|
+
process.stdout.write(` ${result.adoptedServer ? '1' : '2'}. Trust the MemoryRouter hooks once: Codex app: open a New chat, click the hooks icon next to "Ask for approval", Allow all (CLI: /hooks)\n`);
|
|
138
138
|
process.stdout.write(` ${result.adoptedServer ? '2' : '3'}. Start a New chat\n`);
|
|
139
139
|
} else if (result.auth === 'oauth') {
|
|
140
140
|
const pick = binding && binding.vault ? ` and select the vault ${vaultLabel(binding)} (the one your hooks use)` : '';
|
package/lib/installer.cjs
CHANGED
|
@@ -233,7 +233,7 @@ async function doctor(options = {}) {
|
|
|
233
233
|
? Object.values(mcpManagedGroups()).flat().flatMap(group => group.hooks || []).length
|
|
234
234
|
: Object.values(managedGroups(layout.runtimeDir, layout.scope)).flat().flatMap(group => group.hooks || []).length;
|
|
235
235
|
addCheck(checks, 'hooks', owned.length === expectedOwned ? 'pass' : 'error', owned.length
|
|
236
|
-
? `${owned.length} of ${expectedOwned} managed lifecycle hooks found${mcpHooks.length ? ' (over the signed-in MCP connection, no API key needed)' : ''}. Trust them once
|
|
236
|
+
? `${owned.length} of ${expectedOwned} managed lifecycle hooks found${mcpHooks.length ? ' (over the signed-in MCP connection, no API key needed)' : ''}. Trust them once: Codex app New chat > hooks icon by "Ask for approval" > Allow all; CLI: /hooks.`
|
|
237
237
|
: 'Managed lifecycle hooks are missing or hooks.json is invalid.');
|
|
238
238
|
addCheck(checks, 'agents', agentsText.includes(AGENTS_START) ? 'pass' : 'warn', agentsText.includes(AGENTS_START) ? 'Managed AGENTS.md guidance is present.' : 'Managed AGENTS.md guidance is missing.');
|
|
239
239
|
|
package/package.json
CHANGED
package/runtime/constants.cjs
CHANGED