MCPcopy Create free account
hub / github.com/getsentry/XcodeBuildMCP / build_run_deviceLogic

Function build_run_deviceLogic

src/mcp/tools/device/build_run_device.ts:303–331  ·  view source on GitHub ↗
(
  params: BuildRunDeviceParams,
  executor: CommandExecutor,
  fileSystemExecutor: FileSystemExecutor = getDefaultFileSystemExecutor(),
)

Source from the content-addressed store, hash-verified

301} as const);
302
303export async function build_run_deviceLogic(
304 params: BuildRunDeviceParams,
305 executor: CommandExecutor,
306 fileSystemExecutor: FileSystemExecutor = getDefaultFileSystemExecutor(),
307): Promise<void> {
308 const ctx = getHandlerContext();
309 const invocationRequest = createBuildRunDeviceRequest(params);
310
311 ctx.emit(createBuildInvocationFragment('build-run-result', 'BUILD', invocationRequest));
312 const executionContext = createStreamingExecutionContext(ctx);
313 const executeBuildRunDevice = createBuildRunDeviceExecutor(executor, fileSystemExecutor);
314
315 const result = await executeBuildRunDevice(params, executionContext);
316
317 setXcodebuildStructuredOutput(ctx, 'build-run-result', result);
318
319 if (!result.didError) {
320 const nextStepParams: NextStepParamsMap = {};
321 if ('processId' in result.artifacts && typeof result.artifacts.processId === 'number') {
322 nextStepParams.stop_app_device = {
323 deviceId: params.deviceId,
324 processId: result.artifacts.processId,
325 };
326 }
327 if (Object.keys(nextStepParams).length > 0) {
328 ctx.nextStepParams = nextStepParams;
329 }
330 }
331}
332
333export const schema = getSessionAwareToolSchemaShape({
334 sessionAware: publicSchemaObject,

Callers 2

runBuildRunDeviceLogicFunction · 0.90

Calls 8

getHandlerContextFunction · 0.90
emitMethod · 0.80

Tested by 1

runBuildRunDeviceLogicFunction · 0.72