Files
tutti/packages/agent/gui/composerProjection.ts
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

41 lines
1.6 KiB
TypeScript

/**
* DOM-free Composer projections for alternate renderers such as Mobile.
*
* The workspace engine remains the owner of option loading and settings
* commands. Consumers receive canonical activity-core data and retain only
* their local visual controls and disclosure state.
*/
import type {
AgentActivityComposerOptions,
AgentActivitySession,
AgentActivitySessionSettings
} from "@tutti-os/agent-activity-core";
export {
composerSettingsSupportFromOptions,
type AgentComposerSettingsSupport
} from "./agent-gui/agentGuiNode/model/composerSettingsSupport.ts";
/**
* Resolves the settings that a renderer should present without copying
* provider defaults into a Mobile-specific model. Session facts win; a
* pre-session composer uses the daemon-projected effective defaults.
*/
export function resolvePresentedAgentComposerSettings(input: {
composerOptions: AgentActivityComposerOptions | null;
settings?: AgentActivitySessionSettings | null;
session: Pick<AgentActivitySession, "settings"> | null;
}): AgentActivitySessionSettings {
const defaults = input.composerOptions?.effectiveSettings;
const sessionSettings = input.session?.settings ?? input.settings;
return {
model: sessionSettings?.model ?? defaults?.model ?? null,
permissionModeId:
sessionSettings?.permissionModeId ?? defaults?.permissionModeId ?? null,
planMode: sessionSettings?.planMode ?? defaults?.planMode ?? null,
reasoningEffort:
sessionSettings?.reasoningEffort ?? defaults?.reasoningEffort ?? null,
speed: sessionSettings?.speed ?? defaults?.speed ?? null
};
}