fix(codex): make mem-search MCP startup self-locating

This commit is contained in:
Alex Newman
2026-05-06 14:20:55 -07:00
parent bb3dbfdb5a
commit 938c608507
7 changed files with 98 additions and 11 deletions
+25
View File
@@ -103,6 +103,13 @@ describe('Install Non-TTY Support', () => {
expect(copyRegion).toContain("'.mcp.json'");
});
it('validates the bundled plugin as the Codex marketplace source', () => {
expect(codexInstallerSource).toContain("path.join('plugin', '.codex-plugin', 'plugin.json')");
expect(codexInstallerSource).toContain("path.join('plugin', '.mcp.json')");
expect(codexInstallerSource).toContain("path.join('plugin', 'hooks', 'codex-hooks.json')");
expect(codexInstallerSource).toContain("path.join('plugin', 'skills', 'mem-search', 'SKILL.md')");
});
it('does not exclude MCP manifests during local marketplace sync', () => {
const gitignoreExcludeRegion = syncMarketplaceSource.slice(
syncMarketplaceSource.indexOf('function getGitignoreExcludes'),
@@ -116,6 +123,24 @@ describe('Install Non-TTY Support', () => {
expect(installSource).toContain('installCodexCli(marketplaceDirectory())');
});
it('refreshes Codex marketplace cache after registration', () => {
const installRegion = codexInstallerSource.slice(
codexInstallerSource.indexOf('export async function installCodexCli'),
codexInstallerSource.indexOf('export function uninstallCodexCli'),
);
expect(installRegion).toContain("['plugin', 'marketplace', 'upgrade', MARKETPLACE_NAME]");
expect(installRegion).toContain('installed plugin cache');
});
it('enables Codex plugin hooks during install', () => {
const installRegion = codexInstallerSource.slice(
codexInstallerSource.indexOf('export async function installCodexCli'),
codexInstallerSource.indexOf('export function uninstallCodexCli'),
);
expect(installRegion).toContain("['features', 'enable', 'plugin_hooks']");
expect(installRegion).toContain('codex features enable plugin_hooks');
});
it('captures Codex CLI output for install failure reporting', () => {
const runCodexRegion = codexInstallerSource.slice(
codexInstallerSource.indexOf('function runCodex'),