feat(layout): supporte la création de layouts plugins (customPluginLayout)
Étend le flux de création de layout backend (DTO, usecases, store) et le frontend (sélecteur, adaptateurs, LayoutTabs/LayoutGrid) pour permettre d'ouvrir un layout déclaré par un plugin installé (ex. Android Health), sans passer par le message bloquant "extension backend pas encore livrée". Ticket #141 — QA vert. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@ -952,16 +952,24 @@ export type LayoutOperation =
|
||||
| { type: "setSession"; target: string; session?: string | null }
|
||||
| { type: "setCellAgent"; target: string; agent: string | null }
|
||||
| { type: "setCellConversation"; target: string; conversationId: string | null }
|
||||
| { type: "setAgentRunning"; target: string; running: boolean };
|
||||
| { type: "setAgentRunning"; target: string; running: boolean }
|
||||
| { type: "setPluginLayoutState"; target: string; state: unknown };
|
||||
|
||||
/** The kind of a named layout. */
|
||||
export type LayoutKind = "terminal" | "gitGraph";
|
||||
export type LayoutKind = "terminal" | "gitGraph" | "plugin";
|
||||
|
||||
/** Origin metadata required to create and render a plugin-provided layout. */
|
||||
export interface PluginLayoutOrigin {
|
||||
pluginId: string;
|
||||
layoutType: string;
|
||||
}
|
||||
|
||||
/** Named layout entry returned by `listLayouts`. */
|
||||
export interface LayoutInfo {
|
||||
id: string;
|
||||
name: string;
|
||||
kind: LayoutKind;
|
||||
pluginOrigin?: PluginLayoutOrigin | null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user