You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Use named imports instead of namespace imports (fs, path)
- Remove unnecessary async from handlers without await
- Convert forEach to for...of loops
- Add biome-ignore for complex functions that handle auth flows
- Move regex patterns to top level for performance
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
description: 'Check X authentication status. IMPORTANT: The UI handles everything. Your ONLY response should be one short sentence. Do NOT explain, offer help, or ask follow-up questions.',
45
+
name: "x_auth_status",
46
+
description:
47
+
"Check X authentication status. IMPORTANT: The UI handles everything. Your ONLY response should be one short sentence. Do NOT explain, offer help, or ask follow-up questions.",
47
48
inputSchema: {
48
-
type: 'object',
49
+
type: "object",
49
50
properties: {},
50
51
required: [],
51
52
},
@@ -57,25 +58,26 @@ const TOOLS: Tool[] = [
57
58
},
58
59
},
59
60
{
60
-
name: 'x_draft_tweet',
61
-
description: 'Create a draft tweet and show a preview UI for approval before posting.',
61
+
name: "x_draft_tweet",
62
+
description:
63
+
"Create a draft tweet and show a preview UI for approval before posting.",
// No UI - this is a data-only tool called from tweet-preview UI
109
112
},
110
113
{
111
-
name: 'x_conversations',
112
-
description: 'Show X conversations awaiting your reply. IMPORTANT: The UI shows everything the user needs. Your ONLY response should be a single short sentence like "Here are your conversations." Do NOT offer help, create todos, or ask follow-up questions.',
114
+
name: "x_conversations",
115
+
description:
116
+
'Show X conversations awaiting your reply. IMPORTANT: The UI shows everything the user needs. Your ONLY response should be a single short sentence like "Here are your conversations." Do NOT offer help, create todos, or ask follow-up questions.',
113
117
inputSchema: {
114
-
type: 'object',
118
+
type: "object",
115
119
properties: {},
116
120
required: [],
117
121
},
@@ -123,45 +127,48 @@ const TOOLS: Tool[] = [
123
127
},
124
128
},
125
129
{
126
-
name: 'x_get_conversations',
127
-
description: 'Internal tool to fetch conversation data for the UI with pagination.',
130
+
name: "x_get_conversations",
131
+
description:
132
+
"Internal tool to fetch conversation data for the UI with pagination.",
128
133
inputSchema: {
129
-
type: 'object',
134
+
type: "object",
130
135
properties: {
131
136
limit: {
132
-
type: 'number',
133
-
description: 'Maximum number of conversations to return (default: 10)',
137
+
type: "number",
138
+
description:
139
+
"Maximum number of conversations to return (default: 10)",
134
140
},
135
141
offset: {
136
-
type: 'number',
137
-
description: 'Number of conversations to skip (for pagination)',
142
+
type: "number",
143
+
description: "Number of conversations to skip (for pagination)",
138
144
},
139
145
},
140
146
required: [],
141
147
},
142
148
// Hidden from model - only callable by UI apps
143
149
_meta: {
144
150
ui: {
145
-
visibility: ['app'],
151
+
visibility: ["app"],
146
152
},
147
153
},
148
154
},
149
155
{
150
-
name: 'x_dismiss_conversation',
151
-
description: 'Dismiss a conversation from the list. It will reappear if there is new activity (new replies).',
156
+
name: "x_dismiss_conversation",
157
+
description:
158
+
"Dismiss a conversation from the list. It will reappear if there is new activity (new replies).",
152
159
inputSchema: {
153
-
type: 'object',
160
+
type: "object",
154
161
properties: {
155
162
tweet_id: {
156
-
type: 'string',
157
-
description: 'The tweet ID to dismiss',
163
+
type: "string",
164
+
description: "The tweet ID to dismiss",
158
165
},
159
166
reply_count: {
160
-
type: 'number',
161
-
description: 'Current reply count (used to detect new activity)',
167
+
type: "number",
168
+
description: "Current reply count (used to detect new activity)",
162
169
},
163
170
},
164
-
required: ['tweet_id','reply_count'],
171
+
required: ["tweet_id","reply_count"],
165
172
},
166
173
// No UI - this is a data-only tool called from conversation-list UI
0 commit comments