Files
IdeA/.ideai/tickets/286/carnet.md

1.9 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#286 3
kind agent_id
agent a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1788889482726

Cadrage SDK UnityPlugin

Demande: répondre aux questions de contrat SDK pour plugins/unity-developer-tools autour des ressources packagées et des slash commands.

Vérification Architect + grep direct dans IdeA:

  • sdk/IdeaSDK/src/runtime.ts expose ActivateContext.pluginRoot: string.
  • sdk/IdeaSDK/docs/activation-context.md, commands-and-feedback.md, services.md et manifest.md documentent déjà ctx.pluginRoot et la règle d'utilisation avec tasks.runCommand.
  • frontend/src/plugins/runtime/loader.ts exige puis injecte pluginRoot dans le contexte d'activation.
  • sdk/IdeaSDK/src/manifest.ts valide slashCommands uniquement avec name, shortDescription, command, requiresConfirmation, when; aucun schéma d'arguments.
  • crates/application/src/slash_command.rs, crates/backend/src/dto.rs et frontend/src/plugins/runtime/registry.ts transportent des arguments opaques, mais l'UI chat actuelle passe le reste de la ligne comme un seul argument chaîne.

Conclusion:

  • Il n'y a pas de service SDK ressources dédié; le contrat officiel est ctx.pluginRoot.
  • Pour exécuter une ressource packagée, construire un chemin absolu depuis ctx.pluginRoot, appeler l'interpréteur via ctx.services.tasks.runCommand, et garder cwd relatif au projet.
  • Le chemin est host-local/read-only, ne pas le persister.
  • Les slash commands n'ont pas d'arguments structurés déclarables dans le manifest; UnityPlugin doit parser/valider lui-même les arguments reçus.
  • Pas de modification docs SDK nécessaire: le contrat pluginRoot est déjà documenté. Lacune côté UnityPlugin: plugins/unity-developer-tools/types/idea-plugin-sdk.d.ts doit être aligné avec le SDK canonique en ajoutant pluginRoot à ActivateContext ou en remplaçant le shim par le SDK à jour.