Se connecter à un service d’espace de travail configuré

Connectez-vous à votre service d’espace de travail configuré, examinez les expériences et les fichiers conservés, puis appliquez un remplacement dans un seul fichier après examen, avec récupération en cas de conflit.

Utilisez Altifigence CLI 0.1.9 sous Linux pour travailler avec un service d’espace de travail Digital Design Studio existant. Votre opérateur fournit l’origine du service, l’accès à l’espace de travail et les fonctionnalités activées. Les requêtes portent sur les fichiers et les expériences de l’espace de travail de ce service.

Exigez un statut de sortie 0 avant de lire un résultat enregistré. Conservez la sortie d’erreur standard séparément et examinez les champs du résultat décrits ci-dessous.

Configurer la connexion

Définissez ALTI_STUDIO_ENDPOINT sur l’origine fournie par l’opérateur. Les services distants utilisent HTTPS ; les services sur une adresse IP de bouclage peuvent utiliser HTTP. Fournissez une origine dont le chemin est vide et configurez ALTI_STUDIO_SERVICE_SECRET, fourni par l’opérateur, lorsque l’authentification est activée. La CLI transmet cette valeur via x-service-secret. Chaque commande peut aussi sélectionner son origine avec --endpoint.

Examiner les expériences et les fichiers conservés

Une fois la connexion configurée, affichez jusqu’à 5 expériences. Un espace de travail vide renvoie le reçu illustratif ci-dessous ; HTTP 200 se termine avec le code 0.

alti --json ide service evolve list --limit 5
{"schema":"altifigence.dds.service-receipt.v1","operation":"evolve.list","ok":true,"httpStatus":200,"body":{"runs":[]}}

Pour un résultat conservé, utilisez son chemin exact dans l’espace de travail du service. Remplacez ce chemin d’exemple par un fichier existant dans l’espace de travail auquel vous avez accès. Le corps de la réponse préserve les champs du fichier du propriétaire, y compris content.

alti --json ide service evolve read-file evolve/adder/results/report.md

Rechercher et remplacer dans un seul fichier examiné

La recherche de texte dans l’espace de travail nécessite un service Linux. Effectuez la recherche sur le service que vous utiliserez pour le remplacement, puis examinez le fichier correspondant, les emplacements et les métadonnées de couverture. Chaque correspondance comporte un contentHash. La CLI préserve truncated et replaceScopeComplete pour vous permettre d’évaluer le périmètre renvoyé.

alti --json ide service workspace search --query old_signal --match-case --whole-word

Enregistrez le contenu suivant dans replace.json, en remplaçant l’empreinte illustrative de 64 caractères par le contentHash réel de la correspondance rtl/top.sv sélectionnée. Gardez la requête et les options cohérentes avec votre examen. La requête cible un seul fichier ; si vous omettez match, le remplacement s’applique à ses occurrences correspondantes. L’empreinte attendue lie la mise à jour à la version du fichier que vous avez examinée.

{
  "query": "old_signal",
  "replacement": "new_signal",
  "options": {
    "matchCase": true,
    "wholeWord": true
  },
  "paths": [
    "rtl/top.sv"
  ],
  "expectedHashes": {
    "rtl/top.sv": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  }
}
alti --json ide service workspace replace --request replace.json

Résoudre les conflits et les erreurs de configuration

Si le fichier a changé, un exemple de reçu de conflit est présenté ci-dessous. HTTP 409 se termine avec le code 1. Relancez la recherche sur le même service, examinez les correspondances et la version actuelles du fichier, puis mettez à jour expectedHashes avec le nouveau contentHash avant de soumettre un autre remplacement.

{"schema":"altifigence.dds.service-receipt.v1","operation":"workspace.replace","ok":false,"httpStatus":409,"body":{"ok":false,"code":"search_replace_conflict","conflicts":[{"path":"rtl/top.sv","expectedHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","actualHash":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"}],"replacements":0,"files":[]}}

STUDIO_ENDPOINT_REQUIRED avec httpStatus: null se termine avec le code 2 : configurez l’origine de l’opérateur et relancez la commande. Pour HTTP 401, obtenez le secret de service correspondant auprès de l’opérateur. Un dépassement de délai après le remplacement nécessite d’examiner le fichier actuel et de relancer la recherche avant de décider d’une autre mise à jour.