feat(paths): add resolveSessionsRoot as the one shared session-store root
Every surface that persists or lists sessions resolves one directory under the Harness home, so history is shared across working directories instead of scattered per project.
This commit is contained in:
@@ -4,10 +4,12 @@ import { describe, expect, it } from 'vitest'
|
||||
import {
|
||||
DEFAULT_DSH_HOME_DISPLAY,
|
||||
DSH_HOME_DIR_NAME,
|
||||
SESSIONS_DIR_NAME,
|
||||
defaultDshHome,
|
||||
dshHomeDisplay,
|
||||
expandHomePath,
|
||||
resolveDshHome,
|
||||
resolveSessionsRoot,
|
||||
} from '@deepseek-ai/dsh-paths'
|
||||
|
||||
describe('dsh path helpers', () => {
|
||||
@@ -38,6 +40,15 @@ describe('dsh path helpers', () => {
|
||||
expect(resolveDshHome(undefined, { DSH_HOME: ' ' })).toBe(defaultDshHome())
|
||||
})
|
||||
|
||||
it('resolves the session store under the home it was given, by the same precedence', () => {
|
||||
expect(SESSIONS_DIR_NAME).toBe('sessions')
|
||||
expect(resolveSessionsRoot('/tmp/explicit-dsh', { DSH_HOME: '~/env-dsh' }))
|
||||
.toBe(join(resolve('/tmp/explicit-dsh'), 'sessions'))
|
||||
expect(resolveSessionsRoot(undefined, { DSH_HOME: '~/env-dsh' }))
|
||||
.toBe(join(homedir(), 'env-dsh', 'sessions'))
|
||||
expect(resolveSessionsRoot(undefined, {})).toBe(join(defaultDshHome(), 'sessions'))
|
||||
})
|
||||
|
||||
it('labels a resolved home by whether it is the default root', () => {
|
||||
expect(dshHomeDisplay(resolve(defaultDshHome()))).toBe('~/.dsh')
|
||||
expect(dshHomeDisplay('/some/other/root')).toBe('$DSH_HOME')
|
||||
|
||||
Reference in New Issue
Block a user