opencode-plugin-teleprompt 0.1.4 → 0.1.12

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.
package/dist/index.d.ts CHANGED
@@ -5,7 +5,6 @@ declare const server: Plugin;
5
5
  declare const _default: {
6
6
  id: string;
7
7
  server: Plugin;
8
- tui: import("./tui-types.js").TuiPlugin;
9
8
  };
10
9
  export default _default;
11
10
  export { id, server, tui };
package/dist/index.js CHANGED
@@ -1,8 +1,6 @@
1
1
  import { tui } from "./tui.js";
2
2
  const id = "opencode-plugin-teleprompt";
3
- // OpenCode 1.4+ requires external plugins to expose server().
4
- // This plugin is TUI-focused, so server hooks are intentionally empty.
5
3
  const server = async () => ({});
6
- export default { id, server, tui };
4
+ export default { id, server };
7
5
  export { id, server, tui };
8
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,MAAM,EAAE,GAAG,4BAA4B,CAAC;AAExC,8DAA8D;AAC9D,uEAAuE;AACvE,MAAM,MAAM,GAAW,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAExC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,MAAM,EAAE,GAAG,4BAA4B,CAAC;AAExC,MAAM,MAAM,GAAW,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAExC,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import type { TuiPluginApi } from "../tui-types.js";
2
2
  export declare function getCurrentSessionID(api: TuiPluginApi): string;
3
+ export declare function getCurrentOrCreateSessionID(api: TuiPluginApi, client: any): Promise<string>;
@@ -9,4 +9,48 @@ export function getCurrentSessionID(api) {
9
9
  }
10
10
  return sessionID;
11
11
  }
12
+ export async function getCurrentOrCreateSessionID(api, client) {
13
+ const route = api.route.current;
14
+ if (route.name === "session") {
15
+ const sessionID = route.params?.sessionID;
16
+ if (sessionID && typeof sessionID === "string") {
17
+ return sessionID;
18
+ }
19
+ }
20
+ const response = await client.session.create({
21
+ responseStyle: "data",
22
+ throwOnError: true,
23
+ });
24
+ // Try multiple common paths for session ID
25
+ const sessionID = response?.id ??
26
+ response?.data?.id ??
27
+ response?.session?.id ??
28
+ response?.session?.data?.id;
29
+ if (!sessionID || typeof sessionID !== "string") {
30
+ const responseKeys = response ? Object.keys(response).join(", ") : "null";
31
+ const responseJson = JSON.stringify(response).slice(0, 150);
32
+ throw new Error(`Could not create a new OpenCode session. Response keys: [${responseKeys}]. Body: ${responseJson}`);
33
+ }
34
+ try {
35
+ const route = api.route;
36
+ // According to debug dump, api.route.navigate exists
37
+ // Reverting to positional arguments as the object-based call caused a crash
38
+ if (typeof route.navigate === "function") {
39
+ route.navigate("session", { sessionID });
40
+ }
41
+ else if (typeof route.push === "function") {
42
+ route.push({ name: "session", params: { sessionID } });
43
+ }
44
+ else if (typeof route.set === "function") {
45
+ route.set({ name: "session", params: { sessionID } });
46
+ }
47
+ else if (typeof api.navigate === "function") {
48
+ api.navigate("session", { sessionID });
49
+ }
50
+ }
51
+ catch (err) {
52
+ // Ignore routing errors as the session is already created
53
+ }
54
+ return sessionID;
55
+ }
12
56
  //# sourceMappingURL=binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/opencode/binding.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,GAAiB;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAChC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;IAC1C,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/opencode/binding.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { PendingPermission, PermissionAskInput } from "../types.js";
2
2
  export declare function toPendingPermission(input: PermissionAskInput): PendingPermission;
3
3
  export declare function formatPermissionRequestMessage(prefix: string, permission: PendingPermission): string;
4
- export declare function replyPermission(client: any, requestID: string, action: "once" | "always" | "reject"): Promise<void>;
4
+ export declare function replyPermission(client: any, sessionID: string, requestID: string, action: "once" | "always" | "reject"): Promise<void>;
@@ -57,10 +57,17 @@ function classifyRisk(permission, metadata) {
57
57
  }
58
58
  return "read";
59
59
  }
