MCPcopy Index your code
hub / github.com/callstack/agent-device / createSelectorRuntime

Function createSelectorRuntime

src/daemon/selector-runtime-backend.ts:65–91  ·  view source on GitHub ↗
(
  params: SelectorRuntimeParams,
  options: { requireSession: boolean; capability: 'find' | 'get' | 'is' },
)

Source from the content-addressed store, hash-verified

63}
64
65export async function createSelectorRuntime(
66 params: SelectorRuntimeParams,
67 options: { requireSession: boolean; capability: 'find' | 'get' | 'is' },
68): Promise<
69 | { ok: true; runtime: ReturnType<typeof createSelectorRuntimeForDevice> }
70 | { ok: false; response: DaemonResponse }
71> {
72 const session = params.sessionStore.get(params.sessionName);
73 if (!session && options.requireSession) {
74 return {
75 ok: false,
76 response: noActiveSessionError(),
77 };
78 }
79 const device = session?.device ?? (await resolveTargetDevice(params.req.flags ?? {}));
80 if (!session) await ensureDeviceReady(device);
81 const unsupported = requireCommandSupported(options.capability, device);
82 if (unsupported) return { ok: false, response: unsupported };
83 return {
84 ok: true,
85 runtime: createSelectorRuntimeForDevice({
86 ...params,
87 session,
88 device,
89 }),
90 };
91}
92
93function createSelectorBackend(params: SelectorRuntimeDeviceParams): AgentDeviceBackend {
94 const { req, session, device, logPath, sessionName, sessionStore } = params;

Callers 3

dispatchGetViaRuntimeFunction · 0.90
dispatchIsViaRuntimeFunction · 0.90

Calls 6

noActiveSessionErrorFunction · 0.90
resolveTargetDeviceFunction · 0.90
ensureDeviceReadyFunction · 0.90
requireCommandSupportedFunction · 0.90
getMethod · 0.80

Tested by

no test coverage detected