Faits :
A.
Le 27 septembre 2012, le Conseil municipal de Vex a accordé à A._ un permis de construire un chalet sur la parcelle 7065 du cadastre communal. L'opposition formée par Helvetia Nostra a été déclarée irrecevable.
Par décision du 28 novembre 2012, le Conseil d'Etat du canton du Valais a déclaré irrecevable le recours d'Helvetia Nostra, considérant que l'octroi d'une autorisation de construire en zone à bâtir ne relevait pas d'une tâche de la Confédération (<ref-law>).
B.
Helvetia Nostra a saisi la Cour de droit public du Tribunal cantonal valaisan. Après réception des déterminations du Conseil d'Etat, de la commune et de la constructrice, la cour cantonale a suspendu la cause en attendant qu'il soit statué sur les affaires similaires pendantes devant le Tribunal fédéral.
Dans les arrêts de principe rendus le 22 mai 2013 en matière d'autorisation de construire une résidence secondaire, le Tribunal fédéral a admis la qualité pour recourir d'Helvetia Nostra (<ref-ruling>) ainsi que l'applicabilité directe des art. 75b et 197 ch. 9 Cst. aux permis de construire délivrés après le 11 mars 2012 (<ref-ruling>), indépendamment de la date de dépôt de la demande (<ref-ruling>).
La procédure cantonale a été reprise le 11 juillet 2013. La constructrice a fait savoir, le 31 juillet 2013, que l'acquéreur de l'immeuble, B._, entendait vouer le chalet à sa résidence principale. Le même jour, l'avocat de la constructrice a demandé la suspension de la procédure afin de trouver une solution avec la recourante. Le 3 octobre 2013 la commune de Vex a délivré un avenant à l'autorisation de construire imposant l'obligation d'utiliser les futurs logements exclusivement et en permanence par des personnes domiciliées sur le territoire communal, ainsi que l'inscription d'une mention correspondante au registre foncier. La réquisition a été formée le 14 octobre 2013. Ces documents, ainsi que l'extrait correspondant du registre foncier, ont été produits au Tribunal cantonal par la commune de Vex le 23 octobre 2013, puis le 25 octobre suivant par le mandataire de la constructrice.
C.
Par arrêt du 29 octobre 2013, le Tribunal cantonal a classé le recours et déclaré la cause sans objet: dès lors que le permis de construire portait sur une résidence principale, l'argument fondé sur l'art. 75b Cst., et visant à prévenir les résidences secondaires, était dépourvu d'objet. Les frais, par 280 fr., et les dépens (100 fr. pour les deux instances) ont été mis à la charge de la constructrice, dès lors que le recours avait, au moment de son dépôt, de bonnes chances de succès.
D.
Par acte du 28 novembre 2013, Helvetia Nostra forme un recours en matière de droit public. Elle conclut à l'annulation de l'arrêt attaqué, subsidiairement au renvoi de la cause à l'autorité cantonale pour nouveau jugement au sens des considérants. Elle se plaint d'une violation de son droit d'être entendue et relève que l'acquéreur du chalet ne serait pas domicilié en Suisse.
La cour cantonale conclut au rejet du recours dans la mesure où il est recevable, en contestant notamment toute violation du droit d'être entendu. Le Conseil d'Etat a renoncé à prendre position.
L'intimée A._ conclut au rejet du recours et à la confirmation des décisions précédentes, avec suite de frais et dépens. Elle explique que l'acquéreur de la parcelle a obtenu un permis B et est venu en Valais avec sa famille dans l'optique de s'y installer et d'y travailler.
Dans de nouvelles observations, la recourante reprend son grief de violation du droit d'être entendue; elle met en doute l'installation de l'acquéreur dans la commune de Vex en relevant qu'il n'a produit aucune attestation de domicile et que sa famille se trouverait toujours à l'étranger.

