Merge branch 'master' into worktree/ci-subminute-stability

This commit is contained in:
Tianyi Cui
2026-07-23 19:43:54 +08:00
committed by GitHub
21 changed files with 728 additions and 20 deletions

View File

@@ -98,7 +98,7 @@ export async function bootHost(options: BootHostOptions): Promise<HostHandle> {
await ctx.plugin(TaskService)
await ctx.plugin(AgentLoop, { agents: [] })
await ctx.plugin(LlmDeepSeek, {})
await ctx.plugin(SessionPersistenceJsonl, { root: options.persistenceRoot, compression: 'none' })
await ctx.plugin(SessionPersistenceJsonl, { root: options.persistenceRoot })
await ctx.plugin(LocalBashExecutor, {})
// Tool suite mirroring the demo:repl composition (repl-agent/cordis.yml +
// the agent-spine bundle) so web sessions get the same coding-agent tool

View File

@@ -104,6 +104,16 @@ describe('bootHost / startHost', () => {
await handle.dispose()
})
it('uses the JSONL backend compressed default', async () => {
const handle: HostHandle = await bootHost({
persistenceRoot: mkdtempSync(join(tmpdir(), 'dsh-boot-zstd-')),
workspaceContext: false,
})
const session = handle.ctx.sessions.create()
expect(handle.ctx.sessionPersistence.locate(session.header)?.path).toMatch(/\.jsonl\.zstd$/)
await handle.dispose()
})
it('startHost assembles api + handler over the same defaults and dedupes dispose', async () => {
const running = await boot()
expect(running.defaults).toMatchObject({ provider: 'scripted', model: 'test-model' })