(self, args: str, context: CommandContext)
| 184 | """ |
| 185 | |
| 186 | async def run(self, args: str, context: CommandContext) -> InteractiveOutcome: |
| 187 | raw = (args or "").strip() |
| 188 | a = raw.lower() |
| 189 | |
| 190 | # 1. help (headless — TS effort.tsx:178-180). |
| 191 | if a in COMMON_HELP_ARGS: |
| 192 | return InteractiveOutcome(message=_USAGE, display="user") |
| 193 | |
| 194 | # 2. current/status (headless — TS :182-183). |
| 195 | if a in ("current", "status"): |
| 196 | return InteractiveOutcome(message=_show_current(), display="user") |
| 197 | |
| 198 | # 3. no args ⇒ picker (TS :185-186). The only path that needs a UI surface; |
| 199 | # on NullUIHost the select below raises -> engine returns a clean error. |
| 200 | if not a: |
| 201 | current = _current_effort() |
| 202 | picked = await context.ui.select( |
| 203 | "Set reasoning effort:", _effort_options(current), current=current |
| 204 | ) |
| 205 | if picked is None: # TS handleCancel -> onDone('Cancelled') (no options -> user). |
| 206 | return InteractiveOutcome(message="Cancelled", display="user") |
| 207 | from src.workflow.ultracode import set_ultracode_session |
| 208 | |
| 209 | if picked == "ultracode": |
| 210 | set_ultracode_session(True) |
| 211 | return InteractiveOutcome(message=_ULTRACODE_ON_MSG, display="user") |
| 212 | # Any real effort choice exits ultracode mode (spec: "reset with /effort high"). |
| 213 | set_ultracode_session(False) |
| 214 | if picked == "auto": |
| 215 | set_effort(None) |
| 216 | # TS effort.tsx:213 (effort=undefined). |
| 217 | return InteractiveOutcome( |
| 218 | message=f"Set effort level to auto: {_AUTO_PICKER_DESC}", |
| 219 | display="user", |
| 220 | ) |
| 221 | set_effort(picked) |
| 222 | return InteractiveOutcome( |
| 223 | message=f"Set effort level to {picked}: {_DESCRIPTIONS[picked]}", |
| 224 | display="user", |
| 225 | ) |
| 226 | |
| 227 | # 4. explicit arg (headless — TS executeEffort :108-123). |
| 228 | from src.workflow.ultracode import set_ultracode_session |
| 229 | |
| 230 | if a == "ultracode": |
| 231 | # workflow-engine §4.1 / §4.8: only valid when workflows are enabled. |
| 232 | from src.workflow.gating import is_workflows_enabled |
| 233 | |
| 234 | if not is_workflows_enabled(): |
| 235 | return InteractiveOutcome(message=_invalid_msg(raw), display="user") |
| 236 | set_ultracode_session(True) |
| 237 | return InteractiveOutcome(message=_ULTRACODE_ON_MSG, display="user") |
| 238 | if a in ("auto", "unset"): |
| 239 | set_effort(None) # TS unsetEffortLevel. |
| 240 | set_ultracode_session(False) |
| 241 | return InteractiveOutcome(message="Effort level set to auto", display="user") |
| 242 | if a in _levels(): |
| 243 | set_effort(a) # TS setEffortValue (env-override / session-only branches dropped). |
nothing calls this directly
no test coverage detected