diff --git a/cli/src/agent/sessionFactory.test.ts b/cli/src/agent/sessionFactory.test.ts new file mode 100644 index 00000000..f6352ce2 --- /dev/null +++ b/cli/src/agent/sessionFactory.test.ts @@ -0,0 +1,28 @@ +import { afterEach, describe, expect, it } from 'vitest' +import { buildSessionMetadata } from './sessionFactory' + +describe('buildSessionMetadata', () => { + const originalHostname = process.env.HAPI_HOSTNAME + + afterEach(() => { + if (originalHostname === undefined) { + delete process.env.HAPI_HOSTNAME + } else { + process.env.HAPI_HOSTNAME = originalHostname + } + }) + + it('uses HAPI_HOSTNAME for session metadata host when provided', () => { + process.env.HAPI_HOSTNAME = 'custom-session-host' + + const metadata = buildSessionMetadata({ + flavor: 'codex', + startedBy: 'terminal', + workingDirectory: '/tmp/project', + machineId: 'machine-1', + now: 123 + }) + + expect(metadata.host).toBe('custom-session-host') + }) +}) diff --git a/cli/src/agent/sessionFactory.ts b/cli/src/agent/sessionFactory.ts index 8fc1dfbc..ddbea808 100644 --- a/cli/src/agent/sessionFactory.ts +++ b/cli/src/agent/sessionFactory.ts @@ -63,7 +63,7 @@ export function buildSessionMetadata(options: { return { path: options.workingDirectory, - host: os.hostname(), + host: process.env.HAPI_HOSTNAME || os.hostname(), version: packageJson.version, os: os.platform(), machineId: options.machineId,