Merge remote-tracking branch 'origin/master' into worktree/session-reference

# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent-loop/tests/contract-regressions.spec.ts
#	packages/core/agent/src/types.ts
#	packages/ui/tui/tests/harness.ts
#	scripts/type-equiv.manifest.json
This commit is contained in:
Yichen Jiang
2026-07-21 21:57:21 +08:00
156 changed files with 3103 additions and 908 deletions
+5 -4
View File
@@ -2,6 +2,7 @@ import { Context } from 'cordis'
import type { Terminal } from '@earendil-works/pi-tui'
import AgentRegistry, {
type Agent,
type AgentCancelCause,
type AgentOptions,
type AgentStatus,
type SendOptions,
@@ -20,7 +21,7 @@ interface FakeAgent extends Agent {
sentOptions: (SendOptions | undefined)[]
steered: ContentBlock[][]
steeredOptions: (SendOptions | undefined)[]
cancelled: string[]
cancelled: AgentCancelCause[]
}
export interface TuiHarnessOptions {
@@ -119,7 +120,7 @@ export async function createTuiTestHarness<TerminalType extends Terminal, Exit e
const steered: ContentBlock[][] = []
const sentOptions: (SendOptions | undefined)[] = []
const steeredOptions: (SendOptions | undefined)[] = []
const cancelled: string[] = []
const cancelled: AgentCancelCause[] = []
const agent: FakeAgent = {
id: sessionId,
options: options.agentOptions ?? { provider: 'deepseek', model: 'deepseek-v4-flash' },
@@ -140,8 +141,8 @@ export async function createTuiTestHarness<TerminalType extends Terminal, Exit e
steeredOptions.push(options)
},
inject() {},
cancel(reason) {
cancelled.push(reason ?? '')
cancel(cause = { kind: 'user' }) {
cancelled.push(cause)
},
whenIdle() {
return Promise.resolve()