Faits :
A.
Par jugement du 13 décembre 2018, le Tribunal de police de la République et canton de Genève a acquitté A._ du chef de séjour illégal; il l'a en revanche déclarée coupable de travail illégal et condamnée à 30 jours-amende à 10 fr. le jour, avec sursis pendant 3 ans, peine partiellement complémentaire à celle prononcée le 10 octobre 2017 par la Chambre pénale d'appel et de révision de la Cour de justice genevoise, dont elle a renoncé à révoquer le sursis.
B.
Par arrêt du 8 mai 2019, la Chambre pénale d'appel et de révision de la Cour de justice genevoise a admis partiellement l'appel formé par la condamnée contre ce jugement, qu'elle a réformé en ce sens que la peine a été ramenée à 20 jours-amende et confirmé pour le surplus.
Les faits à l'origine de cette condamnation sont en substance les suivants.
A._, ressortissante éthiopienne, réside en Suisse depuis le 30 octobre 2012.
L'Office cantonal de la population et des migrations (ci-après : OCPM) a signalé avoir été informé le 29 octobre 2012 de la présence à Genève de A._, son mandataire ayant annoncé une possible problématique de traite d'êtres humains. A la suite du dépôt d'une plainte pénale par celle-ci pour ce chef d'accusation, elle s'est vue délivrer, le 25 février 2013, une autorisation de séjour de courte durée valable jusqu'au 15 octobre 2013. A cette date, elle en a sollicité le renouvellement, mentionnant une prise d'activité comme garde d'enfants à raison de 13 heures par semaine. A la suite de cette demande, l'OCPM lui a fait part le 21 janvier 2014 de son intention de prononcer son renvoi dans la mesure où le ministère public n'était pas entré en matière sur sa plainte. La cause ayant été renvoyée au ministère public dans le cadre d'un recours contre la décision de non-entrée en matière, celui-ci a, le 24 mars 2014, indiqué à l'OCPM que la procédure pénale était en cours d'enquête pour une durée imprévisible et que la présence de la plaignante était nécessaire.
A la suite de l'intervention de l'OCPM, A._ a rempli et signé le 23 octobre 2014, avec son employeur d'alors, un formulaire annonçant une activité de garde d'enfants à raison de 13 heures par semaine depuis le 16 septembre 2013 pour une durée indéterminée et un salaire brut annuel de 14'025 francs. Elle précisait que la procédure pénale était toujours en cours d'instruction. A nouveau sur interpellation de l'OCPM, le conseil de A._ a indiqué, par courrier du 2 mai 2017, que la Chambre pénale de recours avait confirmé par arrêt du 7 juin 2016 le classement de la plainte pénale au motif que les explications fluctuantes de la plaignante n'étaient pas crédibles et infirmées par les éléments du dossier. A ce courrier étaient joints deux formulaires faisant état respectivement d'une activité de femme de ménage pour un salaire annuel brut de 2'078 fr. 70 et de 12 heures hebdomadaires de garde d'enfants pour un salaire annuel brut de 12'567 fr. ainsi qu'une attestation selon laquelle elle était déclarée aux assurances depuis septembre 2013 par l'intermédiaire de " chèques service ".
Le 7 août 2018, l'OCPM a signifié formellement à A._ son refus de renouveler son autorisation.
La cour cantonale n'a confirmé la condamnation de A._ qu'en ce qui concerne la période de juin 2016 au 2 mai 2017, à savoir celle qui part de la notification de la confirmation par la Chambre pénale de recours du classement de la procédure pénale et prend fin avec le courrier du mandataire de l'intéressée à l'OCPM.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt de la Chambre pénale d'appel et de révision. Elle conclut, avec suite de frais et dépens, principalement à son acquittement intégral pour la prévention d'infraction à l'art. 115 al. 1 let. c LEI et subsidiairement au renvoi de la cause à l'autorité cantonale pour qu'elle statue à nouveau. Elle sollicite par ailleurs l'assistance judiciaire.

