feat(sdk,plugins): typage et stabilisation runtime UI/layout publique (#128)

This commit is contained in:
2026-08-02 13:36:17 +02:00
parent e3e887d6a4
commit 8c4f1ea2e3
9 changed files with 1090 additions and 20 deletions

View File

@ -23,13 +23,18 @@ import type {
AgentGateway,
FocusedProjectGateway,
GitGateway,
PluginConfigGateway,
PluginEventGateway,
PluginTaskGateway,
PluginToolchainGateway,
PluginWorkspaceGateway,
ProjectGateway,
SystemGateway,
TerminalGateway,
WorkStateGateway,
} from "@/ports";
/** The stable gateways a plugin's `activate(ctx)` is allowed to reach (carnet §6). */
/** Internal gateways used to build the public plugin service facade. */
export interface PluginGatewaySet {
project: ProjectGateway;
git: GitGateway;
@ -38,6 +43,11 @@ export interface PluginGatewaySet {
system: SystemGateway;
workState: WorkStateGateway;
focusedProject: FocusedProjectGateway;
pluginWorkspace: PluginWorkspaceGateway;
pluginTask: PluginTaskGateway;
pluginToolchain: PluginToolchainGateway;
pluginEvents: PluginEventGateway;
pluginConfig: PluginConfigGateway;
}
/** A disposable handle returned by every `register*` call. */
@ -97,7 +107,6 @@ export interface PluginLayoutProps {
state: unknown;
setState(next: unknown): void;
availability: "available";
gateways: PluginGatewaySet;
}
export interface PluginLayoutDefinition {