(enable: boolean, getAppState: () => AppState, setAppState: (f: (prev: AppState) => AppState) => void)
| 224 | return s.mainLoopModel; |
| 225 | } |
| 226 | async function handleFastModeShortcut(enable: boolean, getAppState: () => AppState, setAppState: (f: (prev: AppState) => AppState) => void): Promise<string> { |
| 227 | const unavailableReason = getFastModeUnavailableReason(); |
| 228 | if (unavailableReason) { |
| 229 | return `Fast mode unavailable: ${unavailableReason}`; |
| 230 | } |
| 231 | const { |
| 232 | mainLoopModel |
| 233 | } = getAppState(); |
| 234 | applyFastMode(enable, setAppState); |
| 235 | logEvent('tengu_fast_mode_toggled', { |
| 236 | enabled: enable, |
| 237 | source: 'shortcut' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS |
| 238 | }); |
| 239 | if (enable) { |
| 240 | const fastIcon = getFastIconString(true); |
| 241 | const modelUpdated = !isFastModeSupportedByModel(mainLoopModel) ? ` · model set to ${FAST_MODE_MODEL_DISPLAY}` : ''; |
| 242 | const pricing = formatModelPricing(getOpus46CostTier(true)); |
| 243 | return `${fastIcon} Fast mode ON${modelUpdated} · ${pricing}`; |
| 244 | } else { |
| 245 | return `Fast mode OFF`; |
| 246 | } |
| 247 | } |
| 248 | export async function call(onDone: LocalJSXCommandOnDone, context: LocalJSXCommandContext, args?: string): Promise<React.ReactNode | null> { |
| 249 | if (!isFastModeEnabled()) { |
| 250 | return null; |
no test coverage detected