Dans ses dernières déterminations, l'intimée confirme que l'acquéreur entend s'installer à Vex avec sa famille. S'agissant du droit d'être entendu, elle considère que la recourante pouvait déposer des déterminations spontanées avant que le Tribunal cantonal ne statue.
Considérant en droit :
1.
Le recours est dirigé contre une décision finale de dernière instance cantonale rendue en droit public des constructions. Il est recevable au regard des art. 82 let. a et 86 al. 1 let. d LTF, et a été formé dans le délai fixé à l'<ref-law>.
1.1. Helvetia Nostra a participé à la procédure devant l'instance précédente (<ref-law>). Sa qualité pour agir est incontestable (cf. <ref-ruling>).
1.2. Saisi d'un recours en matière de droit public, le Tribunal fédéral examine librement la violation du droit fédéral, qui comprend les droits de nature constitutionnelle (cf. art. 95 let. a et 106 al. 1 LTF), sous réserve des exigences de motivation figurant à l'<ref-law>. L'examen du Tribunal fédéral se fonde sur les faits constatés par l'autorité précédente (cf. <ref-law>), à moins que ces faits n'aient été établis de façon manifestement inexacte (<ref-ruling> consid. 4.1.2 p. 62) ou en violation du droit au sens de l'<ref-law> (cf. <ref-law>). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (<ref-law>).
2.
Dans un grief d'ordre formel qu'il convient d'examiner en premier lieu, la recourante reproche à la cour cantonale de ne pas lui avoir donné l'occasion de se déterminer sur la décision complémentaire de la commune de Vex.
2.1. Conformément aux art. 29 al. 2 Cst. et 6 CEDH, les parties ont le droit d'être entendues. Cela comprend en particulier le droit, pour une partie à un procès, de prendre connaissance de toute argumentation présentée au tribunal et de se déterminer à son propos, que celle-ci contienne ou non de nouveaux éléments de fait ou de droit, et qu'elle soit ou non concrètement susceptible d'influer sur le jugement à rendre. Il appartient en effet aux parties, et non au juge, de décider si une prise de position ou une pièce nouvellement versée au dossier contient des éléments déterminants qui appellent des observations de leur part. Toute prise de position ou pièce nouvelle versée au dossier doit dès lors être communiquée aux parties pour leur permettre de décider si elles veulent ou non faire usage de leur faculté de se déterminer (<ref-ruling> consid. 3.2 p. 191 et s.; <ref-ruling> consid. 2.1 p. 485; 154 consid. 2.3.2 p. 156).
2.2. En l'espèce, après le prononcé des arrêts du Tribunal fédéral et la reprise de la procédure le 11 juillet 2013, les parties ont entamé des pourparlers au sujet de la conformité du projet. Le 23 octobre 2013, la commune de Vex a communiqué à la cour cantonale l'avenant à l'autorisation de construire portant sur la réalisation d'une résidence principale, ainsi que la réquisition de porter la mention correspondante et l'extrait du Registre foncier. L'avocat de l'intimée a remis les mêmes documents en demandant que la suspension de la cause soit maintenue, par lettre parvenue à la cour cantonale le 28 octobre 2013. L'arrêt attaqué a été rendu le lendemain, sans que la recourante n'ait été invitée à se prononcer sur ces nouvelles pièces. Les documents produits correspondent certes à ce que la recourante avait évoqué dans une lettre du 30 juillet 2013 adressée à l'acquéreur. L'avenant avait également été notifié à la recourante par l'autorité communale. Ces diverses communications ne sauraient toutefois remplacer une invitation formelle à se déterminer de la part de la cour cantonale. La recourante n'aurait d'ailleurs pas eu l'occasion de présenter des observations spontanées puisque la cour a statué quelques jours seulement après réception des pièces déterminantes. Le droit d'être entendu de la recourante a par conséquent été violé.
3.
Le recours doit être admis pour ce motif formel, sans qu'il y ait lieu d'examiner les griefs de fond. Il appartiendra à la cour cantonale de statuer à nouveau après avoir donné à la recourante l'occasion de se déterminer sur les pièces nouvelles, et en tenant compte le cas échéant des éléments de fait (en particulier l'installation de l'acquéreur et de sa famille dans la commune de Vex) qui ont été soulevés durant la procédure devant le Tribunal fédéral. Conformément aux art. 66 al. 1 et 68 al. 2 LTF, les frais de la présente procédure, de même que les dépens alloués à la recourante, sont mis à la charge de l'intimée A._ qui, à ce stade, succombe.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause est renvoyée à la Cour de droit public du Tribunal cantonal du canton du Valais pour nouvelle décision au sens des considérants.
2.
Les frais judiciaires, arrêtés à 1'500 fr., sont mis à la charge de l'intimée A._.
3.
Une indemnité de dépens de 2'000 fr. est allouée à la recourante, à la charge de l'intimée A._.
4.
Le présent arrêt est communiqué aux mandataires des parties, à la Commune de Vex, au Conseil d'Etat et au Tribunal cantonal du canton du Valais, Cour de droit public.
Lausanne, le 15 juillet 2014
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Le Greffier :
Fonjallaz Kurz