Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

47 lines
1.0 KiB
TypeScript

import {
createContext,
createElement,
useContext,
type ReactElement,
type ReactNode
} from "react";
/** Setup section requested by an AgentGUI remediation action. */
export type AgentEnvPanelFocus =
| "detect"
| "install"
| "repair"
| "upgrade"
| "auth"
| "network"
| "registry";
export interface OpenAgentEnvPanelInput {
provider?: string | null;
focus?: AgentEnvPanelFocus | null;
}
export type OpenAgentEnvPanelAction = (input?: OpenAgentEnvPanelInput) => void;
const AgentEnvPanelActionContext =
createContext<OpenAgentEnvPanelAction | null>(null);
export function AgentEnvPanelActionProvider({
children,
openPanel
}: {
children: ReactNode;
openPanel?: OpenAgentEnvPanelAction;
}): ReactElement {
return createElement(
AgentEnvPanelActionContext.Provider,
{ value: openPanel ?? null },
children
);
}
/** Host-injected command; AgentGUI never owns the panel workflow state. */
export function useOpenAgentEnvPanel(): OpenAgentEnvPanelAction | null {
return useContext(AgentEnvPanelActionContext);
}