code: func connectProxyConfigWatch(params map[string]interface{}) (WatcherFunc, error) {
  	// We don't support consistency modes since it's agent local data
  
  	var proxyServiceID string
  	if err := assignValue(params, "proxy_service_id", &proxyServiceID); err != nil {
  		return nil, err
  	}
  
  	fn := func(p *Plan) (BlockingParamVal, interface{}, error) {
  		agent := p.client.Agent()
  		opts := makeQueryOptionsWithContext(p, false)
  		defer p.cancelFunc()
  
  		config, _, err := agent.ConnectProxyConfig(proxyServiceID, &opts)
  		if err != nil {
  			return nil, nil, err
  		}
  
  		// Return string ContentHash since we don't have Raft indexes to block on.
  		return WaitHashVal(config.ContentHash), config, err
  	}
  	return fn, nil
  }
docs: // connectProxyConfigWatch is used to watch for changes to Connect managed proxy
  // configuration. Note that this state is agent-local so the watch mechanism
  // uses `hash` rather than `index` for deciding whether to block.