mirror of
https://github.com/wu736139669/hapi.git
synced 2026-11-14 02:51:43 +00:00
feat(web): settings for AGENT_NOTIFY_SUMMARY chat display (default hide) (#1477)
* feat(web): render AGENT_NOTIFY_SUMMARY as compact metadata * fix(web): defer summary rendering until completion * fix(shared): preserve indentation when splitting summaries * fix(web): guard unknown summary statuses * feat(web): settings for AGENT_NOTIFY_SUMMARY chat display (default hide) Add hub setting sibling to emit (#1376): show compact NotifySummaryText when on; strip footer from chat/copy when off. Store/parse/FCM unchanged. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): address #1477 Majors for display setting Allow any namespace to GET hub-settings (PUT stays owner-only) so sessionSummaryInChat applies hub-wide. Reject whitespace-delimited AGENT_NOTIFY_SUMMARY examples so default-hide does not eat prose. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(shared): allow indented AGENT_NOTIFY_SUMMARY footers Keep rejecting whitespace-delimited prose examples, but accept a standalone footer whose only prefix is leading indentation. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): poll hub display setting; hide empty notify footers Refetch sessionSummaryInChat so open clients pick up owner toggles. When display is on, recognized footers without status/summary/action still strip raw JSON instead of falling back to MarkdownText. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web): poll notify display once in chat shell Move hub-settings refetchInterval off per-message hooks into HappyThread context. Strip well-formed footers while streaming when display is off. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(web,hub): QueryClient for HappyThread tests; atomic hub-settings Wrap HappyThread mobile-scroll tests in QueryClientProvider after the chat-shell hub-settings poll. Read/write both hub setting flags in one settings.json snapshot under the shared lock. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Ananovo <78636812+techotaku39@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor
Ananovo
parent
c69a88afae
commit
51ae260a3f
+12
-4
@@ -58,14 +58,22 @@ export const CreateSessionResponseSchema = z.object({
|
||||
export type CreateSessionResponse = z.infer<typeof CreateSessionResponseSchema>
|
||||
|
||||
export const HubSettingsResponseSchema = z.object({
|
||||
sessionSummaryContract: z.boolean()
|
||||
sessionSummaryContract: z.boolean(),
|
||||
/** Show compact AGENT_NOTIFY_SUMMARY in chat (default off / hide). */
|
||||
sessionSummaryInChat: z.boolean()
|
||||
})
|
||||
|
||||
export type HubSettingsResponse = z.infer<typeof HubSettingsResponseSchema>
|
||||
|
||||
export const UpdateHubSettingsRequestSchema = z.object({
|
||||
sessionSummaryContract: z.boolean()
|
||||
})
|
||||
export const UpdateHubSettingsRequestSchema = z
|
||||
.object({
|
||||
sessionSummaryContract: z.boolean().optional(),
|
||||
sessionSummaryInChat: z.boolean().optional()
|
||||
})
|
||||
.refine(
|
||||
(data) => data.sessionSummaryContract !== undefined || data.sessionSummaryInChat !== undefined,
|
||||
{ message: 'At least one hub setting field is required' }
|
||||
)
|
||||
|
||||
export type UpdateHubSettingsRequest = z.infer<typeof UpdateHubSettingsRequestSchema>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user