Fix runtime inventory MCP JSON parsing (#131)

* add gated codex goals support

* sync README SDK versions

* bump claude agent sdk

* add codex goals settings toggle

* reuse status dashboard message and simplify settings actions

* refine settings page UX

* fix settings nav hash routing

* add dashboard UX verification

* refine dashboard settings and inbox UX

* remove inbox top-level navigation

* remove dashboard health top-level navigation

* fix: allow runtime image attachment paths

* feat: configure attachment allowlist dirs

* fix: clean duplicate dashboard status messages

* fix: poll dashboard duplicate cleanup between status updates

* fix: delete dashboard duplicates on create

* Refine settings IA with tabbed sections

* Add read-only runtime inventory settings

* Fix runtime inventory MCP JSON parsing
This commit is contained in:
Eyejoker
2026-05-04 02:38:21 +09:00
committed by GitHub
parent 2da6052eff
commit 1c5be2094d
2 changed files with 65 additions and 4 deletions

View File

@@ -34,7 +34,19 @@ describe('runtime inventory', () => {
);
fs.writeFileSync(
path.join(claudeDir, 'settings.json'),
'{"fastMode":true,"secret":"should-not-leak"}\n',
JSON.stringify({
fastMode: true,
secret: 'should-not-leak',
mcpServers: {
ejclaw: {
command: 'node',
args: ['secret-arg-should-not-leak'],
},
filesystem: {
command: 'node',
},
},
}),
);
fs.writeFileSync(
path.join(codexDir, 'auth.json'),
@@ -75,6 +87,10 @@ describe('runtime inventory', () => {
ejclawConfigured: true,
serverCount: 2,
});
expect(snapshot.claude.mcp).toMatchObject({
ejclawConfigured: true,
serverCount: 2,
});
expect(snapshot.codex.skillDirs[0]).toMatchObject({
count: 1,
skills: [{ name: 'browser', description: 'Browser automation' }],
@@ -87,5 +103,6 @@ describe('runtime inventory', () => {
const serialized = JSON.stringify(snapshot);
expect(serialized).not.toContain('sk-secret');
expect(serialized).not.toContain('should-not-leak');
expect(serialized).not.toContain('secret-arg-should-not-leak');
});
});