@synaplink/orqlaude 0.10.0 → 0.10.3

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.
@@ -5,21 +5,19 @@ import path from "node:path";
5
5
  /**
6
6
  * Telegram command handlers.
7
7
  *
8
- * Supported commands (all require whitelisted sender):
9
- * /start — register the sender (one-shot welcome)
10
- * /help list commands
11
- * /plans — list active plans in the watched project(s)
12
- * /status <id> refreshed status of one plan
13
- * /show <id> — full plan JSON (truncated)
14
- * /notes <id> recent notes for a plan
15
- * /kill <plan> <task> <reason> — STOP a task
16
- * /whitelist <user_id> [label] — owner-only: add a user
17
- * /approve <plan_id> <token> — confirm a plan from Telegram (future)
8
+ * v0.10.1: NO MARKDOWN anywhere. All replies are plain text. Three answer
9
+ * paths for questions:
10
+ * 1. Native reply-to-message (PRIMARY) user replies to the question
11
+ * message; we match by reply_to_message.message_id.
12
+ * 2. Inline-keyboard button when the question has `options`, callback_query
13
+ * resolves the request by shortId.
14
+ * 3. /respond <short_id> <text> legacy fallback for power users; never
15
+ * removed because it's the only path that works in group chats with
16
+ * multiple bots, etc.
18
17
  *
19
- * Each project's state is read via StateStore against that project's path.
20
- * The single configured set of watchedProjects determines which projects are
21
- * accessible. For v0.3 we support a single watched project at a time; the
22
- * config schema is forward-compatible for multi-project later.
18
+ * Slash commands:
19
+ * /start, /help, /whoami, /plans, /status <id>, /show <id>, /notes <id>,
20
+ * /kill <plan> <task> <reason>, /whitelist <user_id> [label], /respond
23
21
  */
24
22
  export async function handleCommand(api, msg, projectDir) {
25
23
  const text = (msg.text ?? "").trim();
@@ -28,27 +26,40 @@ export async function handleCommand(api, msg, projectDir) {
28
26
  if (!userId)
29
27
  return;
30
28
  const cfg = await loadConfig();
31
- // /start is open: it just prints the sender's ID so they can be whitelisted later.
32
29
  if (text === "/start") {
33
- await api.sendMessage(chatId, `👋 orqlaude bot.\n\nYour Telegram user id: \`${userId}\`\n\nAsk the bot owner to whitelist you with:\n\`orqlaude tg whitelist ${userId}\`\n\nOr if you ARE the owner and haven't set yourself up yet:\n\`orqlaude tg whitelist ${userId} --owner\``, { parseMode: "Markdown" });
30
+ await api.sendMessage(chatId, `👋 orqlaude bot.\n\nYour Telegram user id: ${userId}\n\nAsk the bot owner to whitelist you with:\norqlaude tg whitelist ${userId}\n\nOr if you ARE the owner and haven't set yourself up yet:\norqlaude tg whitelist ${userId} --owner`);
34
31
  return;
35
32
  }
36
33
  if (!isAuthorized(cfg, userId)) {
37
34
  await api.sendMessage(chatId, `⛔ Unauthorized. Your user id is ${userId}. Owner must whitelist you.`);
38
35
  return;
39
36
  }
37
+ // v0.10.1: reply-to-message is the primary answer path. Before slash-command
38
+ // dispatch, check if this message is a reply to a known question. If so,
39
+ // resolve that request and bail — don't try to parse the body as a command.
40
+ if (msg.reply_to_message?.message_id && text && !text.startsWith("/")) {
41
+ const handled = await tryHandleReplyToQuestion(api, msg, projectDir);
42
+ if (handled)
43
+ return;
44
+ // If we didn't find a matching question, fall through to the slash-command
45
+ // dispatcher so legitimate /respond etc. still works.
46
+ }
40
47
  const stateStore = new StateStore(`${projectDir}/.orqlaude`);
41
48
  if (text === "/help") {
42
49
  await api.sendMessage(chatId, [
43
- "*orqlaude commands*",
44
- "`/plans` — list active plans",
45
- "`/status <plan_id>` — refresh one plan",
46
- "`/show <plan_id>` — raw plan JSON",
47
- "`/notes <plan_id>` — recent agent notes",
48
- "`/kill <plan> <task> <reason>` — STOP a task",
49
- "`/whoami` — your user id",
50
- "`/help` — this",
51
- ].join("\n"), { parseMode: "Markdown" });
50
+ "orqlaude commands:",
51
+ "/plans — list active plans",
52
+ "/status <plan_id> — refresh one plan",
53
+ "/show <plan_id> — raw plan JSON",
54
+ "/notes <plan_id> — recent agent notes",
55
+ "/kill <plan> <task> <reason> — STOP a task",
56
+ "/whoami — your user id",
57
+ "/help — this",
58
+ "",
59
+ "To answer a question, REPLY TO THE MESSAGE in Telegram with your answer.",
60
+ "Or tap an inline-keyboard button if the question has options.",
61
+ "/respond <short_id> <text> still works as a fallback.",
62
+ ].join("\n"));
52
63
  return;
53
64
  }
