@@ -8,7 +8,7 @@ command list.
88Garyx currently has exactly two interaction command kinds:
99
1010- ` channel_native ` : built-in channel-only management commands, such as
11- ` /threads ` , ` /newthread ` , ` /threadprev ` , and ` /threadnext ` .
11+ ` /newthread ` , ` /threads [page|next|prev] ` , and ` /bindthread <n> ` .
1212- ` shortcut ` : global prompt shortcuts configured by the user, such as
1313 ` /summary -> "Summarize the active thread" ` .
1414
@@ -40,16 +40,17 @@ Response shape:
4040 "revision" : " v1:..." ,
4141 "commands" : [
4242 {
43- "id" : " builtin.router.newthread " ,
44- "name" : " newthread " ,
45- "slash" : " /newthread " ,
43+ "id" : " builtin.router.threads " ,
44+ "name" : " threads " ,
45+ "slash" : " /threads " ,
4646 "aliases" : [],
47- "description" : " Start a new thread " ,
47+ "description" : " Browse recent threads " ,
4848 "category" : " Thread" ,
4949 "kind" : " channel_native" ,
5050 "source" : " builtin" ,
5151 "surfaces" : [" plugin" , " telegram" ],
52- "dispatch" : { "type" : " router_native" , "key" : " router.native.newthread" },
52+ "dispatch" : { "type" : " router_native" , "key" : " router.native.threads" },
53+ "args_hint" : " [page|next|prev]" ,
5354 "visibility" : " visible" ,
5455 "warnings" : []
5556 }
@@ -68,6 +69,27 @@ Response shape:
6869 ` channel_native ` and ` shortcut ` commands.
6970- Shortcuts are globally visible wherever shortcut execution is supported.
7071
72+ The visible thread-management menu is ` newthread ` , ` threads ` , and
73+ ` bindthread ` . ` threadprev ` and ` threadnext ` remain reserved and recognizable
74+ for one compatibility release, but are hidden from normal command lists and
75+ Telegram menus. They return migration guidance instead of switching threads:
76+ use ` /threads prev|next ` , then ` /bindthread <n> ` . Callers requesting
77+ ` include_hidden=true ` may inspect those compatibility entries.
78+
79+ ## Thread Command Semantics
80+
81+ - ` /threads ` , ` /threads <page> ` , ` /threads next ` , and ` /threads prev ` browse
82+ the global recent non-task thread projection in pages of 10. Addressed forms
83+ such as ` /threads@bot_name 2 ` preserve the same arguments.
84+ - ` /bindthread <n> ` switches to an absolute row number from pages successfully
85+ shown to that endpoint. A canonical ` thread::<id> ` may also be supplied for
86+ compatibility; either form is revalidated before binding.
87+ - ` /newthread ` creates and binds a fresh thread, then clears the endpoint's
88+ accumulated recent-list snapshot.
89+
90+ ` args_hint ` is ` [page|next|prev] ` for ` threads ` and ` <n> ` for ` bindthread ` .
91+ Invalid arguments are handled locally and never become model prompts.
92+
7193## Plugin Contract
7294
7395Channel plugins fetch the command list through host RPC:
@@ -117,4 +139,6 @@ Gateway core does not expose a manual Telegram command-sync endpoint.
117139- Payload uses ` revision ` .
118140- Plugin RPC uses ` commands/list ` and returns the command-list shape.
119141- Telegram sync includes both ` channel_native ` and ` shortcut ` commands.
142+ - Telegram's visible native menu contains ` newthread ` , ` threads ` , and
143+ ` bindthread ` ; deprecated navigation commands remain hidden.
120144- Mac app settings manage only prompt shortcuts.
0 commit comments