Considérant en droit :
1.
La recourante se plaint d'arbitraire dans l'établissement des faits et l'appréciation des preuves. Elle reproche à la cour cantonale d'avoir retenu que son conseil avait, à la suite du courrier du 27 mars 2017, profité pour solliciter le renouvellement de son autorisation de séjour, ce qui, selon elle, sous-entendait qu'il n'existait aucune demande précédente.
Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir, pour l'essentiel, de façon arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 2.3.1 p. 244), ce qu'il appartient à la recourante d'alléguer et d'étayer conformément aux exigences de motivation strictes posées par l'<ref-law> (<ref-ruling> consid. 1.1 p. 503). Les critiques de nature appellatoire sont irrecevables (<ref-ruling> consid. 2.4 p. 368 et les références citées).
Non seulement la recourante ne montre pas que l'interprétation de la cour cantonale serait contraire à des pièces ou éléments du dossier mais de surcroît il ressort clairement de l'arrêt attaqué qu'à l'échéance de son autorisation de séjour de courte durée en octobre 2013 la recourante en a sollicité le renouvellement, procédure qui était toujours en cours d'examen au moment de la rédaction du rapport. Cet élément n'a donc pas été méconnu par la cour cantonale de sorte que le grief est mal fondé dans la mesure où il est recevable.
2.
La recourante reproche à la cour cantonale d'avoir violé l'<ref-law> et le principe " in dubio pro reo ".
2.1. Conformément à l'<ref-law>, quiconque ne sait ni ne peut savoir au moment d'agir que son comportement est illicite n'agit pas de manière coupable. Le juge atténue la peine si l'erreur était évitable. La réglementation relative à l'erreur sur l'illicéité repose sur l'idée que le justiciable doit faire tout son possible pour connaître la loi et que son ignorance ne le protège que dans des cas exceptionnels (<ref-ruling> consid. 3.1 p. 241 et les références citées). Pour qu'il y ait erreur sur l'illicéité, il faut que l'auteur ne sache ni ne puisse savoir que son comportement est illicite. Le fait que l'auteur ait eu le sentiment de faire quelque chose de contraire à ce qui se doit ou qu'il eût dû avoir ce sentiment suffit pour exclure l'erreur de droit (<ref-ruling> consid. 4.1 p. 18; <ref-ruling> consid. 2 p. 218; arrêt 6B_216/2018 du 14 novembre 2018 consid. 2.3). La possibilité théorique d'apprécier correctement la situation ne suffit pas à exclure l'application de l'art. 21 1ère phrase CP. Ce qui est déterminant c'est de savoir si l'erreur de l'auteur peut lui être reprochée (<ref-ruling> consid. II.3a p. 68; arrêt 6B_716/2018 du 23 octobre 2018 consid. 1.1). Le Tribunal fédéral a ainsi considéré que seul celui qui avait des " raisons suffisantes de se croire en droit d'agir " pouvait être mis au bénéfice de l'erreur sur l'illicéité. Une raison de se croire en droit d'agir est " suffisante " lorsqu'aucun reproche ne peut être adressé à l'auteur du fait de son erreur, parce qu'elle provient de circonstances qui auraient pu induire en erreur toute personne consciencieuse (<ref-ruling> consid. 2 p. 210; <ref-ruling> consid. 4a p. 303). Le caractère évitable de l'erreur doit être examiné en tenant compte des circonstances personnelles de l'auteur, telles que son degré de socialisation ou d'intégration (arrêt 6B_1102/2015 du 20 juillet 2016 consid. 4.1 et les références citées). Déterminer ce que l'auteur d'une infraction a su, cru ou voulu et en particulier l'existence d'une erreur relève de l'établissement des faits (<ref-ruling> consid. 2.4.3 p. 343).
La présomption d'innocence, garantie par les <ref-law>, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, ainsi que son corollaire, le principe " in dubio pro reo ", concernent tant le fardeau de la preuve que l'appréciation des preuves au sens large (<ref-ruling> consid. 2.2.3.1 p. 348 s.; <ref-ruling> consid. 2a p. 40 s.). En tant que règle sur le fardeau de la preuve, elle signifie, au stade du jugement, que le fardeau de la preuve incombe à l'accusation et que le doute doit profiter au prévenu. Comme règle d'appréciation des preuves (sur la portée et le sens précis de la règle sous cet angle, cf. <ref-ruling> consid. 2.2.3.3 p. 351 s.), la présomption d'innocence signifie que le juge ne doit pas se déclarer convaincu de l'existence d'un fait défavorable à l'accusé si, d'un point de vue objectif, il existe des doutes quant à l'existence de ce fait. Il importe peu qu'il subsiste des doutes seulement abstraits et théoriques, qui sont toujours possibles, une certitude absolue ne pouvant être exigée. Il doit s'agir de doutes sérieux et irréductibles, c'est-à-dire de doutes qui s'imposent à l'esprit en fonction de la situation objective. Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence au principe " in dubio pro reo ", celui-ci n'a pas de portée plus large que l'interdiction de l'arbitraire (<ref-ruling> consid. 2.2.3.3 p. 351 s.; <ref-ruling> consid. 1.1 p. 503; <ref-ruling> consid. 7 p. 82).
2.2. La recourante soutient que rien ne permet, à teneur du dossier, de considérer qu'elle aurait pu avoir connaissance du caractère potentiellement illicite de son activité lucrative à la suite du classement définitif de sa plainte.
Il ressort de l'arrêt attaqué que la recourante est arrivée en Suisse en octobre 2012 et qu'un permis de séjour de courte durée, valable jusqu'au 15 octobre 2013, lui a été délivré, permis dont elle a ensuite sollicité le renouvellement. Cette demande a fait l'objet d'un préavis défavorable de l'OCPM et n'a pas été tranchée durant toute la période litigieuse. Le 21 janvier 2014, l'OCPM a informé la recourante de son intention de refuser le renouvellement sollicité et de prononcer son renvoi de Suisse dans la mesure où le ministère public n'était pas entré en matière sur sa plainte. Toutefois, la Chambre pénale de recours du Tribunal cantonal a renvoyé la procédure au ministère public pour complément d'instruction et le conseil de la recourante a fait valoir que la présence de sa mandante était nécessaire pour la suite de la procédure, ce qui a été confirmé par le ministère public, de sorte qu'aucune décision n'a été prise.
Dans ces circonstances, la recourante, au demeurant assistée d'un mandataire, ne pouvait ignorer que sa présence en Suisse était tolérée en relation avec la procédure pénale. La cour cantonale pouvait par conséquent admettre que dès la notification de la confirmation du classement de sa plainte au début juin 2016 la recourante devait avoir le sentiment de ne plus être en droit de séjourner et a fortiori de travailler en Suisse et qu'elle ne pouvait donc pas de bonne foi poursuivre son activité sans se renseigner sur la légalité de sa situation ni informer l'autorité de l'issue de la procédure pénale.
3.
Mal fondé, le recours doit être rejeté dans la mesure où il est recevable. Vu l'issue de la procédure, les frais de la cause doivent être mis à la charge de la recourante qui succombe (<ref-law>). Comme les conclusions étaient dépourvues de chances de succès, l'assistance judiciaire ne peut être accordée (<ref-law>); le montant des frais judiciaires sera toutefois fixé en tenant compte de la situation financière de la recourante, qui n'apparaît pas favorable.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge de la recourante.
4.
Le présent arrêt est communiqué aux parties et à la Chambre pénale d'appel et de révision de la Cour de justice de la République et canton de Genève.
Lausanne, le 13 août 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay