Comment passer des données à un artefact ?

Des conseils sur la façon de passer des données à l’artefact ? Je veux coller le même artefact à plusieurs endroits sur mon forum, en utilisant un jeton JWT différent à chaque endroit. J’ai essayé des choses comme ceci mais je n’arrive pas à faire en sorte que le créateur l’utilise :


<div class="ai-artifact" data-jwt-token="my-jwt-token" data-ai-artifact-id="10">
</div>

Ou si le Créateur Web pouvait trouver dans quel identifiant de sujet il se trouve, je pourrais travailler avec ça.

3 « J'aime »

Oh, c’est délicat, non, ce n’est pas quelque chose que le framework permet pour le moment, c’est un cas d’utilisation très intéressant.

J’aime la demande de fonctionnalité ici de simplement transmettre tous les attributs data- dans l’artefact sandboxé, c’est une solution élégante.

Une option qui pourrait fonctionner cependant est de s’appuyer sur les paramètres de requête, mais l’iframe sandboxé n’y avait pas accès :

https://meta.discourse.org/discourse-ai/ai-bot/artifacts/166?222

@david penses-tu qu’il y ait une implication en matière de sécurité à transmettre des informations sur le monde extérieur à un artefact ? (laisser le sandbox, mais je suppose qu’il faudrait faire écho à window.location.search dans une sorte d’attribut ?

3 « J'aime »

Donner à l’artefact l’accès à la chaîne de requête semble correct. La chose la plus simple serait d’utiliser Ruby pour l’injecter dans le document HTML non fiable. Peut-être comme une balise meta ou quelque chose comme ça.

3 « J'aime »

C’était l’idée du bot. :slight_smile:

Je penserais que c’est un cas d’utilisation très courant pour les artefacts du monde réel. J’ai un artefact d’analyse financière que je veux exécuter sur de nombreux investissements. L’artefact extrait les données de performance d’une API, en utilisant le JWT pour identifier l’investissement. Créer de nombreux artefacts différents, chacun avec un JWT codé en dur différent, est inenvisageable.

Sans vouloir abuser, si je pouvais également obtenir l’identifiant de l’utilisateur et l’identifiant du sujet dans l’artefact, cela ouvrirait beaucoup plus d’applications.

4 « J'aime »

L’identifiant du sujet est facile à ajouter, mais l’identifiant de l’utilisateur peut être un peu plus délicat, car l’artefact est fortement mis en cache, nous devrions réduire une partie de la mise en cache pour que cela se produise.

Ce serait en fait mieux pour mon application que de passer des attributs de données. Il y a une correspondance 1:1 entre les sujets et mes JWT, donc je peux rechercher le JWT, sans avoir à modifier le JWT dans chaque publication.

Cela ne gère probablement pas les autres cas d’utilisation cependant.

Techniquement, il suffit de passer l’URL pour résoudre ce problème, car l’identifiant du sujet fait partie de l’URL.

Je réglerai cela la semaine prochaine, je travaille actuellement sur la prise en charge des PDF :slight_smile:

Je vérifie juste, est-ce que cela a déjà été implémenté ?

Pas encore, je vais y jouer un peu aujourd’hui pour voir à quel point c’est compliqué.

Cela résoudra le problème. Il n’y a vraiment pas d’autre choix simple que d’utiliser post message ici en raison de l’isolation (sandboxing), donc l’API nécessite un await… cela fonctionne cependant, ce qui est bien.

7 « J'aime »

Ça fonctionne parfaitement pour moi !

1 « J'aime »