54
65
  if (text === "/whoami") {
@@ -65,19 +76,18 @@ export async function handleCommand(api, msg, projectDir) {
65
76
  }
66
77
  const lines = plans.map((p) => {
67
78
  const done = p.tasks.filter((t) => t.status === "done").length;
68
- return `• \`${p.id.slice(0, 8)}\` ${p.status} ${done}/${p.tasks.length} — ${truncate(p.rootTask, 50)}`;
79
+ return `• ${p.id.slice(0, 8)} ${p.status} ${done}/${p.tasks.length} — ${truncate(p.rootTask, 50)}`;
69
80
  });
70
- await api.sendMessage(chatId, `*Active plans:*\n${lines.join("\n")}`, { parseMode: "Markdown" });
81
+ await api.sendMessage(chatId, `Active plans:\n${lines.join("\n")}`);
71
82
  return;
72
83
  }
73
- // /status <plan_id> ---------------------------------------------------------
74
84
  if (text.startsWith("/status")) {
75
85
  const planId = text.split(/\s+/)[1];
76
86
  if (!planId)
77
87
  return void await api.sendMessage(chatId, "usage: /status <plan_id>");
78
88
  try {
79
89
  const plan = await stateStore.read((s) => requirePlan(s.plans, planId));
80
- await api.sendMessage(chatId, await renderStatus(plan, projectDir), { parseMode: "Markdown" });
90
+ await api.sendMessage(chatId, await renderStatus(plan, projectDir));
81
91
  }
82
92
  catch (err) {
83
93
  await api.sendMessage(chatId, `error: ${err.message}`);
@@ -91,7 +101,7 @@ export async function handleCommand(api, msg, projectDir) {
91
101
  try {
92
102
  const plan = await stateStore.read((s) => requirePlan(s.plans, planId));
93
103
  const json = JSON.stringify(plan, null, 2);
94
- await api.sendMessage(chatId, "```json\n" + truncate(json, 3500) + "\n```", { parseMode: "Markdown" });
104
+ await api.sendMessage(chatId, truncate(json, 3800));
95
105
  }
96
106
  catch (err) {
97
107
  await api.sendMessage(chatId, `error: ${err.message}`);
@@ -114,16 +124,13 @@ export async function handleCommand(api, msg, projectDir) {
114
124
  const blocking = n.blocking ? (n.acked ? "✓" : "🟡") : "";
115
125
  return `• [${truncate(taskTitle, 30)}]${blocking} ${truncate(n.text, 200)}${n.prUrl ? `\n ${n.prUrl}` : ""}`;
116
126
  });
117
- await api.sendMessage(chatId, `*Recent notes for ${planId.slice(0, 8)}:*\n${lines.join("\n\n")}`, {
118
- parseMode: "Markdown",
119
- });
127
+ await api.sendMessage(chatId, `Recent notes for ${planId.slice(0, 8)}:\n${lines.join("\n\n")}`);
120
128
  }
121
129
  catch (err) {
122
130
  await api.sendMessage(chatId, `error: ${err.message}`);
123
131
  }
124
132
  return;
125
133
  }
126
- // /kill <plan> <task> <reason...>
127
134
  if (text.startsWith("/kill")) {
128
135
  const parts = text.split(/\s+/);
129
136
  const [, planId, taskId, ...reasonParts] = parts;
@@ -175,51 +182,71 @@ export async function handleCommand(api, msg, projectDir) {
175
182
  await api.sendMessage(chatId, `✓ Whitelisted ${targetId}${label ? ` (${label})` : ""}.`);
176
183
  return;
177
184
  }
178
- // /respond <short_id> <text> — user replies to a request_user_response
185
+ // Legacy /respond <short_id> <text>.
179
186
  if (text.startsWith("/respond")) {
180
187
  const m = text.match(/^\/respond\s+(\S+)\s+([\s\S]+)$/);
181
188
  if (!m)
182
189
  return void await api.sendMessage(chatId, "usage: /respond <short_id> <your answer>");
183
190
  const [, shortId, answer] = m;
184
- const store = new StateStore(path.join(projectDir, ".orqlaude"));
185
- let edited = null;
186
- const status = await store.update((state) => {
187
- const found = findUserResponseRequest(state, shortId);
188
- if (!found)
189
- return "not_found";
190
- const { req } = found;
191
- if (req.response !== undefined)
192
- return "already_answered";
193
- if (req.cancelled)
194
- return "cancelled";
195
- if (Date.now() > req.timeoutAt)
196
- return "timed_out";
197
- req.response = answer;
198
- req.respondedAt = Date.now();
199
- if (req.telegramMessageId && req.telegramChatId) {
200
- edited = { messageId: req.telegramMessageId, chatId: req.telegramChatId };
201
- }
202
- return "ok";
203
- });
204
- if (status === "ok") {
205
- await api.sendMessage(chatId, `✓ Response recorded for ${shortId}.`);
206
- if (edited) {
207
- await api.editMessageText(edited.chatId, edited.messageId, `✓ Answered (${shortId}): ${truncateForEdit(answer, 150)}`, { parseMode: "Markdown" });
208
- }
209
- }
210
- else if (status === "not_found") {
211
- await api.sendMessage(chatId, `no request with short_id ${shortId}`);
212
- }
213
- else {
214
- await api.sendMessage(chatId, `request ${shortId}: ${status}`);
215
- }
191
+ await resolveQuestionByShortId(api, chatId, shortId, answer, projectDir);
216
192
  return;
217
193
  }
218
- // Default: unknown command
219
194
  if (text.startsWith("/")) {
220
195
  await api.sendMessage(chatId, `unknown command. /help for the list.`);
221
196
  }
222
197
  }
198
+ /**
199
+ * v0.10.1: try to match a non-slash message that's a reply-to of a bot
200
+ * message to a pending UserResponseRequest. Returns true if matched.
201
+ */
202
+ async function tryHandleReplyToQuestion(api, msg, projectDir) {
203
+ const repliedToId = msg.reply_to_message?.message_id;
204
+ if (!repliedToId)
205
+ return false;
206
+ const answer = (msg.text ?? "").trim();
207
+ if (!answer)
208
+ return false;
209
+ const chatId = msg.chat.id;
210
+ const store = new StateStore(path.join(projectDir, ".orqlaude"));
211
+ let resolvedShortId = null;
212
+ let editTarget = null;
213
+ const status = await store.update((state) => {
214
+ const all = [
215
+ ...Object.values(state.plans).flatMap((p) => p.userResponseRequests),
216
+ ...(state.orphanResponseRequests ?? []),
217
+ ];
218
+ const req = all.find((r) => r.telegramMessageId === repliedToId && r.telegramChatId === chatId);
219
+ if (!req)
220
+ return "no_match";
221
+ if (req.response !== undefined)
222
+ return "already_answered";
223
+ if (req.cancelled)
224
+ return "cancelled";
225
+ if (Date.now() > req.timeoutAt)
226
+ return "timed_out";
227
+ req.response = answer;
228
+ req.respondedAt = Date.now();
229
+ resolvedShortId = req.shortId;
230
+ if (req.telegramMessageId && req.telegramChatId) {
231
+ editTarget = { chatId: req.telegramChatId, messageId: req.telegramMessageId };
232
+ }
233
+ return "ok";
234
+ });
235
+ if (status === "no_match")
236
+ return false;
237
+ if (status === "ok" && resolvedShortId) {
238
+ // Acknowledge with a small ✓ message rather than spamming a long confirmation.
239
+ await api.sendMessage(chatId, `✓ Answer recorded (${resolvedShortId}).`);
240
+ if (editTarget) {
241
+ const e = editTarget;
242
+ await api.editMessageText(e.chatId, e.messageId, `✓ Answered (${resolvedShortId}): ${truncate(answer, 200)}`);
243
+ }
244
+ return true;
245
+ }
246
+ // Recognized as a reply-to but not actionable — surface the status.
247
+ await api.sendMessage(chatId, `reply to question ${repliedToId}: ${status}`);
248
+ return true;
249
+ }
223
250
  /**
224
251
  * Inline-keyboard tap handler. callback_data format: `orq:resp:<shortId>:<optionIdx>`.
225
252
  */
@@ -240,7 +267,7 @@ export async function handleCallbackQuery(api, q, projectDir) {
240
267
  const idx = Number(idxStr);
241
268
  const store = new StateStore(path.join(projectDir, ".orqlaude"));
242
269
  let answer = null;
243
- let edited = null;
270
+ let editTarget = null;
244
271
  const status = await store.update((state) => {
245
272
  const found = findUserResponseRequest(state, shortId);
246
273
  if (!found)
@@ -258,24 +285,61 @@ export async function handleCallbackQuery(api, q, projectDir) {
258
285
  req.response = answer;
259
286
  req.respondedAt = Date.now();
260
287
  if (req.telegramMessageId && req.telegramChatId) {
261
- edited = { messageId: req.telegramMessageId, chatId: req.telegramChatId };
288
+ editTarget = { chatId: req.telegramChatId, messageId: req.telegramMessageId };
262
289
  }
263
290
  return "ok";
264
291
  });
265
292
  if (status === "ok" && answer !== null) {
266
293
  await api.answerCallbackQuery(q.id, `✓ ${answer}`);
267
- if (edited) {
268
- await api.editMessageText(edited.chatId, edited.messageId, `✓ Answered (${shortId}): *${escapeMdLocal(answer)}*`, { parseMode: "Markdown" });
294
+ if (editTarget) {
295
+ const e = editTarget;
296
+ await api.editMessageText(e.chatId, e.messageId, `✓ Answered (${shortId}): ${answer}`);
269
297
  }
270
298
  }
271
299
  else {
272
300
  await api.answerCallbackQuery(q.id, status);
273
301
  }
274
302
  }
275
- function escapeMdLocal(s) {
276
- return s.replace(/([_*`\[])/g, "\\$1");
303
+ /**
304
+ * Shared resolution: by shortId (used by both /respond and tryHandleReplyToQuestion
305
+ * fallback). Plain-text everywhere.
306
+ */
307
+ async function resolveQuestionByShortId(api, chatId, shortId, answer, projectDir) {
308
+ const store = new StateStore(path.join(projectDir, ".orqlaude"));
309
+ let editTarget = null;
310
+ const status = await store.update((state) => {
311
+ const found = findUserResponseRequest(state, shortId);
312
+ if (!found)
313
+ return "not_found";
314
+ const { req } = found;
315
+ if (req.response !== undefined)
316
+ return "already_answered";
317
+ if (req.cancelled)
318
+ return "cancelled";
319
+ if (Date.now() > req.timeoutAt)
320
+ return "timed_out";
321
+ req.response = answer;
322
+ req.respondedAt = Date.now();
323
+ if (req.telegramMessageId && req.telegramChatId) {
324
+ editTarget = { chatId: req.telegramChatId, messageId: req.telegramMessageId };
325
+ }
326
+ return "ok";
327
+ });
328
+ if (status === "ok") {
329
+ await api.sendMessage(chatId, `✓ Response recorded for ${shortId}.`);
330
+ if (editTarget) {
331
+ const e = editTarget;
332
+ await api.editMessageText(e.chatId, e.messageId, `✓ Answered (${shortId}): ${truncate(answer, 200)}`);
333
+ }
334
+ }
335
+ else if (status === "not_found") {
336
+ await api.sendMessage(chatId, `no request with short_id ${shortId}`);
337
+ }
338
+ else {
339
+ await api.sendMessage(chatId, `request ${shortId}: ${status}`);
340
+ }
277
341
  }
278
- function truncateForEdit(s, n) {
342
+ function truncate(s, n) {
279
343
  if (s.length <= n)
280
344
  return s;
281
345
  return s.slice(0, n - 1) + "…";
@@ -304,15 +368,10 @@ async function renderStatus(plan, projectDir) {
304
368
  const tokK = Math.round(totalTokens / 1000);
305
369
  const capK = Math.round(plan.budgetCapTokens / 1000);
306
370
  return [
307
- `*${plan.id.slice(0, 8)}* — ${plan.status}`,
308
- `${truncate(plan.rootTask, 80)}`,
371
+ `${plan.id.slice(0, 8)} — ${plan.status}`,
372
+ truncate(plan.rootTask, 80),
309
373
  `tokens: ${tokK}k / ${capK}k`,
310
374
  ...taskLines,
311
375
  ].join("\n");
312
376
  }
313
- function truncate(s, n) {
314
- if (s.length <= n)
315
- return s;
316
- return s.slice(0, n - 1) + "…";
317
- }
318
377
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/telegram/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/telegram/commands.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ export declare class Notifier {
13
13
  tick(): Promise<void>;
14
14
  }
15
15
  /**
16
- * Escape Telegram MarkdownV1 reserved chars in user-supplied strings:
17
- * `_ * ` [`. Backslashing parens / hyphens / dots etc. is unnecessary in
18
- * V1 (those are syntax only in V2 / MarkdownV2).
16
+ * Retained as an exported no-op for back-compat — older code (and any
17
+ * third-party plugin we don't know about) imports `escapeMd` from here.
18
+ * v0.10.1 doesn't ship Markdown anymore so escaping is a pass-through.
19
19
  */
20
20
  export declare function escapeMd(s: string): string;