sensorium-mcp 2.16.83 → 2.16.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tool definitions —
|
|
3
|
-
* Separated from index.ts for readability.
|
|
2
|
+
* MCP tool definitions — thin hub that re-exports from defs/ sub-files.
|
|
4
3
|
*/
|
|
5
4
|
export interface ToolDefinition {
|
|
6
5
|
name: string;
|
|
@@ -11,5 +10,7 @@ export interface ToolDefinition {
|
|
|
11
10
|
required?: string[];
|
|
12
11
|
};
|
|
13
12
|
}
|
|
13
|
+
export declare const ALL_TOOL_DEFINITIONS: ToolDefinition[];
|
|
14
|
+
/** @deprecated Use ALL_TOOL_DEFINITIONS directly. Kept for backward compat. */
|
|
14
15
|
export declare function getToolDefinitions(): ToolDefinition[];
|
|
15
16
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAKhD,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD"}
|
|
@@ -1,469 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tool definitions —
|
|
3
|
-
* Separated from index.ts for readability.
|
|
2
|
+
* MCP tool definitions — thin hub that re-exports from defs/ sub-files.
|
|
4
3
|
*/
|
|
5
|
-
import {
|
|
4
|
+
import { memoryToolDefs } from "./defs/memory-defs.js";
|
|
5
|
+
import { sessionToolDefs } from "./defs/session-defs.js";
|
|
6
|
+
import { utilityToolDefs } from "./defs/utility-defs.js";
|
|
7
|
+
import { waitToolDefs } from "./defs/wait-defs.js";
|
|
8
|
+
export const ALL_TOOL_DEFINITIONS = [
|
|
9
|
+
...sessionToolDefs,
|
|
10
|
+
...waitToolDefs,
|
|
11
|
+
...utilityToolDefs,
|
|
12
|
+
...memoryToolDefs,
|
|
13
|
+
];
|
|
14
|
+
/** @deprecated Use ALL_TOOL_DEFINITIONS directly. Kept for backward compat. */
|
|
6
15
|
export function getToolDefinitions() {
|
|
7
|
-
return
|
|
8
|
-
{
|
|
9
|
-
name: "start_session",
|
|
10
|
-
description: "Start or resume a remote-copilot session. " +
|
|
11
|
-
"When called with a name that was used before, the server looks up the " +
|
|
12
|
-
"existing Telegram topic for that name and resumes it instead of creating a new one. " +
|
|
13
|
-
"If you are CONTINUING an existing chat (not a fresh conversation), " +
|
|
14
|
-
"look back through the conversation history for a previous start_session " +
|
|
15
|
-
"result that mentioned a Thread ID, then pass it as the threadId parameter " +
|
|
16
|
-
"to resume that existing topic. " +
|
|
17
|
-
"IMPORTANT: When creating a new session (no threadId), the 'name' parameter is REQUIRED — " +
|
|
18
|
-
"provide a short, descriptive name for the session (e.g. 'Fix auth bug'). " +
|
|
19
|
-
"When resuming an existing session (threadId provided), name is optional. " +
|
|
20
|
-
"Requires the Telegram chat to be a forum supergroup with the bot as admin. " +
|
|
21
|
-
"Call this tool once, then call remote_copilot_wait_for_instructions.",
|
|
22
|
-
inputSchema: {
|
|
23
|
-
type: "object",
|
|
24
|
-
properties: {
|
|
25
|
-
name: {
|
|
26
|
-
type: "string",
|
|
27
|
-
description: "A human-readable label for this session's Telegram topic (e.g. 'Fix auth bug'). " +
|
|
28
|
-
"REQUIRED when creating a new session (no threadId). Optional when resuming an existing session (threadId provided).",
|
|
29
|
-
},
|
|
30
|
-
threadId: {
|
|
31
|
-
type: "number",
|
|
32
|
-
description: "Optional. The Telegram message_thread_id of an existing topic to resume. " +
|
|
33
|
-
"When provided, no new topic is created — the session continues in the existing thread.",
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
required: [],
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "remote_copilot_wait_for_instructions",
|
|
41
|
-
description: "Wait for a new instruction message from the operator via Telegram. " +
|
|
42
|
-
"The call blocks (long-polls) until a message arrives or the configured " +
|
|
43
|
-
"timeout elapses. If the timeout elapses with no message the tool output " +
|
|
44
|
-
"explicitly instructs the agent to call this tool again.",
|
|
45
|
-
inputSchema: {
|
|
46
|
-
type: "object",
|
|
47
|
-
properties: {
|
|
48
|
-
threadId: {
|
|
49
|
-
type: "number",
|
|
50
|
-
description: "The Telegram thread ID of the active session. " +
|
|
51
|
-
"ALWAYS pass this if you received it from start_session.",
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
required: [],
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: "report_progress",
|
|
59
|
-
description: "Send a progress update or result message to the operator via Telegram. " +
|
|
60
|
-
"Use standard Markdown for formatting (headings, bold, italic, lists, code blocks, etc.). " +
|
|
61
|
-
"It will be automatically converted to Telegram-compatible formatting.",
|
|
62
|
-
inputSchema: {
|
|
63
|
-
type: "object",
|
|
64
|
-
properties: {
|
|
65
|
-
message: {
|
|
66
|
-
type: "string",
|
|
67
|
-
description: "The progress update or result to report. Use standard Markdown for formatting.",
|
|
68
|
-
},
|
|
69
|
-
threadId: {
|
|
70
|
-
type: "number",
|
|
71
|
-
description: "The Telegram thread ID of the active session. " +
|
|
72
|
-
"ALWAYS pass this if you received it from start_session.",
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
required: ["message"],
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "send_file",
|
|
80
|
-
description: "Send a file (image or document) to the operator via Telegram. " +
|
|
81
|
-
"PREFERRED: provide filePath to send a file directly from disk (fast, no size limit). " +
|
|
82
|
-
"Alternative: provide base64-encoded content. " +
|
|
83
|
-
"Images (JPEG, PNG, GIF, WebP) are sent as photos; other files as documents.",
|
|
84
|
-
inputSchema: {
|
|
85
|
-
type: "object",
|
|
86
|
-
properties: {
|
|
87
|
-
filePath: {
|
|
88
|
-
type: "string",
|
|
89
|
-
description: "Absolute path to the file on disk. PREFERRED over base64 — the server reads " +
|
|
90
|
-
"and sends the file directly without passing data through the LLM context.",
|
|
91
|
-
},
|
|
92
|
-
base64: {
|
|
93
|
-
type: "string",
|
|
94
|
-
description: "The file content encoded as a base64 string. Use filePath instead when possible.",
|
|
95
|
-
},
|
|
96
|
-
filename: {
|
|
97
|
-
type: "string",
|
|
98
|
-
description: "The filename including extension (e.g. 'report.pdf', 'screenshot.png'). " +
|
|
99
|
-
"Required when using base64. When using filePath, defaults to the file's basename.",
|
|
100
|
-
},
|
|
101
|
-
caption: {
|
|
102
|
-
type: "string",
|
|
103
|
-
description: "Optional caption to display with the file.",
|
|
104
|
-
},
|
|
105
|
-
threadId: {
|
|
106
|
-
type: "number",
|
|
107
|
-
description: "The Telegram thread ID of the active session. " +
|
|
108
|
-
"ALWAYS pass this if you received it from start_session.",
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
required: [],
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: "send_voice",
|
|
116
|
-
description: "Send a voice message to the operator via Telegram. " +
|
|
117
|
-
"The text is converted to speech using OpenAI TTS and sent as a Telegram voice message. " +
|
|
118
|
-
"Requires OPENAI_API_KEY to be set.",
|
|
119
|
-
inputSchema: {
|
|
120
|
-
type: "object",
|
|
121
|
-
properties: {
|
|
122
|
-
text: {
|
|
123
|
-
type: "string",
|
|
124
|
-
description: `The text to speak. Maximum ${OPENAI_TTS_MAX_CHARS} characters (OpenAI TTS limit).`,
|
|
125
|
-
},
|
|
126
|
-
voice: {
|
|
127
|
-
type: "string",
|
|
128
|
-
description: "The TTS voice to use. Each has a different personality: " +
|
|
129
|
-
"alloy (neutral), echo (warm male), fable (storytelling), " +
|
|
130
|
-
"onyx (deep authoritative), nova (friendly female), shimmer (gentle). " +
|
|
131
|
-
"Choose based on the tone you want to convey.",
|
|
132
|
-
enum: ["alloy", "echo", "fable", "onyx", "nova", "shimmer"],
|
|
133
|
-
},
|
|
134
|
-
threadId: {
|
|
135
|
-
type: "number",
|
|
136
|
-
description: "The Telegram thread ID of the active session. " +
|
|
137
|
-
"ALWAYS pass this if you received it from start_session.",
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
required: ["text"],
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
name: "schedule_wake_up",
|
|
145
|
-
description: "Schedule a wake-up task that will inject a prompt into your session at a specific time or after operator inactivity. " +
|
|
146
|
-
"Use this to become proactive — run tests, check CI, review code — without waiting for the operator. " +
|
|
147
|
-
"Three modes: (1) 'runAt' for a one-shot at a specific ISO 8601 time, " +
|
|
148
|
-
"(2) 'cron' for recurring tasks (5-field cron: minute hour day month weekday), " +
|
|
149
|
-
"(3) 'afterIdleMinutes' to fire after N minutes of operator silence. " +
|
|
150
|
-
"Note: cron expressions are evaluated against server-local time (not UTC). " +
|
|
151
|
-
"Use 'action: list' to see all scheduled tasks, or 'action: remove' with a taskId to cancel one.",
|
|
152
|
-
inputSchema: {
|
|
153
|
-
type: "object",
|
|
154
|
-
properties: {
|
|
155
|
-
action: {
|
|
156
|
-
type: "string",
|
|
157
|
-
description: "Action to perform: 'add' (default), 'list', or 'remove'.",
|
|
158
|
-
enum: ["add", "list", "remove"],
|
|
159
|
-
},
|
|
160
|
-
threadId: {
|
|
161
|
-
type: "number",
|
|
162
|
-
description: "Thread ID for the session (optional if already set).",
|
|
163
|
-
},
|
|
164
|
-
label: {
|
|
165
|
-
type: "string",
|
|
166
|
-
description: "Short human-readable label for the task (e.g. 'morning CI check').",
|
|
167
|
-
},
|
|
168
|
-
prompt: {
|
|
169
|
-
type: "string",
|
|
170
|
-
description: "The prompt to inject when the task fires. Be specific about what to do.",
|
|
171
|
-
},
|
|
172
|
-
runAt: {
|
|
173
|
-
type: "string",
|
|
174
|
-
description: "ISO 8601 timestamp for one-shot execution (e.g. '2026-03-15T09:00:00Z').",
|
|
175
|
-
},
|
|
176
|
-
cron: {
|
|
177
|
-
type: "string",
|
|
178
|
-
description: "5-field cron expression for recurring tasks (e.g. '0 9 * * *' = every day at 9am). Cron expressions are evaluated against server-local time (not UTC).",
|
|
179
|
-
},
|
|
180
|
-
afterIdleMinutes: {
|
|
181
|
-
type: "number",
|
|
182
|
-
description: "Fire after this many minutes of operator silence (e.g. 60).",
|
|
183
|
-
},
|
|
184
|
-
taskId: {
|
|
185
|
-
type: "string",
|
|
186
|
-
description: "Task ID to remove (for action: 'remove').",
|
|
187
|
-
},
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
name: "hibernate",
|
|
193
|
-
description: "Enter hibernation — the agent suspends until a specific time, a scheduled task fires, or the operator sends a message. " +
|
|
194
|
-
"Only call this when the operator explicitly asks you to hibernate/sleep/stop. Self-hibernation is not allowed. " +
|
|
195
|
-
"Specify 'wakeAt' (ISO 8601 timestamp) for a timed alarm, or omit it to hibernate indefinitely until operator message or scheduled task wakes you. " +
|
|
196
|
-
"Hibernation uses a low-frequency poll (30s intervals) to minimize resource usage. " +
|
|
197
|
-
"On wake, returns the reason: 'operator_message', 'scheduled_task', 'alarm', or 'connection_lost'.",
|
|
198
|
-
inputSchema: {
|
|
199
|
-
type: "object",
|
|
200
|
-
properties: {
|
|
201
|
-
threadId: {
|
|
202
|
-
type: "number",
|
|
203
|
-
description: "Thread ID for the session (optional if already set).",
|
|
204
|
-
},
|
|
205
|
-
wakeAt: {
|
|
206
|
-
type: "string",
|
|
207
|
-
description: "ISO 8601 timestamp to wake up at (e.g. '2026-03-20T14:00:00+02:00'). If omitted, hibernates until operator message or scheduled task.",
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
|
-
},
|
|
211
|
-
},
|
|
212
|
-
// ── Memory Tools ──────────────────────────────────────────────────
|
|
213
|
-
{
|
|
214
|
-
name: "memory_search",
|
|
215
|
-
description: "Search across all memory layers for relevant information. " +
|
|
216
|
-
"Use BEFORE starting any task to recall facts, preferences, past events, or procedures. " +
|
|
217
|
-
"Returns ranked results with source layer. Do NOT use for info already in your bootstrap briefing.",
|
|
218
|
-
inputSchema: {
|
|
219
|
-
type: "object",
|
|
220
|
-
properties: {
|
|
221
|
-
query: {
|
|
222
|
-
type: "string",
|
|
223
|
-
description: "Natural language search query.",
|
|
224
|
-
},
|
|
225
|
-
layers: {
|
|
226
|
-
type: "array",
|
|
227
|
-
items: { type: "string" },
|
|
228
|
-
description: 'Filter layers: ["episodic", "semantic", "procedural"]. Default: all.',
|
|
229
|
-
},
|
|
230
|
-
types: {
|
|
231
|
-
type: "array",
|
|
232
|
-
items: { type: "string" },
|
|
233
|
-
description: 'Filter by type: ["fact", "preference", "pattern", "workflow", ...].',
|
|
234
|
-
},
|
|
235
|
-
threadId: {
|
|
236
|
-
type: "number",
|
|
237
|
-
description: "Active thread ID.",
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
required: ["query"],
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
name: "memory_save",
|
|
245
|
-
description: "Save a piece of knowledge to semantic memory (Layer 3). " +
|
|
246
|
-
"Use when you learn something important that should persist across sessions: " +
|
|
247
|
-
"operator preferences, corrections, facts, patterns. " +
|
|
248
|
-
"Do NOT use for routine conversation — episodic memory captures that automatically.",
|
|
249
|
-
inputSchema: {
|
|
250
|
-
type: "object",
|
|
251
|
-
properties: {
|
|
252
|
-
content: {
|
|
253
|
-
type: "string",
|
|
254
|
-
description: "The fact/preference/pattern in one clear sentence.",
|
|
255
|
-
},
|
|
256
|
-
type: {
|
|
257
|
-
type: "string",
|
|
258
|
-
description: '"fact" | "preference" | "pattern" | "entity" | "relationship".',
|
|
259
|
-
},
|
|
260
|
-
keywords: {
|
|
261
|
-
type: "array",
|
|
262
|
-
items: { type: "string" },
|
|
263
|
-
description: "3-7 keywords for retrieval.",
|
|
264
|
-
},
|
|
265
|
-
confidence: {
|
|
266
|
-
type: "number",
|
|
267
|
-
description: "0.0-1.0. Default: 0.8.",
|
|
268
|
-
},
|
|
269
|
-
priority: {
|
|
270
|
-
type: "number",
|
|
271
|
-
description: "0=normal, 1=notable, 2=high importance. Infer from operator's emotional investment: 'important'/'I really need' → 2, 'would be nice'/'should' → 1, else 0.",
|
|
272
|
-
},
|
|
273
|
-
threadId: {
|
|
274
|
-
type: "number",
|
|
275
|
-
description: "Active thread ID.",
|
|
276
|
-
},
|
|
277
|
-
},
|
|
278
|
-
required: ["content", "type", "keywords"],
|
|
279
|
-
},
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
name: "memory_update",
|
|
283
|
-
description: "Update or supersede an existing semantic note or procedure. " +
|
|
284
|
-
"Use when operator corrects stored information or when facts have changed.",
|
|
285
|
-
inputSchema: {
|
|
286
|
-
type: "object",
|
|
287
|
-
properties: {
|
|
288
|
-
memoryId: {
|
|
289
|
-
type: "string",
|
|
290
|
-
description: "note_id or procedure_id to update.",
|
|
291
|
-
},
|
|
292
|
-
action: {
|
|
293
|
-
type: "string",
|
|
294
|
-
description: '"update" (modify in place) | "supersede" (expire old, create new).',
|
|
295
|
-
},
|
|
296
|
-
newContent: {
|
|
297
|
-
type: "string",
|
|
298
|
-
description: "New content (required for supersede, optional for update).",
|
|
299
|
-
},
|
|
300
|
-
newConfidence: {
|
|
301
|
-
type: "number",
|
|
302
|
-
description: "Updated confidence score.",
|
|
303
|
-
},
|
|
304
|
-
newPriority: {
|
|
305
|
-
type: "number",
|
|
306
|
-
description: "Updated priority: 0=normal, 1=notable, 2=high importance.",
|
|
307
|
-
},
|
|
308
|
-
reason: {
|
|
309
|
-
type: "string",
|
|
310
|
-
description: "Why this is being updated.",
|
|
311
|
-
},
|
|
312
|
-
threadId: {
|
|
313
|
-
type: "number",
|
|
314
|
-
description: "Active thread ID.",
|
|
315
|
-
},
|
|
316
|
-
},
|
|
317
|
-
required: ["memoryId", "action", "reason"],
|
|
318
|
-
},
|
|
319
|
-
},
|
|
320
|
-
{
|
|
321
|
-
name: "memory_consolidate",
|
|
322
|
-
description: "Run memory consolidation cycle (sleep process). Normally triggered automatically during idle. " +
|
|
323
|
-
"Manually call if memory_status shows many unconsolidated episodes.",
|
|
324
|
-
inputSchema: {
|
|
325
|
-
type: "object",
|
|
326
|
-
properties: {
|
|
327
|
-
threadId: {
|
|
328
|
-
type: "number",
|
|
329
|
-
description: "Active thread ID.",
|
|
330
|
-
},
|
|
331
|
-
},
|
|
332
|
-
},
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
name: "memory_status",
|
|
336
|
-
description: "Get memory system health and statistics. Lightweight (~300 tokens). " +
|
|
337
|
-
"Use when unsure if you have relevant memories, to check if consolidation is needed, " +
|
|
338
|
-
"or to report memory state to operator.",
|
|
339
|
-
inputSchema: {
|
|
340
|
-
type: "object",
|
|
341
|
-
properties: {
|
|
342
|
-
threadId: {
|
|
343
|
-
type: "number",
|
|
344
|
-
description: "Active thread ID.",
|
|
345
|
-
},
|
|
346
|
-
},
|
|
347
|
-
},
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
name: "memory_forget",
|
|
351
|
-
description: "Mark a memory as expired/forgotten. Use sparingly — most forgetting happens via decay. " +
|
|
352
|
-
"Use when operator explicitly asks to forget something or info is confirmed wrong.",
|
|
353
|
-
inputSchema: {
|
|
354
|
-
type: "object",
|
|
355
|
-
properties: {
|
|
356
|
-
memoryId: {
|
|
357
|
-
type: "string",
|
|
358
|
-
description: "note_id, procedure_id, or episode_id to forget.",
|
|
359
|
-
},
|
|
360
|
-
reason: {
|
|
361
|
-
type: "string",
|
|
362
|
-
description: "Why this is being forgotten.",
|
|
363
|
-
},
|
|
364
|
-
threadId: {
|
|
365
|
-
type: "number",
|
|
366
|
-
description: "Active thread ID.",
|
|
367
|
-
},
|
|
368
|
-
},
|
|
369
|
-
required: ["memoryId", "reason"],
|
|
370
|
-
},
|
|
371
|
-
},
|
|
372
|
-
// ── Sticker Tool ──────────────────────────────────────────────────
|
|
373
|
-
{
|
|
374
|
-
name: "send_sticker",
|
|
375
|
-
description: "Send a sticker to the operator in Telegram. Use sticker file_ids from previously received sticker messages. " +
|
|
376
|
-
"When the operator sends a sticker, the file_id is included in the delivered message — you can reuse it to send the same sticker back or mirror their reaction.",
|
|
377
|
-
inputSchema: {
|
|
378
|
-
type: "object",
|
|
379
|
-
properties: {
|
|
380
|
-
stickerId: {
|
|
381
|
-
type: "string",
|
|
382
|
-
description: "The Telegram file_id of the sticker to send. Obtain this from sticker messages received from the operator.",
|
|
383
|
-
},
|
|
384
|
-
threadId: {
|
|
385
|
-
type: "number",
|
|
386
|
-
description: "The Telegram thread ID of the active session. " +
|
|
387
|
-
"ALWAYS pass this if you received it from start_session.",
|
|
388
|
-
},
|
|
389
|
-
},
|
|
390
|
-
required: ["stickerId"],
|
|
391
|
-
},
|
|
392
|
-
},
|
|
393
|
-
// ── Thread Management ────────────────────────────────────────────
|
|
394
|
-
{
|
|
395
|
-
name: "start_thread",
|
|
396
|
-
description: "Ensure an agent session is running on a named thread. " +
|
|
397
|
-
"Creates the thread if it doesn't exist. Restarts if dormant. No-op if already active. " +
|
|
398
|
-
"Use this before send_message_to_thread.",
|
|
399
|
-
inputSchema: {
|
|
400
|
-
type: "object",
|
|
401
|
-
properties: {
|
|
402
|
-
name: {
|
|
403
|
-
type: "string",
|
|
404
|
-
description: "Thread name for the session (e.g. 'Azure-WorkItems'). " +
|
|
405
|
-
"Resolved case-insensitively against persisted sessions. " +
|
|
406
|
-
"Required unless threadId is provided.",
|
|
407
|
-
},
|
|
408
|
-
threadId: {
|
|
409
|
-
type: "number",
|
|
410
|
-
description: "Explicit Telegram thread ID to use. Bypasses name-based resolution. " +
|
|
411
|
-
"If both name and threadId are provided, threadId takes priority.",
|
|
412
|
-
},
|
|
413
|
-
agentType: {
|
|
414
|
-
type: "string",
|
|
415
|
-
description: 'Which agent type to use: "copilot" | "claude" | "cursor". Defaults to "claude".',
|
|
416
|
-
enum: ["copilot", "claude", "cursor"],
|
|
417
|
-
},
|
|
418
|
-
},
|
|
419
|
-
required: [],
|
|
420
|
-
},
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
name: "send_message_to_thread",
|
|
424
|
-
description: "Send a task or message to another thread's agent. " +
|
|
425
|
-
"The agent receives it on their next poll. " +
|
|
426
|
-
"If the thread is dormant, the message is queued but not processed until start_thread is called. " +
|
|
427
|
-
"Use 'mode' to control how the receiving thread should behave: " +
|
|
428
|
-
"'one-shot' (default) for fire-and-forget tasks, 'manager-worker' for collaborative back-and-forth.",
|
|
429
|
-
inputSchema: {
|
|
430
|
-
type: "object",
|
|
431
|
-
properties: {
|
|
432
|
-
threadId: {
|
|
433
|
-
type: "number",
|
|
434
|
-
description: "The Telegram thread ID to send the message to.",
|
|
435
|
-
},
|
|
436
|
-
message: {
|
|
437
|
-
type: "string",
|
|
438
|
-
description: "The task or message content to send.",
|
|
439
|
-
},
|
|
440
|
-
mode: {
|
|
441
|
-
type: "string",
|
|
442
|
-
description: "Delegation mode: 'one-shot' (default) — receiver reports to operator only, does not message sender back. " +
|
|
443
|
-
"'manager-worker' — receiver reports back to sender thread when complete.",
|
|
444
|
-
enum: ["one-shot", "manager-worker"],
|
|
445
|
-
},
|
|
446
|
-
senderName: {
|
|
447
|
-
type: "string",
|
|
448
|
-
description: "Name of the sending thread (so the receiver knows who delegated the task).",
|
|
449
|
-
},
|
|
450
|
-
senderThreadId: {
|
|
451
|
-
type: "number",
|
|
452
|
-
description: "Thread ID of the sender (used in manager-worker mode for reply routing).",
|
|
453
|
-
},
|
|
454
|
-
},
|
|
455
|
-
required: ["threadId", "message"],
|
|
456
|
-
},
|
|
457
|
-
},
|
|
458
|
-
// ── Server Info Tools ─────────────────────────────────────────────
|
|
459
|
-
{
|
|
460
|
-
name: "get_version",
|
|
461
|
-
description: "Get the current server version. Also reports if an update is pending.",
|
|
462
|
-
inputSchema: {
|
|
463
|
-
type: "object",
|
|
464
|
-
properties: {},
|
|
465
|
-
},
|
|
466
|
-
},
|
|
467
|
-
];
|
|
16
|
+
return ALL_TOOL_DEFINITIONS;
|
|
468
17
|
}
|
|
469
18
|
//# sourceMappingURL=definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYnD,MAAM,CAAC,MAAM,oBAAoB,GAAqB;IACpD,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,eAAe;IAClB,GAAG,cAAc;CAClB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB;IAChC,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|