MCPcopy Create free account
hub / github.com/apache/maka / selectComputerUseBackend

Function selectComputerUseBackend

packages/computer-use/src/select-backend.ts:86–117  ·  view source on GitHub ↗
(deps?: MakaCuSelection)

Source from the content-addressed store, hash-verified

84export type ComputerUseBackendSelection = MakaCuSelection;
85
86export function selectComputerUseBackend(deps?: MakaCuSelection): SelectedComputerUseBackend {
87 if (process.platform !== 'darwin') return NONE;
88 if (!deps?.binaryPath || !deps.expectedBinarySha256) return NONE;
89 const binaryPath = deps.binaryPath;
90 const expectedBinarySha256 = deps.expectedBinarySha256;
91 try {
92 let tools: ComputerUseToolSet | undefined;
93 const backend = (deps.createBackend ?? createMakaCuBackend)({
94 binaryPath,
95 expectedBinarySha256,
96 ...(deps.compressFrame ? { compressFrame: deps.compressFrame } : {}),
97 ...(deps.physicalInputRecentlyActive
98 ? { physicalInputRecentlyActive: deps.physicalInputRecentlyActive }
99 : {}),
100 ...(deps.onTrace ? { onTrace: deps.onTrace } : {}),
101 ...(deps.allowCompatibilityInputDispatch === undefined
102 ? {}
103 : { allowCompatibilityInputDispatch: deps.allowCompatibilityInputDispatch }),
104 onSessionInvalidated: ({ sessionId }) => {
105 tools?.sessionEvents.reobserveRequired(sessionId);
106 },
107 });
108 tools = buildComputerUseTools({
109 backend,
110 ...(deps.overlay ? { overlay: deps.overlay } : {}),
111 ...(deps.screenLocked ? { screenLocked: deps.screenLocked } : {}),
112 });
113 return { backend, tools, backendId: DEFAULT_CU_BACKEND_ID };
114 } catch {
115 return NONE;
116 }
117}

Calls 2

buildComputerUseToolsFunction · 0.90
reobserveRequiredMethod · 0.80

Tested by

no test coverage detected