opencode-telegram-link 1.0.0-rc.1

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.
Files changed (82) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +464 -0
  3. package/container/broker.Dockerfile +30 -0
  4. package/container/entrypoint.sh +19 -0
  5. package/dist/broker/commands.d.ts +17 -0
  6. package/dist/broker/commands.d.ts.map +1 -0
  7. package/dist/broker/dashboard-html.d.ts +2 -0
  8. package/dist/broker/dashboard-html.d.ts.map +1 -0
  9. package/dist/broker/index.d.ts +3 -0
  10. package/dist/broker/index.d.ts.map +1 -0
  11. package/dist/broker/main.d.ts +3 -0
  12. package/dist/broker/main.d.ts.map +1 -0
  13. package/dist/broker/main.js +21896 -0
  14. package/dist/broker/main.js.map +110 -0
  15. package/dist/broker/registry.d.ts +92 -0
  16. package/dist/broker/registry.d.ts.map +1 -0
  17. package/dist/broker/server.d.ts +133 -0
  18. package/dist/broker/server.d.ts.map +1 -0
  19. package/dist/config.d.ts +76 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/doctor.d.ts +21 -0
  22. package/dist/doctor.d.ts.map +1 -0
  23. package/dist/i18n/catalogs.d.ts +120 -0
  24. package/dist/i18n/catalogs.d.ts.map +1 -0
  25. package/dist/i18n/index.d.ts +10 -0
  26. package/dist/i18n/index.d.ts.map +1 -0
  27. package/dist/opencode/bridge.d.ts +39 -0
  28. package/dist/opencode/bridge.d.ts.map +1 -0
  29. package/dist/opencode/config-helper.d.ts +20 -0
  30. package/dist/opencode/config-helper.d.ts.map +1 -0
  31. package/dist/opencode/events.d.ts +47 -0
  32. package/dist/opencode/events.d.ts.map +1 -0
  33. package/dist/opencode/index.d.ts +4 -0
  34. package/dist/opencode/index.d.ts.map +1 -0
  35. package/dist/plugin/client.d.ts +57 -0
  36. package/dist/plugin/client.d.ts.map +1 -0
  37. package/dist/plugin/commands.d.ts +4 -0
  38. package/dist/plugin/commands.d.ts.map +1 -0
  39. package/dist/plugin/index.d.ts +2 -0
  40. package/dist/plugin/index.d.ts.map +1 -0
  41. package/dist/plugin.d.ts +11 -0
  42. package/dist/plugin.d.ts.map +1 -0
  43. package/dist/plugin.js +16913 -0
  44. package/dist/plugin.js.map +95 -0
  45. package/dist/protocol/index.d.ts +792 -0
  46. package/dist/protocol/index.d.ts.map +1 -0
  47. package/dist/protocol/index.js +14540 -0
  48. package/dist/protocol/index.js.map +84 -0
  49. package/dist/setup.d.ts +77 -0
  50. package/dist/setup.d.ts.map +1 -0
  51. package/dist/state/database.d.ts +159 -0
  52. package/dist/state/database.d.ts.map +1 -0
  53. package/dist/state/discovery.d.ts +16 -0
  54. package/dist/state/discovery.d.ts.map +1 -0
  55. package/dist/state/identity.d.ts +19 -0
  56. package/dist/state/identity.d.ts.map +1 -0
  57. package/dist/state/index.d.ts +4 -0
  58. package/dist/state/index.d.ts.map +1 -0
  59. package/dist/telegram/api.d.ts +212 -0
  60. package/dist/telegram/api.d.ts.map +1 -0
  61. package/dist/telegram/authorization.d.ts +25 -0
  62. package/dist/telegram/authorization.d.ts.map +1 -0
  63. package/dist/telegram/commands.d.ts +20 -0
  64. package/dist/telegram/commands.d.ts.map +1 -0
  65. package/dist/telegram/index.d.ts +9 -0
  66. package/dist/telegram/index.d.ts.map +1 -0
  67. package/dist/telegram/interaction.d.ts +49 -0
  68. package/dist/telegram/interaction.d.ts.map +1 -0
  69. package/dist/telegram/outbox.d.ts +46 -0
  70. package/dist/telegram/outbox.d.ts.map +1 -0
  71. package/dist/telegram/poller.d.ts +26 -0
  72. package/dist/telegram/poller.d.ts.map +1 -0
  73. package/dist/telegram/render.d.ts +16 -0
  74. package/dist/telegram/render.d.ts.map +1 -0
  75. package/dist/telegram/transcriber.d.ts +20 -0
  76. package/dist/telegram/transcriber.d.ts.map +1 -0
  77. package/dist/uninstall.d.ts +12 -0
  78. package/dist/uninstall.d.ts.map +1 -0
  79. package/dist/version.d.ts +2 -0
  80. package/dist/version.d.ts.map +1 -0
  81. package/docker-compose.yml +19 -0
  82. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/telegram/interaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { z } from "zod";
