mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
feat: add support for Codex's request_user_input tool
Implement full support for the request_user_input tool with both Web UI and CLI
components. This includes:
- New view and footer components for request_user_input tool UI
- Tool registration in knownTools and view registries
- Nested answer format support (Record<string, { answers: string[] }>)
- Backward compatibility with flat answer format (Record<string, string[]>)
- Permission handler updates for CLI request_user_input acceptance
- Type definitions and schema updates across shared/cli/server/web packages
- Translation strings for request_user_input UI elements
- Conditional footer rendering in ToolCard for question tools
This commit is contained in:
@@ -67,7 +67,12 @@ export const AgentStateCompletedRequestSchema = z.object({
|
||||
mode: z.string().optional(),
|
||||
decision: z.enum(['approved', 'approved_for_session', 'denied', 'abort']).optional(),
|
||||
allowTools: z.array(z.string()).optional(),
|
||||
answers: z.record(z.string(), z.array(z.string())).optional()
|
||||
// Flat format: Record<string, string[]> (AskUserQuestion)
|
||||
// Nested format: Record<string, { answers: string[] }> (request_user_input)
|
||||
answers: z.union([
|
||||
z.record(z.string(), z.array(z.string())),
|
||||
z.record(z.string(), z.object({ answers: z.array(z.string()) }))
|
||||
]).optional()
|
||||
})
|
||||
|
||||
export type AgentStateCompletedRequest = z.infer<typeof AgentStateCompletedRequestSchema>
|
||||
|
||||
Reference in New Issue
Block a user