NewComputerUseTool creates a provider-aware computer use AgentTool that delegates to the agent's desktop endpoints. declaredWidth and declaredHeight are the model-facing desktop dimensions advertised to providers and requested for screenshots.
( provider string, declaredWidth, declaredHeight int, getWorkspaceConn func(ctx context.Context) (workspacesdk.AgentConn, error), storeFile StoreFileFunc, clock quartz.Clock, logger slog.Logger, )
| 96 | // are the model-facing desktop dimensions advertised to providers and requested |
| 97 | // for screenshots. |
| 98 | func NewComputerUseTool( |
| 99 | provider string, |
| 100 | declaredWidth, declaredHeight int, |
| 101 | getWorkspaceConn func(ctx context.Context) (workspacesdk.AgentConn, error), |
| 102 | storeFile StoreFileFunc, |
| 103 | clock quartz.Clock, |
| 104 | logger slog.Logger, |
| 105 | ) fantasy.AgentTool { |
| 106 | return &computerUseTool{ |
| 107 | provider: DefaultComputerUseProvider(provider), |
| 108 | declaredWidth: declaredWidth, |
| 109 | declaredHeight: declaredHeight, |
| 110 | getWorkspaceConn: getWorkspaceConn, |
| 111 | storeFile: storeFile, |
| 112 | clock: clock, |
| 113 | logger: logger, |
| 114 | } |
| 115 | } |
| 116 | |
| 117 | func (*computerUseTool) Info() fantasy.ToolInfo { |
| 118 | return fantasy.ToolInfo{ |