opencode-telegram-bridge 1.0.3 → 1.0.5

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/.env.example CHANGED
@@ -9,3 +9,5 @@ OPENCODE_SERVER_PASSWORD=
9
9
  OPENCODE_PROMPT_TIMEOUT_MS=600000
10
10
  OPENCODE_RESTART_COMMAND=
11
11
  OPENCODE_RESTART_TIMEOUT_MS=30000
12
+ OPENCODE_BRIDGE_RESTART_COMMAND=
13
+ OPENCODE_BRIDGE_RESTART_TIMEOUT_MS=30000
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAA;AAEpE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAyClD,eAAO,MAAM,QAAQ,GACnB,QAAQ,SAAS,EACjB,UAAU,cAAc,EACxB,UAAU,YAAY,EACtB,cAAc,gBAAgB,2EAmf/B,CAAA"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,QAAQ,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,eAAe,CAAA;AAEpE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAyClD,eAAO,MAAM,QAAQ,GACnB,QAAQ,SAAS,EACjB,UAAU,cAAc,EACxB,UAAU,YAAY,EACtB,cAAc,gBAAgB,2EAyjB/B,CAAA"}
package/dist/bot.js CHANGED
@@ -61,6 +61,29 @@ export const startBot = (config, opencode, projects, chatProjects) => {
61
61
  }
62
62
  return Markup.inlineKeyboard([buttons]);
63
63
  };
