diff --git a/.ideai/tickets/161/carnet.md b/.ideai/tickets/161/carnet.md index 35582a3..e85cda0 100644 --- a/.ideai/tickets/161/carnet.md +++ b/.ideai/tickets/161/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#161" -version: 8 -updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} -updatedAt: 1786018356404 +version: 11 +updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} +updatedAt: 1786024054225 --- diff --git a/.ideai/tickets/161/issue.md b/.ideai/tickets/161/issue.md index 4ac9fb9..042adf9 100644 --- a/.ideai/tickets/161/issue.md +++ b/.ideai/tickets/161/issue.md @@ -2,16 +2,16 @@ id: "0174c085-eb08-4294-bebc-34cb49885af3" number: 161 title: "Epic: commandes IdeA slash dans la custom CLI" -status: "open" +status: "closed" priority: "medium" sprint: null -links: [{"target":"#162","kind":"relatesTo"},{"target":"#163","kind":"relatesTo"},{"target":"#164","kind":"relatesTo"},{"target":"#165","kind":"relatesTo"}] +links: [{"target":"#162","kind":"relatesTo"},{"target":"#163","kind":"relatesTo"},{"target":"#164","kind":"relatesTo"},{"target":"#165","kind":"relatesTo"},{"target":"#166","kind":"relatesTo"}] agentRefs: [] attachments: [] createdBy: {"kind":"user"} -updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} createdAt: 1786016953573 -updatedAt: 1786018356404 -version: 8 +updatedAt: 1786024054225 +version: 11 --- Ticket parapluie pour introduire des commandes `/` dans la custom CLI IdeA, avec menu contextuel/autocompletion au début du message, commandes natives IdeA comme `/clean`, et une architecture suffisamment souple pour accueillir plus tard des commandes exposées par le SDK/plugins. Décisions produit ajoutées: `/clean` est la commande de nettoyage de la conversation courante ; ne pas introduire `/reset` tant qu'elle n'a pas une utilité produit distincte. Les commandes SDK/plugins devront exposer une callback libre fournie par le plugin. La commande `/profile` doit imposer une confirmation explicite avant tout reset forcé de session. Le besoin mélange trois axes distincts qui sont désormais séparés en sous-tickets: fondation du systeme de commandes, UX frontend de la palette slash, flow spécifique `/profile` avec reset de session, puis extensibilité SDK/plugins. Ce ticket sert au suivi produit global et ne doit plus porter l'implémentation détaillée d'un seul lot. \ No newline at end of file diff --git a/.ideai/tickets/165/carnet.md b/.ideai/tickets/165/carnet.md index e939a6d..f9b8e20 100644 --- a/.ideai/tickets/165/carnet.md +++ b/.ideai/tickets/165/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#165" -version: 3 -updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} -updatedAt: 1786018356463 +version: 7 +updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} +updatedAt: 1786024054225 --- diff --git a/.ideai/tickets/165/issue.md b/.ideai/tickets/165/issue.md index 745811d..7e151a2 100644 --- a/.ideai/tickets/165/issue.md +++ b/.ideai/tickets/165/issue.md @@ -2,16 +2,16 @@ id: "2b41b7d3-b362-4e8d-8c56-c92b429da1f7" number: 165 title: "SDK/plugins: allow plugins to contribute custom CLI slash commands" -status: "open" +status: "closed" priority: "medium" sprint: null links: [{"target":"#162","kind":"dependsOn"}] agentRefs: [{"agentId":"b4730d7f-c54d-4736-8a04-c6203aa2fd49","role":"assigned"},{"agentId":"fe887179-933f-47d4-960f-c3b06827f86c","role":"assigned"}] attachments: [] createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} -updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} createdAt: 1786017501962 -updatedAt: 1786018356463 -version: 3 +updatedAt: 1786024054225 +version: 7 --- Extend the SDK/plugin model so a plugin can contribute commands to the agent custom CLI slash-command system. Product decision: a plugin-contributed command is backed by a callback/function provided by the plugin, so the plugin can decide what the command actually does. Plugin commands must flow through the same unified registry/contract consumed by the frontend, with metadata sufficient for autocomplete and command execution. This ticket is about the extension seam and registration model, not the core native commands or the initial frontend menu. \ No newline at end of file diff --git a/.ideai/tickets/166/carnet.md b/.ideai/tickets/166/carnet.md new file mode 100644 index 0000000..3cf16ba --- /dev/null +++ b/.ideai/tickets/166/carnet.md @@ -0,0 +1,6 @@ +--- +issueRef: "#166" +version: 4 +updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} +updatedAt: 1786024054225 +--- diff --git a/.ideai/tickets/166/issue.md b/.ideai/tickets/166/issue.md new file mode 100644 index 0000000..bca1ee8 --- /dev/null +++ b/.ideai/tickets/166/issue.md @@ -0,0 +1,17 @@ +--- +id: "73445e20-49e8-44cf-8e82-f3938df17ad5" +number: 166 +title: "Custom CLI: dispatch plugin slash-command callback effects" +status: "closed" +priority: "high" +sprint: null +links: [{"target":"#165","kind":"dependsOn"}] +agentRefs: [{"agentId":"8f7da528-58df-4315-97e9-0562230ecc19","role":"assigned"}] +attachments: [] +createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} +updatedBy: {"kind":"agent","agent_id":"1ff94b51-3e17-4a39-8543-7715d1ff0f80"} +createdAt: 1786023249077 +updatedAt: 1786024054225 +version: 4 +--- +Close the remaining end-to-end gap after #165: when a plugin-contributed slash command is selected/executed from the custom CLI, the UI must handle the returned `pluginCallback` slash-command effect and dispatch it to the plugin runtime registry so the plugin-owned callback actually runs. Scope is frontend/runtime integration only; the unified registry/contract and plugin manifest seam are delivered by #162/#165. Acceptance: a plugin slash command exposed through the custom CLI autocomplete can be executed from the agent chat surface and reaches the plugin callback through the runtime registry, with sane user feedback on failure. \ No newline at end of file diff --git a/.ideai/tickets/counter.json b/.ideai/tickets/counter.json index 4dff0f6..b5c160f 100644 --- a/.ideai/tickets/counter.json +++ b/.ideai/tickets/counter.json @@ -1,3 +1,3 @@ { - "nextNumber": 166 + "nextNumber": 167 } \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index 6f60885..fe0fcf1 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -2115,14 +2115,14 @@ "issueRef": "#161", "path": "161", "title": "Epic: commandes IdeA slash dans la custom CLI", - "status": "open", + "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [], "createdBy": { "kind": "user" }, - "updatedAt": 1786018356404 + "updatedAt": 1786024054225 }, { "issueRef": "#162", @@ -2177,7 +2177,7 @@ "issueRef": "#165", "path": "165", "title": "SDK/plugins: allow plugins to contribute custom CLI slash commands", - "status": "open", + "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ @@ -2188,7 +2188,23 @@ "kind": "agent", "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" }, - "updatedAt": 1786018356463 + "updatedAt": 1786024054225 + }, + { + "issueRef": "#166", + "path": "166", + "title": "Custom CLI: dispatch plugin slash-command callback effects", + "status": "closed", + "priority": "high", + "sprint": null, + "assignedAgentIds": [ + "8f7da528-58df-4315-97e9-0562230ecc19" + ], + "createdBy": { + "kind": "agent", + "agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d" + }, + "updatedAt": 1786024054225 } ] } \ No newline at end of file