Aller au contenu

system.*

Méthodes d’introspection au niveau système.

{ "method": "system.ping", "params": {} }
→ { "result": "PONG" }
{ "method": "system.version", "params": {} }
→ { "result": { "version": "0.11.0", "build": "…" } }

La chaîne de version vient d’une unique source de vérité dans package.json et est propagée vers six autres fichiers par scripts/bump-version.ts à chaque bump de release. Le script a gagné cinq flags en 0.3.143 (outillage de release Phase 8) — voir la page processus de release pour le workflow complet.

Retourne la surface ayant le focus et ses métadonnées.

{ "method": "system.identify", "params": {} }
→ {
"result": {
"workspaceId": "ws:0",
"surfaceId": "surface:1",
"metadata": { "pid": 11234, "fg": "bun run dev", "cwd": "/Users/me/code/foo", … }
}
}

Liste toutes les méthodes exposées par l’instance τ-mux en cours d’exécution.

{ "method": "system.capabilities", "params": {} }
→ {
"result": {
"methods": [
{ "name": "system.ping", "params": [] },
{ "name": "surface.split", "params": [{ "name": "direction", "type": "string", "required": true }, …] },
…
]
}
}

Utile pour les intégrations d’agent qui s’adaptent à la version à laquelle elles sont attachées.

Espaces de travail / panneaux / surfaces dans un seul arbre.

{ "method": "system.tree", "params": {} }
→ {
"result": {
"workspaces": [
{
"id": "ws:0",
"label": "build",
"panes": [
{
"kind": "split",
"direction": "right",
"children": [
{ "kind": "leaf", "surface": { "id": "surface:1", "type": "terminal", … } },
{ "kind": "leaf", "surface": { "id": "surface:2", "type": "terminal", … } }
]
}
]
}
]
}
}
MéthodeCLI
system.pinght ping
system.versionht version
system.identifyht identify
system.capabilitiesht capabilities --json
system.treeht tree

Quelques méthodes RPC ne sont délibérément pas câblées dans le CLI ht. Elles restent visibles via ht capabilities --json et utilisables depuis n’importe quel client RPC personnalisé, mais l’API CLI les omet volontairement — soit parce que leur cas d’usage est purement programmatique (helpers d’audit / nettoyage consommés par la webview elle-même), soit parce que leurs entrées sont difficiles à exprimer en ligne de commande.

MéthodePourquoi pas de CLI ?À utiliser depuis
surface.kill_pidL’équivalent côté shell est ht kill PORT, qui résout le pid depuis un port en écoute. Tuer un pid arbitraire observé est trop facile à mésuser depuis un pipeline shell ; la méthode rejette aussi les pids qui ne sont pas tracés par un arbre de surface vivant, ainsi que les signaux hors {SIGTERM, SIGINT, SIGKILL, SIGHUP, SIGQUIT}.L’overlay Process Manager (⌘⌥P) et tout script RPC personnalisé qui a déjà le pid en main.
surface.renameLes surfaces ne portent pas de nom visible utilisateur aujourd’hui — seulement le chip pane.label. La méthode existe pour qu’une future UI de labeling se câble proprement sans bump de schéma.Outillage interne webview.
notification.dismissL’équivalent CLI serait ht dismiss <id>, rarement utile interactivement (l’utilisateur clique simplement sur le X). La webview l’appelle au swipe / clic X.UI overlay des notifications ; tests d’intégration.
browser.stop_findS’apparie avec browser.find (ht browser find-in-page) ; la moitié « annuler » est exclusivement une préoccupation UI (personne ne tape ht browser stop-find).Overlays type DevTools dans la webview.
{ "method": "system.health", "params": {} }
→ { "status": "ok" | "degraded", "subsystems": [
{ "id": "pty", "state": "ok", "detail": "Session manager ready" }, … ] }

Santé agrégée des sous-systèmes : PTY, socket, miroir web, Telegram, plus une ligne par audit. C’est ce qu’affiche ht health.

{ "method": "system.shutdown", "params": {} }
→ "OK"

Arrêt propre : persiste la disposition et les notifications, arrête le miroir web et le service Telegram, récolte les backends d’extensions et les sous-processus d’agents, puis quitte. Les extensions peuvent aussi l’appeler — voir le modèle de confiance.