Phase 002: rebrand to hermes-ui and consolidate i18n to zh/en
Removes the ekko / hermes-web-ui branding from the whole tree and drops eight locale files, so the project presents one name and one language pair. Data compatibility is deliberate, not accidental: DB filenames, the JWT audience, and skill manifest ownership all still recognise their pre-rename values so existing deployments under ~/.hermes-web-ui keep working without a re-login or a re-injection. scripts/harness-check.mjs now scans for the legacy strings and fails the build on any new occurrence, with an explicit allow-list (and reasons) for the compatibility paths that must keep them.
This commit is contained in:
@@ -55,7 +55,7 @@ describe('studio MCP autoinject', () => {
|
||||
const injectedDefault = await updateConfigYamlForProfileMock.mock.calls[0][1]({})
|
||||
expect(injectedDefault.data.mcp_servers['hermes-studio-api']).toEqual({
|
||||
command: process.execPath,
|
||||
args: [join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'api'],
|
||||
args: [join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'api'],
|
||||
env: {
|
||||
HERMES_WEB_UI_URL: 'http://127.0.0.1:8648',
|
||||
HERMES_WEB_UI_HOME: '/Users/test/.hermes-web-ui',
|
||||
@@ -69,7 +69,7 @@ describe('studio MCP autoinject', () => {
|
||||
})
|
||||
expect(injectedDefault.data.mcp_servers['hermes-studio-devices']).toMatchObject({
|
||||
command: process.execPath,
|
||||
args: [join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'devices'],
|
||||
args: [join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'devices'],
|
||||
env: {
|
||||
HERMES_MCP_SERVER_NAME: 'hermes-studio-devices',
|
||||
HERMES_MCP_TOOLSET: 'devices',
|
||||
@@ -78,7 +78,7 @@ describe('studio MCP autoinject', () => {
|
||||
})
|
||||
expect(injectedDefault.data.mcp_servers['hermes-studio-use']).toMatchObject({
|
||||
command: process.execPath,
|
||||
args: [join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'use'],
|
||||
args: [join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'use'],
|
||||
env: {
|
||||
HERMES_MCP_SERVER_NAME: 'hermes-studio-use',
|
||||
HERMES_MCP_TOOLSET: 'use',
|
||||
@@ -120,7 +120,7 @@ describe('studio MCP autoinject', () => {
|
||||
mcp_servers: {
|
||||
'hermes-studio-api': {
|
||||
command: process.execPath,
|
||||
args: [join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'api'],
|
||||
args: [join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'api'],
|
||||
env: {
|
||||
HERMES_WEB_UI_URL: 'http://127.0.0.1:8648',
|
||||
HERMES_WEB_UI_HOME: '/Users/test/.hermes-web-ui',
|
||||
@@ -201,9 +201,9 @@ describe('studio MCP autoinject', () => {
|
||||
expect(updated.data.mcp_servers['hermes-studio']).toBeUndefined()
|
||||
expect(updated.data.mcp_servers['hermes-web-ui-mcp']).toBeUndefined()
|
||||
expect(updated.data.mcp_servers['hermes-studio-api'].command).toBe(process.execPath)
|
||||
expect(updated.data.mcp_servers['hermes-studio-api'].args).toEqual([join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'api'])
|
||||
expect(updated.data.mcp_servers['hermes-studio-devices'].args).toEqual([join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'devices'])
|
||||
expect(updated.data.mcp_servers['hermes-studio-use'].args).toEqual([join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'use'])
|
||||
expect(updated.data.mcp_servers['hermes-studio-api'].args).toEqual([join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'api'])
|
||||
expect(updated.data.mcp_servers['hermes-studio-devices'].args).toEqual([join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'devices'])
|
||||
expect(updated.data.mcp_servers['hermes-studio-use'].args).toEqual([join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'use'])
|
||||
})
|
||||
|
||||
it('uses the desktop runtime node for bundled MCP servers when available', async () => {
|
||||
@@ -216,13 +216,13 @@ describe('studio MCP autoinject', () => {
|
||||
const injected = await updateConfigYamlForProfileMock.mock.calls[0][1]({})
|
||||
expect(injected.data.mcp_servers['hermes-studio-api'].command).toBe('/runtime/node')
|
||||
expect(injected.data.mcp_servers['hermes-studio-api'].args).toEqual([
|
||||
join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'api',
|
||||
join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'api',
|
||||
])
|
||||
expect(injected.data.mcp_servers['hermes-studio-devices'].args).toEqual([
|
||||
join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'devices',
|
||||
join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'devices',
|
||||
])
|
||||
expect(injected.data.mcp_servers['hermes-studio-use'].args).toEqual([
|
||||
join(process.cwd(), 'bin/hermes-studio-mcp.mjs'), 'use',
|
||||
join(process.cwd(), 'bin/hermes-ui-mcp.mjs'), 'use',
|
||||
])
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user