public void invokeAutoApprove(AIPlatformValue aiPlatformValue) throws LatherRemoteException {
   try {
     autoinventoryManager.invokeAutoApprove(aiPlatformValue);
   } catch (AutoinventoryException exc) {
     log.error("Error in invokeAutoApprove: " + exc.getMessage(), exc);
     throw new LatherRemoteException(exc.getMessage());
   }
 }
  /**
   * Called by agents to report platforms, servers, and services detected via autoinventory scans.
   */
  private LatherValue cmdAiSendReport(AiSendReport_args args) throws LatherRemoteException {

    ScanStateCore core = args.getCore();

    try {
      AIPlatformValue aiPlatformValue =
          autoinventoryManager.reportAIData(args.getAgentToken(), core);
      return aiPlatformValue == null
          ? NullLatherValue.INSTANCE
          : new AiPlatformLatherValue(aiPlatformValue);
    } catch (AutoinventoryException exc) {
      log.error("Error in AiSendReport: " + exc.getMessage(), exc);
      throw new LatherRemoteException(exc.getMessage(), exc);
    }
  }