Merge remote-tracking branch 'origin/master' into worktree/web-ask-user-question

# Conflicts:
#	apps/web/tests/smoke-fixture.e2e.ts
This commit is contained in:
Yichen Jiang
2026-07-22 23:48:53 +08:00
622 changed files with 29208 additions and 3469 deletions

View File

@@ -11,7 +11,7 @@ Abstract user-interaction seam. It owns `ctx.userInteraction`, the service a mod
### Key Types
- `AskUserQuestionRequest``{ questions: [{ id, question, header?, options?, multiSelect? }], agent?, signal? }`.
- `AskUserQuestionRequest``{ questions: [{ id, question, detail?, header?, options?, multiSelect? }], agent?, signal? }`; `detail` supplies supporting text that providers render with the question without turning it into an option label.
- `AskUserQuestionOption``{ label, description? }`.
- `AskUserQuestionAnswer``{ answers: [{ id, selected, custom? }] }`.
- `UserInteractionProvider` — UI implementation with `ask(request)`.

View File

@@ -13,12 +13,14 @@ export interface AskUserQuestionOption {
description?: string
}
/** One question in an ask_user_question request. */
/** One question in a user-interaction request. */
export interface AskUserQuestionItem {
/** Stable model-provided question id, echoed in the answer. */
/** Stable caller-provided question id, echoed in the answer. */
id: string
/** The question to display. */
question: string
/** Optional supporting detail rendered with the question but kept out of option labels. */
detail?: string
/** Optional short heading/group label. */
header?: string
/** Optional choices the UI can render as a menu. */