(experimentIds: readonly string[])
| 217 | } |
| 218 | |
| 219 | function buildExperimentsObject(experimentIds: readonly string[]) { |
| 220 | return { |
| 221 | programmaticToolCalling: experimentIds.includes(EXPERIMENT_IDS.PROGRAMMATIC_TOOL_CALLING), |
| 222 | programmaticToolCallingExclusive: experimentIds.includes( |
| 223 | EXPERIMENT_IDS.PROGRAMMATIC_TOOL_CALLING_EXCLUSIVE |
| 224 | ), |
| 225 | execSubagentHardRestart: experimentIds.includes(EXPERIMENT_IDS.EXEC_SUBAGENT_HARD_RESTART), |
| 226 | // Invoking `mux workflow` is an explicit opt-in, so the dynamic-workflows |
| 227 | // experiment is enabled implicitly for this invocation (never persisted). |
| 228 | dynamicWorkflows: true, |
| 229 | workspaceHeartbeats: experimentIds.includes(EXPERIMENT_IDS.WORKSPACE_HEARTBEATS), |
| 230 | }; |
| 231 | } |
| 232 | |
| 233 | async function disposeWorkflowResources(input: { |
| 234 | tempDir: DisposableTempDir; |
no outgoing calls
no test coverage detected