2
+ import type { StateDatabase } from "../state";
3
+ import { type TelegramBotApi } from "./api";
4
+ export declare const TelegramOutboxPayloadSchema: z.ZodObject<{
5
+ text: z.ZodString;
6
+ parseMode: z.ZodOptional<z.ZodLiteral<"HTML">>;
7
+ disableNotification: z.ZodOptional<z.ZodBoolean>;
8
+ replyMarkup: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
9
+ binding: z.ZodOptional<z.ZodObject<{
10
+ route: z.ZodObject<{
11
+ machineId: z.ZodUUID;
12
+ instanceId: z.ZodUUID;
13
+ projectId: z.ZodString;
14
+ sessionId: z.ZodString;
15
+ routeGeneration: z.ZodUUID;
16
+ }, z.core.$strip>;
17
+ kind: z.ZodEnum<{
18
+ session_prompt: "session_prompt";
19
+ question_reply: "question_reply";
20
+ permission_notice: "permission_notice";
21
+ informational: "informational";
22
+ }>;
23
+ interactionId: z.ZodOptional<z.ZodString>;
24
+ expiresAt: z.ZodNumber;
25
+ callbackButtons: z.ZodOptional<z.ZodArray<z.ZodObject<{
26
+ text: z.ZodString;
27
+ action: z.ZodString;
28
+ payload: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>>>;
30
+ }, z.core.$strip>>;
31
+ }, z.core.$strip>;
32
+ export type TelegramOutboxPayload = z.infer<typeof TelegramOutboxPayloadSchema>;
33
+ export type TelegramOutboxWorkerOptions = {
34
+ api: TelegramBotApi;
35
+ database: StateDatabase;
36
+ maxAttempts?: number;
37
+ retryMinDelayMs?: number;
38
+ retryMaxDelayMs?: number;
39
+ random?: () => number;
40
+ };
41
+ export declare class TelegramOutboxWorker {
42
+ #private;
43
+ constructor(options: TelegramOutboxWorkerOptions);
44
+ deliverBatch(now: number, limit?: number): Promise<number>;
45
+ }
46
+ //# sourceMappingURL=outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../src/telegram/outbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAgB9D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBpC,CAAC;AACL,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,oBAAoB;;gBAQnB,OAAO,EAAE,2BAA2B;IAS1C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;CAyF7D"}
@@ -0,0 +1,26 @@
1
+ import type { StateDatabase } from "../state";
2
+ import { type TelegramBotApi, type TelegramUpdate } from "./api";
3
+ export type UpdateDisposition = {
4
+ disposition: "rejected" | "acknowledged" | "failed";
5
+ actionId?: string;
6
+ payloadHash?: string;
7
+ };
8
+ export type TelegramPollerOptions = {
9
+ api: TelegramBotApi;
10
+ database: StateDatabase;
11
+ handleUpdate: (update: TelegramUpdate) => UpdateDisposition | Promise<UpdateDisposition>;
12
+ longPollSeconds?: number;
13
+ maxConsecutiveFailures?: number;
14
+ retryMinDelayMs?: number;
15
+ retryMaxDelayMs?: number;
16
+ random?: () => number;
17
+ now?: () => number;
18
+ };
19
+ export declare class TelegramPoller {
20
+ #private;
21
+ constructor(options: TelegramPollerOptions);
22
+ get finished(): Promise<void>;
23
+ start(): Promise<void>;
24
+ stop(): Promise<void>;
25
+ }
26
+ //# sourceMappingURL=poller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/telegram/poller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAoB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAEnF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,cAAc;;gBAab,OAAO,EAAE,qBAAqB;IAY1C,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAmE5B"}
@@ -0,0 +1,16 @@
1
+ export type TelegramRenderOptions = {
2
+ maxLength?: number;
3
+ redactionPatterns?: RegExp[];
4
+ };
5
+ export type RenderedTelegramPayload = {
6
+ text: string;
7
+ parseMode?: "HTML";
8
+ };
9
+ export declare class TelegramRenderError extends Error {
10
+ constructor(message: string);
11
+ }
12
+ export declare function renderTelegramNotification(input: unknown, options?: TelegramRenderOptions): RenderedTelegramPayload;
13
+ export declare function sanitizeTelegramText(text: string, options?: TelegramRenderOptions): string;
14
+ export declare function formatLocalTime(isoString: string): string;
15
+ export declare function redactText(value: string, patterns?: RegExp[]): string;
16
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/telegram/render.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,qBAA0B,GAClC,uBAAuB,CAkBzB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAK9F;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAazD;AAqJD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,CAazE"}
@@ -0,0 +1,20 @@
1
+ export type VoiceTranscriberOptions = {
2
+ apiKey: string;
3
+ accountId?: string | undefined;
4
+ provider?: "groq" | "openai" | "cloudflare" | "custom" | undefined;
5
+ model?: string | undefined;
6
+ endpoint?: string | undefined;
7
+ language?: string | undefined;
8
+ fetchFn?: typeof fetch | undefined;
9
+ };
10
+ export declare class VoiceTranscriber {
11
+ #private;
12
+ constructor(options: VoiceTranscriberOptions);
13
+ transcribe(audioBuffer: Uint8Array, options?: {
14
+ mimeType?: string | undefined;
15
+ fileName?: string | undefined;
16
+ promptHint?: string | undefined;
17
+ signal?: AbortSignal | undefined;
18
+ }): Promise<string>;
19
+ }
20
+ //# sourceMappingURL=transcriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcriber.d.ts","sourceRoot":"","sources":["../../src/telegram/transcriber.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,qBAAa,gBAAgB;;gBASf,OAAO,EAAE,uBAAuB;IA+BtC,UAAU,CACd,WAAW,EAAE,UAAU,EACvB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;KAClC,GACA,OAAO,CAAC,MAAM,CAAC;CA4DnB"}
@@ -0,0 +1,12 @@
1
+ import { type InteractiveSetupOptions } from "./setup";
2
+ export declare function runInteractiveUninstall(options?: InteractiveSetupOptions): Promise<number>;
3
+ export declare function runUninstallCli(options?: {
4
+ argv?: string[];
5
+ env?: NodeJS.ProcessEnv;
6
+ stdout?: Pick<NodeJS.WriteStream, "write">;
7
+ stderr?: Pick<NodeJS.WriteStream, "write">;
8
+ stdin?: AsyncIterable<Buffer | string>;
9
+ fetch?: typeof fetch;
10
+ cwd?: string;
11
+ }): Promise<number>;
12
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,KAAK,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAG1E,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,CA+MjB;AAED,wBAAsB,eAAe,CACnC,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACT,GACL,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
@@ -0,0 +1,2 @@
1
+ export declare const PACKAGE_VERSION = "1.0.0-rc.1";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,eAAe,CAAC"}
@@ -0,0 +1,19 @@
1
+ services:
2
+ broker:
3
+ build:
4
+ context: .
5
+ dockerfile: container/broker.Dockerfile
6
+ image: opencode-telegram-broker:local
7
+ container_name: opencode-telegram-broker
8
+ restart: unless-stopped
9
+ ports:
10
+ - "127.0.0.1:42617:42617"
11
+ volumes:
12
+ - ${HOME}/.local/state/opencode-telegram-link:/state
13
+ - /etc/localtime:/etc/localtime:ro
14
+ environment:
15
+ - OPENCODE_TELEGRAM_CONTAINER=1
16
+ - OPENCODE_TELEGRAM_BOT_TOKEN_FILE=/state/telegram-bot-token
17
+ - OPENCODE_TELEGRAM_BROKER_STATE_DIR=/state
18
+ - TZ=${TZ:-Asia/Taipei}
19
+ command: ["start"]
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "opencode-telegram-link",
3
+ "version": "1.0.0-rc.1",
4
+ "description": "Privacy-first Telegram notifications and remote replies for OpenCode",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/proamo/opencode_notification.git"
8
+ },
9
+ "homepage": "https://github.com/proamo/opencode_notification#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/proamo/opencode_notification/issues"
12
+ },
13
+ "type": "module",
14
+ "main": "./dist/plugin.js",
15
+ "module": "./dist/plugin.js",
16
+ "license": "MIT",
17
+ "engines": {
18
+ "bun": ">=1.3.14"
19
+ },
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/plugin.d.ts",
23
+ "import": "./dist/plugin.js"
24
+ },
25
+ "./protocol": {
26
+ "types": "./dist/protocol/index.d.ts",
27
+ "import": "./dist/protocol/index.js"
28
+ }
29
+ },
30
+ "bin": {
31
+ "opencode-telegram-broker": "./dist/broker/main.js"
32
+ },
33
+ "files": [
34
+ "dist",
35
+ "container",
36
+ "docker-compose.yml",
37
+ "README.md",
38
+ "LICENSE"
39
+ ],
40
+ "scripts": {
41
+ "build": "bun run build:js && bun run build:types",
42
+ "build:js": "bun build src/plugin.ts src/protocol/index.ts src/broker/main.ts --outdir dist --target bun --format esm --sourcemap=external",
43
+ "build:types": "tsc --project tsconfig.build.json",
44
+ "check": "biome check . && tsc --noEmit",
45
+ "check:fix": "biome check --write .",
46
+ "license:check": "bun scripts/release-smoke.ts --license-only",
47
+ "prepack": "bun run build",
48
+ "release:changelog": "bun scripts/generate-changelog.ts",
49
+ "release:check": "bun run check && bun test && bun run license:check && bun run release:smoke && npm pack --dry-run",
50
+ "release:smoke": "bun scripts/release-smoke.ts",
51
+ "setup": "bun src/broker/main.ts setup",
52
+ "init": "bun src/broker/main.ts setup",
53
+ "uninstall": "bun src/broker/main.ts uninstall",
54
+ "test": "bun test",
55
+ "test:coverage": "bun test --coverage"
56
+ },
57
+ "dependencies": {
58
+ "zod": "^4.4.3"
59
+ },
60
+ "peerDependencies": {
61
+ "@opencode-ai/plugin": ">=1.18.0 <2"
62
+ },
63
+ "devDependencies": {
64
+ "@biomejs/biome": "^2.5.9",
65
+ "@opencode-ai/plugin": "^1.18.18",
66
+ "@types/bun": "^1.3.14",
67
+ "typescript": "^5.9.2"
68
+ },
69
+ "publishConfig": {
70
+ "access": "public",
71
+ "provenance": true
72
+ }
73
+ }