60
- export async function replyPermission(client, requestID, action) {
61
- await client.permission.reply({
62
- requestID,
63
- reply: action,
60
+ export async function replyPermission(client, sessionID, requestID, action) {
61
+ await client.postSessionByIdPermissionsByPermissionId({
62
+ path: {
63
+ id: sessionID,
64
+ permissionID: requestID,
65
+ },
66
+ body: {
67
+ response: action === "once" ? "once" : action === "always" ? "always" : "reject",
68
+ },
69
+ responseStyle: "data",
70
+ throwOnError: true,
64
71
  });
65
72
  }
66
73
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/opencode/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/opencode/permissions.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,9 @@ export declare function submitPrompt(client: any, sessionID: string, prompt: str
4
4
  modelID: string;
5
5
  }): Promise<{
6
6
  userMessageID: string;
7
+ assistantMessageID?: string;
8
+ assistantParts?: ReadonlyArray<{
9
+ type: string;
10
+ [key: string]: unknown;
11
+ }>;
7
12
  }>;
@@ -3,12 +3,24 @@ export function createTelegramUserMessageID(updateID) {
3
3
  }
4
4
  export async function submitPrompt(client, sessionID, prompt, updateID, model) {
5
5
  const userMessageID = createTelegramUserMessageID(updateID);
6
- await client.session.promptAsync({
7
- sessionID,
8
- messageID: userMessageID,
9
- ...(model ? { model } : {}),
10
- parts: [{ type: "text", text: prompt }],
6
+ const response = await client.session.prompt({
7
+ path: {
8
+ id: sessionID,
9
+ },
10
+ body: {
11
+ messageID: userMessageID,
12
+ ...(model ? { model } : {}),
13
+ parts: [{ type: "text", text: prompt }],
14
+ },
15
+ responseStyle: "data",
16
+ throwOnError: true,
11
17
  });
12
- return { userMessageID };
18
+ const info = (response?.info || response?.data?.info);
19
+ const parts = (response?.parts || response?.data?.parts);
20
+ return {
21
+ userMessageID,
22
+ assistantMessageID: typeof info?.id === "string" ? info.id : undefined,
23
+ assistantParts: parts,
24
+ };
13
25
  }
14
26
  //# sourceMappingURL=submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/opencode/submit.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,OAAO,MAAM,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAW,EACX,SAAiB,EACjB,MAAc,EACd,QAAgB,EAChB,KAGC;IAED,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/B,SAAS;QACT,SAAS,EAAE,aAAa;QACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACxC,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../src/opencode/submit.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,QAAgB;IAC1D,OAAO,MAAM,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAW,EACX,SAAiB,EACjB,MAAc,EACd,QAAgB,EAChB,KAGC;IAMD,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3C,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;SACd;QACD,IAAI,EAAE;YACJ,SAAS,EAAE,aAAa;YACxB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACxC;QACD,aAAa,EAAE,MAAM;QACrB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAgC,CAAC;IACrF,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,CAE1C,CAAC;IAEd,OAAO;QACL,aAAa;QACb,kBAAkB,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACtE,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { BridgeConfig, ParsedTelegramCommand, RuntimeDeps } from "../types.js";
1
+ import type { BridgeConfig, BridgeStoreData, ParsedTelegramCommand, RuntimeDeps } from "../types.js";
2
2
  import type { TuiPluginApi } from "../tui-types.js";
3
3
  type SessionCredentials = {
4
4
  botToken: string;
@@ -23,6 +23,7 @@ export declare class BridgeController {
23
23
  private processingQueue;
24
24
  private lastEscAt;
25
25
  private sessionCredentials?;
26
+ private activePromptCheckInFlight;
26
27
  constructor(api: TuiPluginApi, config: BridgeConfig, storePath: string, deps?: Partial<RuntimeDeps>);
27
28
  init(): Promise<void>;
28
29
  bindCurrent(credentials?: SessionCredentials): Promise<string>;
@@ -33,6 +34,7 @@ export declare class BridgeController {
33
34
  handleLocalTuiCommand(command: string): Promise<void>;
34
35
  private processPromptQueue;
35
36
  private onAssistantCompleted;
37
+ private completeActivePrompt;
36
38
  private onUserMessage;
37
39
  private onPermissionAsked;
38
40
  private handlePermissionReply;
@@ -68,12 +70,19 @@ export declare class BridgeController {
68
70
  private parseCredentialArgs;
69
71
  private parseStartWithCredentials;
70
72
  private parseCredentialCommand;
73
+ private isVersionCommand;
74
+ private versionLine;
71
75
  private resolveCredentials;
72
76
  private getTelegramApi;
73
77
  private requireChannelID;
74
78
  private stopRuntime;
75
79
  private requireState;
76
80
  private persist;
77
- private syncState;
81
+ syncState(): Promise<BridgeStoreData>;
82
+ private resetBoundSessionState;
83
+ private skipTelegramBacklog;
84
+ private reconcileActivePrompt;
85
+ private clearTuiPrompt;
86
+ private waitForPromptCompletion;
78
87
  }
79
88
  export {};
@@ -1,6 +1,6 @@
1
1
  import { execFile } from "node:child_process";
2
2
  import { promisify } from "node:util";
3
- import { getCurrentSessionID } from "../opencode/binding.js";
3
+ import { getCurrentOrCreateSessionID } from "../opencode/binding.js";
4
4
  import { replyPermission, toPendingPermission, formatPermissionRequestMessage } from "../opencode/permissions.js";
5
5
  import { createTelegramUserMessageID, submitPrompt } from "../opencode/submit.js";
6
6
  import { formatSummaryForTelegram } from "../summary/format.js";
@@ -10,12 +10,12 @@ import { TelegramApi } from "../telegram/api.js";
10
10
  import { TelegramPoller } from "../telegram/poller.js";
11
11
  import { SessionEventStream } from "../opencode/events.js";
12
12
  import { createShutdownGuard } from "./shutdown.js";
13
+ import { PLUGIN_VERSION } from "../version.js";
13
14
  const execFileAsync = promisify(execFile);
14
15
  const DEFAULT_DEPS = {
15
16
  now: () => Date.now(),
16
17
  randomID: () => `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`,
17
18
  };
18
- const BRIDGE_USER_MESSAGE_GRACE_MS = 10_000;
19
19
  function formatAgeMs(ms) {
20
20
  if (ms < 1000)
21
21
  return `${ms}ms`;
@@ -135,6 +135,7 @@ export class BridgeController {
135
135
  processingQueue = false;
136
136
  lastEscAt = 0;
137
137
  sessionCredentials;
138
+ activePromptCheckInFlight = false;
138
139
  constructor(api, config, storePath, deps) {
139
140
  this.api = api;
140
141
  this.config = config;
@@ -155,17 +156,16 @@ export class BridgeController {
155
156
  this.config.botToken = resolvedCredentials.botToken;
156
157
  this.config.channelID = resolvedCredentials.channelID;
157
158
  this.store.setChannelID(resolvedCredentials.channelID);
158
- const sessionID = getCurrentSessionID(this.api);
159
+ const sessionID = await getCurrentOrCreateSessionID(this.api, this.client);
159
160
  const state = await this.syncState();
160
161
  const claimed = this.lease.claim(state);
161
- claimed.bound.sessionID = sessionID;
162
- claimed.bound.status = "online";
163
- claimed.bound.model = undefined;
164
- claimed.bound.channelID = resolvedCredentials.channelID;
165
- await this.persist(claimed);
162
+ const next = this.resetBoundSessionState(claimed, sessionID, resolvedCredentials.channelID);
163
+ await this.persist(next);
164
+ await this.skipTelegramBacklog();
166
165
  this.startHeartbeat();
167
166
  await this.startEventStream(sessionID);
168
167
  this.startPolling();
168
+ await this.clearTuiPrompt();
169
169
  if (this.config.onlineNotice) {
170
170
  await this.getTelegramApi().sendMessage(this.requireChannelID(), `OpenCode Telegram bridge online.\nsession_id: ${sessionID}`);
171
171
  }
@@ -224,7 +224,7 @@ export class BridgeController {
224
224
  async handleTelegramCommand(command) {
225
225
  const state = await this.syncState();
226
226
  const isOwner = this.lease.isOwner(state);
227
- const alwaysAllowed = new Set(["status", "who", "health", "reclaim"]);
227
+ const alwaysAllowed = new Set(["status", "who", "health", "reclaim", "version"]);
228
228
  if (!isOwner && !alwaysAllowed.has(command.command.kind)) {
229
229
  await this.telegram.sendMessage(this.config.channelID, "Bridge is currently owned by another OpenCode instance. Use /tp:reclaim first.", { replyToMessageID: command.messageID });
230
230
  return;
@@ -233,6 +233,10 @@ export class BridgeController {
233
233
  await this.telegram.sendMessage(this.config.channelID, await this.statusLine(), { replyToMessageID: command.messageID });
234
234
  return;
235
235
  }
236
+ if (command.command.kind === "version") {
237
+ await this.telegram.sendMessage(this.config.channelID, this.versionLine(), { replyToMessageID: command.messageID });
238
+ return;
239
+ }
236
240
  if (command.command.kind === "disconnect") {
237
241
  const state = await this.requireState();
238
242
  if (state.bound.status !== "online") {
@@ -359,12 +363,20 @@ export class BridgeController {
359
363
  const startWithCredentials = this.parseStartWithCredentials(command);
360
364
  if (startWithCredentials) {
361
365
  const sessionID = await this.bindCurrent(startWithCredentials);
366
+ await this.clearTuiPrompt();
362
367
  this.api.ui.toast({
363
368
  variant: "success",
364
369
  message: `Telegram bridge bound to session ${sessionID}`,
365
370
  });
366
371
  return;
367
372
  }
373
+ if (this.isVersionCommand(command)) {
374
+ this.api.ui.toast({
375
+ variant: "info",
376
+ message: this.versionLine(),
377
+ });
378
+ return;
379
+ }
368
380
  const credentialOnly = this.parseCredentialCommand(command);
369
381
  if (credentialOnly) {
370
382
  this.sessionCredentials = credentialOnly;
@@ -426,9 +438,14 @@ export class BridgeController {
426
438
  promptQueue: state.promptQueue.slice(1),
427
439
  };
428
440
  await this.persist(next);
441
+ this.api.ui.toast({
442
+ variant: "info",
443
+ message: `Teleprompt: sending prompt to session ${state.bound.sessionID}...`,
444
+ });
429
445
  await this.telegram.sendMessage(this.config.channelID, "running", { replyToMessageID: activeJob.telegramMessageID });
430
446
  try {
431
- await submitPrompt(this.client, state.bound.sessionID, job.prompt, job.telegramUpdateID, state.bound.model);
447
+ const submitted = await submitPrompt(this.client, state.bound.sessionID, job.prompt, job.telegramUpdateID, state.bound.model);
448
+ await this.waitForPromptCompletion(state.bound.sessionID, submitted.userMessageID, submitted.assistantMessageID);
432
449
  }
433
450
  catch (error) {
434
451
  const latest = await this.requireState();
@@ -454,16 +471,17 @@ export class BridgeController {
454
471
  }
455
472
  }
456
473
  async onAssistantCompleted(sessionID, assistantMessageID, parentUserMessageID) {
474
+ await this.completeActivePrompt(sessionID, assistantMessageID, parentUserMessageID);
475
+ }
476
+ async completeActivePrompt(sessionID, assistantMessageID, diffMessageID, directParts) {
457
477
  const state = await this.syncState();
458
478
  if (!this.lease.isOwner(state))
459
479
  return;
460
480
  if (!state.activePrompt)
461
481
  return;
462
- if (state.activePrompt.userMessageID !== parentUserMessageID)
463
- return;
464
482
  if (state.bound.sessionID !== sessionID)
465
483
  return;
466
- const summary = await this.buildSummary(sessionID, assistantMessageID, state.activePrompt.userMessageID);
484
+ const summary = await this.buildSummary(sessionID, assistantMessageID, diffMessageID, directParts);
467
485
  const completedAt = this.deps.now();
468
486
  const elapsed = completedAt - (state.activePrompt.startedAt ?? state.activePrompt.createdAt);
469
487
  const message = formatSummaryForTelegram(summary, this.config.summaryMaxChars);
@@ -492,16 +510,10 @@ export class BridgeController {
492
510
  return;
493
511
  if (userMessageID.startsWith("tg-"))
494
512
  return;
495
- const activeStartedAt = state.activePrompt?.startedAt ?? state.activePrompt?.createdAt;
496
- if (activeStartedAt && this.deps.now() - activeStartedAt < BRIDGE_USER_MESSAGE_GRACE_MS) {
513
+ if (state.activePrompt)
497
514
  return;
498
- }
499
- try {
500
- await this.client.session.abort({ sessionID });
501
- }
502
- catch { }
503
515
  try {
504
- await this.client.session.deleteMessage({ sessionID, messageID: userMessageID });
516
+ await this.client.session.abort({ path: { id: sessionID } });
505
517
  }
506
518
  catch { }
507
519
  this.api.ui.toast({
@@ -539,7 +551,7 @@ export class BridgeController {
539
551
  await this.telegram.sendMessage(this.config.channelID, `Permission request not found: ${requestID}`, replyToMessageID ? { replyToMessageID } : undefined);
540
552
  return;
541
553
  }
542
- await replyPermission(this.client, requestID, action);
554
+ await replyPermission(this.client, pending.sessionID, requestID, action);
543
555
  const { [requestID]: _removed, ...rest } = state.pendingPermissions;
544
556
  await this.persist({
545
557
  ...state,
@@ -598,7 +610,10 @@ export class BridgeController {
598
610
  }
599
611
  async fetchAvailableModels() {
600
612
  try {
601
- const response = await this.client.config.providers({}, { responseStyle: "data", throwOnError: true });
613
+ const response = await this.client.config.providers({
614
+ responseStyle: "data",
615
+ throwOnError: true,
616
+ });
602
617
  const providers = response?.providers;
603
618
  if (!Array.isArray(providers))
604
619
  return [];
@@ -627,8 +642,8 @@ export class BridgeController {
627
642
  return [];
628
643
  }
629
644
  }
630
- async buildSummary(sessionID, assistantMessageID, userMessageID) {
631
- const parts = this.api.state.part(assistantMessageID);
645
+ async buildSummary(sessionID, assistantMessageID, userMessageID, directParts) {
646
+ const parts = directParts ?? this.api.state.part(assistantMessageID);
632
647
  const text = parts
633
648
  .filter((part) => {
634
649
  return part.type === "text" && typeof part.text === "string";
@@ -638,11 +653,15 @@ export class BridgeController {
638
653
  .trim();
639
654
  let changedFiles = [];
640
655
  try {
641
- const diffResponse = await this.client.session.diff({
642
- sessionID,
643
- messageID: userMessageID,
644
- }, { responseStyle: "data", throwOnError: true });
645
- const diff = diffResponse.diff;
656
+ const diffResponse = await this.client.session.message({
657
+ path: {
658
+ id: sessionID,
659
+ messageID: userMessageID,
660
+ },
661
+ responseStyle: "data",
662
+ throwOnError: true,
663
+ });
664
+ const diff = diffResponse?.diff;
646
665
  changedFiles = (diff || []).map((item) => item.file);
647
666
  }
648
667
  catch {
@@ -785,7 +804,11 @@ export class BridgeController {
785
804
  return;
786
805
  }
787
806
  try {
788
- await this.client.session.summarize({ sessionID: state.bound.sessionID }, { responseStyle: "data", throwOnError: true });
807
+ await this.client.session.summarize({
808
+ path: { id: state.bound.sessionID },
809
+ responseStyle: "data",
810
+ throwOnError: true,
811
+ });
789
812
  await this.telegram.sendMessage(this.config.channelID, `Compaction requested for session ${state.bound.sessionID}.`, { replyToMessageID });
790
813
  }
791
814
  catch (error) {
@@ -799,8 +822,11 @@ export class BridgeController {
799
822
  return;
800
823
  }
801
824
  try {
802
- const response = await this.client.session.create({}, { responseStyle: "data", throwOnError: true });
803
- const nextSessionID = response?.session?.id ?? response?.id;
825
+ const response = await this.client.session.create({
826
+ responseStyle: "data",
827
+ throwOnError: true,
828
+ });
829
+ const nextSessionID = response?.id ?? response?.session?.id;
804
830
  if (!nextSessionID || typeof nextSessionID !== "string") {
805
831
  throw new Error("Could not resolve new session id.");
806
832
  }
@@ -906,7 +932,7 @@ export class BridgeController {
906
932
  return;
907
933
  }
908
934
  try {
909
- await this.client.session.abort({ sessionID: state.bound.sessionID });
935
+ await this.client.session.abort({ path: { id: state.bound.sessionID } });
910
936
  const latest = await this.requireState();
911
937
  if (latest.activePrompt?.userMessageID === state.activePrompt.userMessageID) {
912
938
  await this.persist(this.appendPromptHistory({
@@ -980,8 +1006,12 @@ export class BridgeController {
980
1006
  if (!sessionID)
981
1007
  return undefined;
982
1008
  try {
983
- const response = await this.client.session.get({ sessionID }, { responseStyle: "data", throwOnError: true });
984
- const title = response?.session?.title;
1009
+ const response = await this.client.session.get({
1010
+ path: { id: sessionID },
1011
+ responseStyle: "data",
1012
+ throwOnError: true,
1013
+ });
1014
+ const title = response?.title ?? response?.session?.title;
985
1015
  if (typeof title === "string" && title.trim().length > 0)
986
1016
  return title.trim();
987
1017
  return undefined;
@@ -992,18 +1022,9 @@ export class BridgeController {
992
1022
  }
993
1023
  async switchBoundSession(sessionID) {
994
1024
  const state = await this.syncState();
995
- const next = {
996
- ...state,
997
- bound: {
998
- ...state.bound,
999
- sessionID,
1000
- status: "online",
1001
- },
1002
- activePrompt: undefined,
1003
- promptQueue: [],
1004
- pendingPermissions: {},
1005
- };
1025
+ const next = this.resetBoundSessionState(state, sessionID, state.bound.channelID || this.requireChannelID());
1006
1026
  await this.persist(next);
1027
+ await this.skipTelegramBacklog();
1007
1028
  await this.startEventStream(sessionID);
1008
1029
  }
1009
1030
  startHeartbeat() {
@@ -1013,7 +1034,9 @@ export class BridgeController {
1013
1034
  const state = await this.syncState();
1014
1035
  if (!this.lease.isOwner(state))
1015
1036
  return;
1016
- await this.persist(this.lease.refresh(state));
1037
+ const refreshed = this.lease.refresh(state);
1038
+ await this.persist(refreshed);
1039
+ await this.reconcileActivePrompt(refreshed);
1017
1040
  }
1018
1041
  catch (error) {
1019
1042
  this.api.ui.toast({
@@ -1042,6 +1065,12 @@ export class BridgeController {
1042
1065
  return;
1043
1066
  await this.persist({ ...state, pollingOffset: offset });
1044
1067
  },
1068
+ onUpdates: (count) => {
1069
+ this.api.ui.toast({
1070
+ variant: "info",
1071
+ message: `Teleprompt: received ${count} Telegram updates`,
1072
+ });
1073
+ },
1045
1074
  onError: (error) => {
1046
1075
  this.api.ui.toast({
1047
1076
  variant: "warning",
@@ -1139,6 +1168,13 @@ export class BridgeController {
1139
1168
  }
1140
1169
  return this.parseCredentialArgs(parts);
1141
1170
  }
1171
+ isVersionCommand(command) {
1172
+ const parts = this.splitCommandArgs(command);
1173
+ return this.isLocalCommand(parts, "version");
1174
+ }
1175
+ versionLine() {
1176
+ return `opencode-plugin-teleprompt ${PLUGIN_VERSION}`;
1177
+ }
1142
1178
  resolveCredentials(credentials) {
1143
1179
  const botToken = credentials?.botToken?.trim()
1144
1180
  || this.sessionCredentials?.botToken?.trim()
@@ -1198,5 +1234,155 @@ export class BridgeController {
1198
1234
  this.data = latest;
1199
1235
  return latest;
1200
1236
  }
1237
+ resetBoundSessionState(state, sessionID, channelID) {
1238
+ return {
1239
+ ...state,
1240
+ bound: {
1241
+ sessionID,
1242
+ channelID,
1243
+ status: "online",
1244
+ model: undefined,
1245
+ },
1246
+ activePrompt: undefined,
1247
+ promptQueue: [],
1248
+ pendingPermissions: {},
1249
+ promptHistory: [],
1250
+ recentPrompts: [],
1251
+ };
1252
+ }
1253
+ async skipTelegramBacklog() {
1254
+ const latestOffset = await this.getTelegramApi().getLatestUpdateOffset();
1255
+ if (latestOffset === undefined)
1256
+ return;
1257
+ const state = await this.requireState();
1258
+ if (latestOffset <= state.pollingOffset)
1259
+ return;
1260
+ await this.persist({
1261
+ ...state,
1262
+ pollingOffset: latestOffset,
1263
+ });
1264
+ }
1265
+ async reconcileActivePrompt(state) {
1266
+ if (this.activePromptCheckInFlight)
1267
+ return;
1268
+ if (!state.activePrompt)
1269
+ return;
1270
+ if (state.bound.status !== "online" || !state.bound.sessionID)
1271
+ return;
1272
+ this.activePromptCheckInFlight = true;
1273
+ try {
1274
+ const response = await this.client.session.messages({
1275
+ path: {
1276
+ id: state.bound.sessionID,
1277
+ },
1278
+ responseStyle: "data",
1279
+ throwOnError: true,
1280
+ });
1281
+ const messages = Array.isArray(response) ? response : (response?.messages || response?.items || response?.data || []);
1282
+ const threshold = (state.activePrompt.startedAt ?? state.activePrompt.createdAt) - 1_000;
1283
+ const latestCompletedAssistant = [...messages]
1284
+ .reverse()
1285
+ .find((entry) => {
1286
+ const info = entry?.info;
1287
+ return (info?.role === "assistant"
1288
+ && typeof info?.id === "string"
1289
+ && typeof info?.time?.completed === "number"
1290
+ && info.time.completed >= threshold);
1291
+ });
1292
+ if (!latestCompletedAssistant)
1293
+ return;
1294
+ await this.completeActivePrompt(state.bound.sessionID, latestCompletedAssistant.info.id, state.activePrompt.userMessageID, latestCompletedAssistant.parts);
1295
+ }
1296
+ catch { }
1297
+ finally {
1298
+ this.activePromptCheckInFlight = false;
1299
+ }
1300
+ }
1301
+ async clearTuiPrompt() {
1302
+ try {
1303
+ await this.client.tui.clearPrompt({
1304
+ responseStyle: "data",
1305
+ throwOnError: true,
1306
+ });
1307
+ }
1308
+ catch { }
1309
+ }
1310
+ async waitForPromptCompletion(sessionID, userMessageID, assistantMessageID) {
1311
+ const startedAt = this.deps.now();
1312
+ const timeoutMs = 10 * 60 * 1000;
1313
+ const pollEveryMs = 2000;
1314
+ while (this.deps.now() - startedAt < timeoutMs) {
1315
+ const state = await this.syncState();
1316
+ if (!this.lease.isOwner(state))
1317
+ return;
1318
+ if (state.bound.sessionID !== sessionID)
1319
+ return;
1320
+ if (!state.activePrompt || state.activePrompt.userMessageID !== userMessageID)
1321
+ return;
1322
+ try {
1323
+ const response = await this.client.session.messages({
1324
+ path: {
1325
+ id: sessionID,
1326
+ },
1327
+ responseStyle: "data",
1328
+ throwOnError: true,
1329
+ });
1330
+ const messages = Array.isArray(response) ? response : (response?.messages || response?.items || response?.data || []);
1331
+ const completedAssistant = [...messages]
1332
+ .reverse()
1333
+ .find((entry) => {
1334
+ const info = entry?.info;
1335
+ if (info?.role !== "assistant")
1336
+ return false;
1337
+ if (assistantMessageID && info.id !== assistantMessageID)
1338
+ return false;
1339
+ if (info?.error)
1340
+ return true;
1341
+ const isCompleted = typeof info?.time?.completed === "number";
1342
+ if (!isCompleted)
1343
+ return false;
1344
+ // If we don't have a specific ID, ensure this message wasn't created before we started
1345
+ if (!assistantMessageID) {
1346
+ const created = info?.time?.created || 0;
1347
+ if (created > 0 && created < startedAt - 5000)
1348
+ return false; // 5s buffer
1349
+ }
1350
+ return true;
1351
+ });
1352
+ if (completedAssistant?.info?.id) {
1353
+ if (completedAssistant.info.error) {
1354
+ throw new Error(`Assistant error: ${JSON.stringify(completedAssistant.info.error)}`);
1355
+ }
1356
+ await this.completeActivePrompt(sessionID, completedAssistant.info.id, userMessageID, completedAssistant.parts);
1357
+ return;
1358
+ }
1359
+ }
1360
+ catch (err) {
1361
+ if (err instanceof Error && err.message.startsWith("Assistant error:")) {
1362
+ throw err;
1363
+ }
1364
+ }
1365
+ await new Promise((resolve) => setTimeout(resolve, pollEveryMs));
1366
+ }
1367
+ const state = await this.syncState();
1368
+ if (!this.lease.isOwner(state))
1369
+ return;
1370
+ if (state.bound.sessionID !== sessionID)
1371
+ return;
1372
+ if (state.activePrompt?.userMessageID !== userMessageID)
1373
+ return;
1374
+ await this.telegram.sendMessage(this.config.channelID, "failed: prompt timed out waiting for completion", { replyToMessageID: state.activePrompt.telegramMessageID });
1375
+ await this.persist(this.appendPromptHistory({
1376
+ ...state,
1377
+ activePrompt: undefined,
1378
+ }, {
1379
+ jobID: userMessageID,
1380
+ prompt: state.activePrompt.prompt,
1381
+ summary: "Timed out waiting for assistant completion.",
1382
+ changedFiles: [],
1383
+ status: "failed",
1384
+ at: this.deps.now(),
1385
+ }));
1386
+ }
1201
1387
  }
1202
1388
  //# sourceMappingURL=controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/runtime/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/runtime/controller.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class TelegramApi {
9
9
  private readonly maxMessageLen;
10
10
  constructor(token: string);
11
11
  getUpdates(offset: number, timeoutSec: number, signal?: AbortSignal): Promise<GetUpdatesResult>;
12
+ getLatestUpdateOffset(signal?: AbortSignal): Promise<number | undefined>;
12
13
  sendMessage(channelID: string, text: string, options?: SendMessageOptions, signal?: AbortSignal): Promise<void>;
13
14
  private chunkText;
14
15
  private post;
@@ -10,11 +10,17 @@ export class TelegramApi {
10
10
  const payload = {
11
11
  offset,
12
12
  timeout: timeoutSec,
13
- allowed_updates: ["channel_post"],
14
13
  };
15
14
  const response = await this.post("/getUpdates", payload, signal);
16
15
  return response;
17
16
  }
17
+ async getLatestUpdateOffset(signal) {
18
+ const updates = await this.getUpdates(-1, 0, signal);
19
+ if (updates.length === 0)
20
+ return undefined;
21
+ const latest = updates.reduce((max, update) => Math.max(max, update.update_id), 0);
22
+ return latest + 1;
23
+ }
18
24
  async sendMessage(channelID, text, options, signal) {
19
25
  const chunks = this.chunkText(text);
20
26
  for (const [index, chunk] of chunks.entries()) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/telegram/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/telegram/api.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,9 @@ function parseCommandBody(body) {
41
41
  const lastErrorMatch = /^last-error\s*$/i.exec(trimmed);
42
42
  if (lastErrorMatch)
43
43
  return { kind: "last-error" };
44
+ const versionMatch = /^version\s*$/i.exec(trimmed);
45
+ if (versionMatch)
46
+ return { kind: "version" };
44
47
  const cancelMatch = /^cancel\s+([A-Za-z0-9_\-:.]+)\s*$/i.exec(trimmed);
45
48
  if (cancelMatch)
46
49
  return { kind: "cancel", target: cancelMatch[1] };
@@ -63,7 +66,7 @@ function parseCommandBody(body) {
63
66
  return { kind: "prompt", prompt: trimmed };
64
67
  }
65
68
  export function parseTelegramUpdate(update, channelID, prefix) {
66
- const post = update.channel_post;
69
+ const post = update.channel_post || update.message;
67
70
  if (!post)
68
71
  return undefined;
69
72
  const normalizedChannel = String(post.chat.id);
@@ -193,6 +196,15 @@ export function parseTelegramUpdate(update, channelID, prefix) {
193
196
  command: { kind: "last-error" },
194
197
  };
195
198
  }
199
+ if (/^version\s*$/i.test(colonBody)) {
200
+ return {
201
+ updateID: update.update_id,
202
+ messageID: post.message_id,
203
+ channelID: normalizedChannel,
204
+ rawText: text,
205
+ command: { kind: "version" },
206
+ };
207
+ }
196
208
  const cancelMatch = /^cancel\s+([A-Za-z0-9_\-:.]+)\s*$/i.exec(colonBody);
197
209
  if (cancelMatch) {
198
210
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/telegram/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/telegram/parser.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ type PollerHandlers = {
4
4
  onCommand: (command: ParsedTelegramCommand) => Promise<void>;
5
5
  onOffset: (offset: number) => Promise<void>;
6
6
  onError: (error: unknown) => void;
7
+ onUpdates?: (count: number) => void;
7
8
  };
8
9
  export declare class TelegramPoller {
9
10
  private readonly api;
@@ -19,6 +19,9 @@ export class TelegramPoller {
19
19
  const updates = await this.api.getUpdates(offset, this.timeoutSec, signal);
20
20
  if (signal.aborted)
21
21
  break;
22
+ if (updates.length > 0) {
23
+ this.handlers.onUpdates?.(updates.length);
24
+ }
22
25
  offset = await this.processUpdates(offset, updates);
23
26
  }
24
27
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../src/telegram/poller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AASlD,MAAM,OAAO,cAAc;IAEN;IACA;IACA;IACA;IACA;IALnB,YACmB,GAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,QAAwB;QAJxB,QAAG,GAAH,GAAG,CAAa;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAgB;IACxC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,MAAmB;QAChD,IAAI,MAAM,GAAG,WAAW,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC3E,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAC1B,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,OAAyB;QAEzB,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,GAAG,eAAe,CAAC;gBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,uFAAuF;YACvF,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,UAAU,GAAG,eAAe,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../src/telegram/poller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUlD,MAAM,OAAO,cAAc;IAEN;IACA;IACA;IACA;IACA;IALnB,YACmB,GAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,QAAwB;QAJxB,QAAG,GAAH,GAAG,CAAa;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAgB;IACxC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,WAAmB,EAAE,MAAmB;QAChD,IAAI,MAAM,GAAG,WAAW,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC3E,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,MAAM,CAAC,OAAO;oBAAE,MAAM;gBAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,OAAyB;QAEzB,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,GAAG,eAAe,CAAC;gBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,uFAAuF;YACvF,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,UAAU,GAAG,eAAe,CAAC;YAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
package/dist/tui.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { join } from "node:path";
2
2
  import { loadConfig } from "./config.js";
3
3
  import { BridgeController } from "./runtime/controller.js";
4
+ import { PLUGIN_VERSION } from "./version.js";
4
5
  async function runSafe(api, fn) {
5
6
  try {
6
7
  const message = await fn();
@@ -23,6 +24,31 @@ export const tui = async (api, _options) => {
23
24
  const storePath = join(api.state.path.directory, ".opencode-telegram-bridge.json");
24
25
  const controller = new BridgeController(api, config, storePath);
25
26
  await controller.init();
27
+ if (config.botToken && config.channelID) {
28
+ setTimeout(() => {
29
+ // DUMP DEV TOOL
30
+ try {
31
+ const fs = require('node:fs');
32
+ const dump = {
33
+ routeKeys: Object.keys(api.route || {}),
34
+ apiKeys: Object.keys(api || {}),
35
+ commandKeys: Object.keys(api.command || {}),
36
+ uiKeys: Object.keys(api.ui || {}),
37
+ hasNavigate: typeof api.navigate,
38
+ routeCurrent: api.route?.current
39
+ };
40
+ fs.writeFileSync(storePath + '.debug.json', JSON.stringify(dump, null, 2));
41
+ }
42
+ catch (e) { }
43
+ void runSafe(api, async () => {
44
+ const state = await controller.syncState();
45
+ if (state.bound.status !== "online" || !state.bound.sessionID) {
46
+ const sessionID = await controller.bindCurrent();
47
+ return `Telegram bridge auto-bound to session ${sessionID}`;
48
+ }
49
+ });
50
+ }, 500);
51
+ }
26
52
  const unregister = api.command.register(() => [
27
53
  {
28
54
  title: "Teleprompt: Start",
@@ -85,6 +111,22 @@ export const tui = async (api, _options) => {
85
111
  });
86
112
  },
87
113
  },
114
+ {
115
+ title: "Teleprompt: Version",
116
+ value: "/tp:version",
117
+ description: "Show the loaded Teleprompt plugin version",
118
+ category: "Teleprompt",
119
+ slash: {
120
+ name: "tp:version",
121
+ aliases: ["telegram.version"],
122
+ },
123
+ onSelect: () => {
124
+ api.ui.toast({
125
+ variant: "info",
126
+ message: `opencode-plugin-teleprompt ${PLUGIN_VERSION}`,
127
+ });
128
+ },
129
+ },
88
130
  ]);
89
131
  const unsubscribeTuiCommand = api.event.on("tui.command.execute", (event) => {
90
132
  void controller.handleLocalTuiCommand(event.properties.command);
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -66,6 +66,7 @@ export type BridgeStoreData = {
66
66
  };
67
67
  export type TelegramUpdate = {
68
68
  update_id: number;
69
+ message?: TelegramChannelPost;
69
70
  channel_post?: TelegramChannelPost;
70
71
  };
71
72
  export type TelegramChannelPost = {
@@ -133,6 +134,9 @@ export type TelegramCommandHistory = {
133
134
  export type TelegramCommandLastError = {
134
135
  kind: "last-error";
135
136
  };
137
+ export type TelegramCommandVersion = {
138
+ kind: "version";
139
+ };
136
140
  export type TelegramCommandModel = {
137
141
  kind: "model";
138
142
  target?: {
@@ -141,7 +145,7 @@ export type TelegramCommandModel = {
141
145
  };
142
146
  preset?: "fast" | "smart" | "max";
143
147
  };
144
- export type TelegramCommand = TelegramCommandPrompt | TelegramCommandPermission | TelegramCommandStatus | TelegramCommandDisconnect | TelegramCommandInterrupt | TelegramCommandQueue | TelegramCommandCancel | TelegramCommandRetry | TelegramCommandContext | TelegramCommandCompact | TelegramCommandNewSession | TelegramCommandResetContext | TelegramCommandWho | TelegramCommandHealth | TelegramCommandReclaim | TelegramCommandHistory | TelegramCommandLastError | TelegramCommandModel;
148
+ export type TelegramCommand = TelegramCommandPrompt | TelegramCommandPermission | TelegramCommandStatus | TelegramCommandDisconnect | TelegramCommandInterrupt | TelegramCommandQueue | TelegramCommandCancel | TelegramCommandRetry | TelegramCommandContext | TelegramCommandCompact | TelegramCommandNewSession | TelegramCommandResetContext | TelegramCommandWho | TelegramCommandHealth | TelegramCommandReclaim | TelegramCommandHistory | TelegramCommandLastError | TelegramCommandVersion | TelegramCommandModel;
145
149
  export type ParsedTelegramCommand = {
146
150
  updateID: number;
147
151
  messageID: number;
@@ -0,0 +1 @@
1
+ export declare const PLUGIN_VERSION = "0.1.12";
@@ -0,0 +1,2 @@
1
+ export const PLUGIN_VERSION = "0.1.12";
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-plugin-teleprompt",
3
- "version": "0.1.4",
3
+ "version": "0.1.12",
4
4
  "description": "OpenCode TUI plugin — control your AI coding session remotely via Telegram. Queue prompts, approve permissions, and get results as Telegram messages.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",