64
+ const buildBotCommands = () => {
65
+ const commands = [
66
+ { command: "start", description: "Confirm the bot is online" },
67
+ {
68
+ command: "project",
69
+ description: "Manage project aliases (list/current/add/remove/set)",
70
+ },
71
+ { command: "reset", description: "Reset the active project session" },
72
+ ];
73
+ if (config.opencodeRestart) {
74
+ commands.push({
75
+ command: "reboot",
76
+ description: "Restart OpenCode and clear cached sessions",
77
+ });
78
+ }
79
+ if (config.bridgeRestart) {
80
+ commands.push({
81
+ command: "restart",
82
+ description: "Restart the Telegram bridge",
83
+ });
84
+ }
85
+ return commands;
86
+ };
64
87
  const formatCommandOutput = (value) => {
65
88
  if (!value) {
66
89
  return null;
@@ -75,13 +98,13 @@ export const startBot = (config, opencode, projects, chatProjects) => {
75
98
  }
76
99
  return `${trimmed.slice(0, maxLength)}...`;
77
100
  };
78
- const restartOpencodeService = async () => {
79
- if (!config.opencodeRestart) {
101
+ const runRestartCommand = async (restartConfig) => {
102
+ if (!restartConfig) {
80
103
  return { configured: false };
81
104
  }
82
105
  try {
83
- const result = await execAsync(config.opencodeRestart.command, {
84
- timeout: config.opencodeRestart.timeoutMs,
106
+ const result = await execAsync(restartConfig.command, {
107
+ timeout: restartConfig.timeoutMs,
85
108
  });
86
109
  return {
87
110
  configured: true,
@@ -265,7 +288,7 @@ export const startBot = (config, opencode, projects, chatProjects) => {
265
288
  await ctx.reply("Not authorized.");
266
289
  return;
267
290
  }
268
- const result = await restartOpencodeService();
291
+ const result = await runRestartCommand(config.opencodeRestart);
269
292
  if (!result.configured) {
270
293
  await ctx.reply("Restart command not configured. Set OPENCODE_RESTART_COMMAND to enable this.");
271
294
  return;
@@ -291,6 +314,34 @@ export const startBot = (config, opencode, projects, chatProjects) => {
291
314
  const detail = stdout ? `\n${stdout}` : "";
292
315
  await ctx.reply(`OpenCode restart triggered. Session cache cleared.${detail}`);
293
316
  });
317
+ bot.command("restart", async (ctx) => {
318
+ if (!isAuthorized(ctx.from, config.allowedUserId)) {
319
+ await ctx.reply("Not authorized.");
320
+ return;
321
+ }
322
+ if (!config.bridgeRestart) {
323
+ await ctx.reply("Restart command not configured. Set OPENCODE_BRIDGE_RESTART_COMMAND to enable this.");
324
+ return;
325
+ }
326
+ await ctx.reply("Restarting opencode-telegram-bridge...");
327
+ const result = await runRestartCommand(config.bridgeRestart);
328
+ if (!result.configured) {
329
+ await ctx.reply("Restart command not configured. Set OPENCODE_BRIDGE_RESTART_COMMAND to enable this.");
330
+ return;
331
+ }
332
+ if (result.error) {
333
+ console.error("Failed to restart opencode-telegram-bridge", result.error);
334
+ const stderr = result.stderr;
335
+ const errorMessage = formatCommandOutput(result.error.message);
336
+ const detail = stderr ?? errorMessage;
337
+ const suffix = detail ? `\n${detail}` : "";
338
+ await ctx.reply(`Bridge restart failed.${suffix}`);
339
+ return;
340
+ }
341
+ if (result.stderr) {
342
+ console.warn("Bridge restart stderr", { stderr: result.stderr });
343
+ }
344
+ });
294
345
  bot.on("callback_query", async (ctx) => {
295
346
  const callbackQuery = ctx.callbackQuery;
296
347
  if (!callbackQuery || !("data" in callbackQuery)) {
@@ -404,6 +455,9 @@ export const startBot = (config, opencode, projects, chatProjects) => {
404
455
  });
405
456
  });
406
457
  bot.launch();
458
+ void bot.telegram
459
+ .setMyCommands(buildBotCommands())
460
+ .catch((error) => console.error("Failed to set bot commands", error));
407
461
  return bot;
408
462
  };
409
463
  //# sourceMappingURL=bot.js.map
package/dist/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -4,14 +4,15 @@ export type BotConfig = {
4
4
  opencode: OpencodeConfig;
5
5
  handlerTimeoutMs: number;
6
6
  promptTimeoutMs: number;
7
- opencodeRestart?: OpencodeRestartConfig;
7
+ opencodeRestart?: RestartCommandConfig;
8
+ bridgeRestart?: RestartCommandConfig;
8
9
  };
9
10
  export type OpencodeConfig = {
10
11
  serverUrl: string;
11
12
  serverUsername: string;
12
13
  serverPassword?: string;
13
14
  };
14
- export type OpencodeRestartConfig = {
15
+ export type RestartCommandConfig = {
15
16
  command: string;
16
17
  timeoutMs: number;
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,cAAc,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AA+BD,eAAO,MAAM,UAAU,QAAO,SAmE7B,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,cAAc,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AA+BD,eAAO,MAAM,UAAU,QAAO,SA4F7B,CAAA"}
package/dist/config.js CHANGED
@@ -49,6 +49,17 @@ export const loadConfig = () => {
49
49
  timeoutMs: restartTimeoutMs ?? 30_000,
50
50
  }
51
51
  : undefined;
52
+ const bridgeRestartCommand = process.env.OPENCODE_BRIDGE_RESTART_COMMAND?.trim();
53
+ const bridgeRestartTimeoutMs = parseDurationMs(process.env.OPENCODE_BRIDGE_RESTART_TIMEOUT_MS, "OPENCODE_BRIDGE_RESTART_TIMEOUT_MS");
54
+ if (!bridgeRestartCommand && bridgeRestartTimeoutMs !== undefined) {
55
+ throw new Error("OPENCODE_BRIDGE_RESTART_TIMEOUT_MS requires OPENCODE_BRIDGE_RESTART_COMMAND");
56
+ }
57
+ const bridgeRestart = bridgeRestartCommand
58
+ ? {
59
+ command: bridgeRestartCommand,
60
+ timeoutMs: bridgeRestartTimeoutMs ?? 30_000,
61
+ }
62
+ : undefined;
52
63
  const baseConfig = {
53
64
  botToken,
54
65
  allowedUserId,
@@ -56,12 +67,19 @@ export const loadConfig = () => {
56
67
  handlerTimeoutMs,
57
68
  promptTimeoutMs,
58
69
  };
70
+ let config = baseConfig;
59
71
  if (opencodeRestart) {
60
- return {
61
- ...baseConfig,
72
+ config = {
73
+ ...config,
62
74
  opencodeRestart,
63
75
  };
64
76
  }
65
- return baseConfig;
77
+ if (bridgeRestart) {
78
+ config = {
79
+ ...config,
80
+ bridgeRestart,
81
+ };
82
+ }
83
+ return config;
66
84
  };
67
85
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ Set these environment variables in `.env` or in your service environment.
14
14
  - `TELEGRAM_HANDLER_TIMEOUT_MS` - Telegraf handler timeout in milliseconds (default: prompt timeout + 30000).
15
15
  - `OPENCODE_RESTART_COMMAND` - Command to restart OpenCode when `/reboot` is used (example: `sudo -n systemctl restart opencode`).
16
16
  - `OPENCODE_RESTART_TIMEOUT_MS` - Restart command timeout in milliseconds (default: 30000).
17
+ - `OPENCODE_BRIDGE_RESTART_COMMAND` - Command to restart the Telegram bridge when `/restart` is used (example: `sudo -n systemctl restart opencode-telegram-bridge`).
18
+ - `OPENCODE_BRIDGE_RESTART_TIMEOUT_MS` - Restart command timeout in milliseconds (default: 30000).
17
19
 
18
20
  ## Data storage
19
21
  - Project aliases and chat selections are stored in `~/.opencode-telegram-bridge/projects.db`.
package/docs/index.md CHANGED
@@ -1,8 +1,10 @@
1
- # OpenCode Telegram Bridge Docs
1
+ # OpenCode Telegram Bridge
2
+
3
+ Run a Telegram bot that forwards messages to an OpenCode backend and returns responses. This site is a minimal, markdown-first reference for operating the bridge.
2
4
 
3
5
  Start here:
4
- - `installation.md`
5
- - `configuration.md`
6
- - `usage.md`
7
- - `systemd.md`
8
- - `release.md`
6
+ - Installation
7
+ - Configuration
8
+ - Usage
9
+ - Systemd
10
+ - Release
package/docs/release.md CHANGED
@@ -2,7 +2,63 @@
2
2
 
3
3
  This project is published as an npm package.
4
4
 
5
- ## Changesets workflow
5
+ ## Mental model
6
+ Every CI run (PRs and pushes) requires a changeset for non-doc changes or it
7
+ fails. A push to `main` creates or updates the release PR. A merged PR leads to
8
+ a push to `main`, so it also updates the release PR. The release PR accumulates
9
+ changesets until it is merged. When the release PR is merged, npm publishes a
10
+ new version and a GitHub release is created using the accumulated changesets.
11
+
12
+ ## CI + release flowcharts
13
+
14
+ ### Pull request opened
15
+ ```
16
+ PR opened/updated
17
+ |
18
+ v
19
+ CI workflow (pull_request)
20
+ |
21
+ +--> npm ci
22
+ +--> changeset check (diff base...head)
23
+ | |
24
+ | +--> relevant change + no changeset -> FAIL
25
+ | +--> docs-only or has changeset -> OK
26
+ +--> typecheck + tests + build
27
+ |
28
+ v
29
+ Status checks gate merge to main
30
+ ```
31
+
32
+ ### Push to main
33
+ ```
34
+ Push to main
35
+ |
36
+ v
37
+ CI workflow (push)
38
+ |
39
+ +--> npm ci
40
+ +--> changeset check (diff before...after)
41
+ | |
42
+ | +--> relevant change + no changeset -> FAIL
43
+ | +--> docs-only or has changeset -> OK
44
+ +--> typecheck + tests + build
45
+ |
46
+ v
47
+ Release workflow (push)
48
+ |
49
+ +--> changesets/action
50
+ |
51
+ +--> changesets present?
52
+ | |
53
+ | +--> yes: create/update release PR (changeset-release/main)
54
+ | | (no publish)
55
+ | |
56
+ | +--> no: run `npm run release` (publish to npm)
57
+ |
58
+ +--> if published: create GitHub release tag (unless it already exists)
59
+ ```
60
+
61
+ ## Manual release (local)
6
62
  1. Add a changeset for your change:
7
63
 
8
64
  ```bash
@@ -23,22 +79,11 @@ npm run release
23
79
 
24
80
  The `prepublishOnly` script runs the build to ensure `dist/` is included.
25
81
 
26
- ## Automated releases (GitHub Actions)
27
- This repository ships a release workflow that:
28
- - Opens a release PR when changesets are present.
29
- - Publishes to npm when that PR is merged.
30
- - Creates a GitHub release tagged with the published version.
31
-
32
- ### Required setup
82
+ ## Required setup (GitHub Actions)
33
83
  - Configure npm Trusted Publishing for this repo and workflow file (`release.yml`).
34
84
  - The workflow requires `id-token: write` permission to publish via OIDC.
35
85
  - npm CLI 11.5.1+ is required for trusted publishing.
36
86
 
37
- ### Flow
38
- 1. Merge changes with a changeset into `main`.
39
- 2. The workflow opens a release PR with version + changelog updates.
40
- 3. Merge the release PR to publish and create the GitHub release.
41
-
42
87
  ## CI enforcement
43
88
  CI fails if a relevant code change lands without a `.changeset/*.md` file.
44
89
  Docs-only updates (`docs/`, `README.md`, `.github/`) do not require a changeset.
@@ -54,9 +99,9 @@ pending changesets are read and the highest required bump wins.
54
99
  The changelog is generated from the text in the changeset files, not from
55
100
  commits. Each changeset contributes a short release note entry.
56
101
 
57
- ### Do commits or pushes equal a version?
58
- No. A version is created only when you run `npm run version` (or when an
59
- automated release does the same). Multiple commits can be part of one release.
102
+ ### Does each merged PR cause a new package version?
103
+ No. Merged PRs with changesets update the release PR. A new version is published
104
+ only when the release PR is merged.
60
105
 
61
106
  ### What happens if I push to main without a changeset?
62
107
  CI fails. Add a changeset in a follow-up commit and push again. Do not rewrite
@@ -65,8 +110,3 @@ history on main.
65
110
  ### Do I need one changeset per commit or per push?
66
111
  No. You need one changeset per release-worthy change (often one per PR). A
67
112
  single changeset can cover multiple commits.
68
-
69
- ### When are tags created?
70
- Tags are created when you run the release process (for example, after
71
- `npm run version` and `npm publish`). If CI fails due to a missing changeset,
72
- no tag is created yet.
package/docs/usage.md CHANGED
@@ -9,6 +9,7 @@
9
9
  - `/project set <alias>` - set the active project alias for this chat.
10
10
  - `/reset` - reset the OpenCode session for the active project.
11
11
  - `/reboot` - restart the OpenCode service and clear cached sessions (requires `OPENCODE_RESTART_COMMAND`).
12
+ - `/restart` - restart the Telegram bridge (requires `OPENCODE_BRIDGE_RESTART_COMMAND`).
12
13
 
13
14
  ## Notes
14
15
  - Only one prompt is processed at a time per chat.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-telegram-bridge",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -7,3 +7,5 @@ OPENCODE_PROMPT_TIMEOUT_MS=600000
7
7
  TELEGRAM_HANDLER_TIMEOUT_MS=630000
8
8
  OPENCODE_RESTART_COMMAND=
9
9
  OPENCODE_RESTART_TIMEOUT_MS=30000
10
+ OPENCODE_BRIDGE_RESTART_COMMAND=
11
+ OPENCODE_BRIDGE_RESTART_TIMEOUT_MS=30000