( runner: RunnerConfig, execute: (params: I, context: ExecutionContext) => Promise<O>, params: I, context: ExecutionContext, )
| 517 | } |
| 518 | |
| 519 | export async function runComponentWithRunner<I, O>( |
| 520 | runner: RunnerConfig, |
| 521 | execute: (params: I, context: ExecutionContext) => Promise<O>, |
| 522 | params: I, |
| 523 | context: ExecutionContext, |
| 524 | ): Promise<O> { |
| 525 | switch (runner.kind) { |
| 526 | case 'inline': |
| 527 | return runComponentInline(execute, params, context); |
| 528 | case 'docker': |
| 529 | return runComponentInDocker<I, O>(runner, params, context); |
| 530 | case 'remote': |
| 531 | context.logger.info(`[Runner] remote execution stub for ${runner.endpoint}`); |
| 532 | context.emitProgress('Remote execution not yet implemented; returning inline output'); |
| 533 | return runComponentInline(execute, params, context); |
| 534 | default: |
| 535 | throw new ConfigurationError(`Unsupported runner type: ${(runner as any).kind}`, { |
| 536 | configKey: 'runner.kind', |
| 537 | details: { runnerKind: (runner as any).kind }, |
| 538 | }); |
| 539 | } |
| 540 | } |
no test coverage detected