ccpoke 1.4.0 → 1.4.2

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 (36) hide show
  1. package/README.en.md +18 -3
  2. package/README.md +18 -3
  3. package/dist/channel/telegram/telegram-channel.d.ts +1 -2
  4. package/dist/channel/telegram/telegram-channel.js +99 -28
  5. package/dist/channel/telegram/telegram-channel.js.map +1 -1
  6. package/dist/channel/telegram/telegram-sender.js +2 -2
  7. package/dist/channel/telegram/telegram-sender.js.map +1 -1
  8. package/dist/channel/types.d.ts +1 -2
  9. package/dist/commands/setup.js +81 -40
  10. package/dist/commands/setup.js.map +1 -1
  11. package/dist/hook/hook-handler.js +2 -5
  12. package/dist/hook/hook-handler.js.map +1 -1
  13. package/dist/i18n/locales/en.js +12 -11
  14. package/dist/i18n/locales/en.js.map +1 -1
  15. package/dist/i18n/locales/vi.js +12 -11
  16. package/dist/i18n/locales/vi.js.map +1 -1
  17. package/dist/i18n/locales/zh.js +12 -11
  18. package/dist/i18n/locales/zh.js.map +1 -1
  19. package/dist/i18n/types.d.ts +11 -10
  20. package/dist/index.js +4 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/monitor/transcript-parser.d.ts +1 -3
  23. package/dist/monitor/transcript-parser.js +5 -9
  24. package/dist/monitor/transcript-parser.js.map +1 -1
  25. package/dist/utils/constants.d.ts +3 -0
  26. package/dist/utils/constants.js +3 -0
  27. package/dist/utils/constants.js.map +1 -1
  28. package/dist/utils/log.d.ts +1 -0
  29. package/dist/utils/log.js +5 -6
  30. package/dist/utils/log.js.map +1 -1
  31. package/dist/utils/response-store.d.ts +1 -2
  32. package/dist/utils/response-store.js.map +1 -1
  33. package/dist/utils/version-check.d.ts +1 -0
  34. package/dist/utils/version-check.js +87 -0
  35. package/dist/utils/version-check.js.map +1 -0
  36. package/package.json +4 -2
package/README.en.md CHANGED
@@ -35,7 +35,6 @@ Claude Code completes response
35
35
 
36
36
  - **Node.js** ≥ 18
37
37
  - **Telegram Bot Token** — create from [@BotFather](https://t.me/BotFather)
38
- - **Telegram User ID** — get from [@userinfobot](https://t.me/userinfobot)
39
38
 
40
39
  ## Getting Started
41
40
 
@@ -68,11 +67,27 @@ The setup wizard will guide you step by step:
68
67
  ```
69
68
  ┌ 🤖 ccpoke setup
70
69
 
70
+ ◇ Language
71
+ │ English
72
+
71
73
  ◇ Telegram Bot Token
72
74
  │ your-bot-token
73
75
 
74
- Your Telegram User ID
75
- your-user-id
76
+ Bot: @your_bot
77
+
78
+ ◇ Scan QR or open link to connect:
79
+ │ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
80
+ │ █ ▄▄▄▄▄ █▄▄████▀ ▄██▄▄█ ▄▄▄▄▄ █
81
+ │ █ █ █ █ ▀█ ▄▄▄▄▀▀▄▀ █ █ █ █
82
+ │ █ █▄▄▄█ █▄ ▄▄▀▄▀██▄ ▄█ █▄▄▄█ █
83
+ │ █▄▄▄▄▄▄▄█▄▀▄▀▄▀ █▄▀▄█▄█▄▄▄▄▄▄▄█
84
+ │ ...
85
+ │ █▄▄▄▄▄▄▄█▄███▄█▄███▄▄▄▄███▄█▄██
86
+ │ https://t.me/your_bot?start=setup
87
+
88
+ ◇ Waiting for you to send /start to the bot...
89
+
90
+ ◆ ✓ Connected! User ID: 123456789
76
91
 
77
92
  ◆ Config saved
78
93
  ◆ Hook installed → ~/.claude/settings.json
package/README.md CHANGED
@@ -35,7 +35,6 @@ Claude Code xong response
35
35
 
36
36
  - **Node.js** ≥ 18
37
37
  - **Telegram Bot Token** — tạo từ [@BotFather](https://t.me/BotFather)
38
- - **Telegram User ID** — lấy từ [@userinfobot](https://t.me/userinfobot)
39
38
 
40
39
  ## Bắt đầu
41
40
 
@@ -68,11 +67,27 @@ Setup wizard sẽ hướng dẫn từng bước:
68
67
  ```
69
68
  ┌ 🤖 ccpoke setup
70
69
 
70
+ ◇ Language
71
+ │ English
72
+
71
73
  ◇ Telegram Bot Token
72
74
  │ your-bot-token
73
75
 
74
- Your Telegram User ID
75
- your-user-id
76
+ Bot: @your_bot
77
+
78
+ ◇ Scan QR or open link to connect:
79
+ │ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
80
+ │ █ ▄▄▄▄▄ █▄▄████▀ ▄██▄▄█ ▄▄▄▄▄ █
81
+ │ █ █ █ █ ▀█ ▄▄▄▄▀▀▄▀ █ █ █ █
82
+ │ █ █▄▄▄█ █▄ ▄▄▀▄▀██▄ ▄█ █▄▄▄█ █
83
+ │ █▄▄▄▄▄▄▄█▄▀▄▀▄▀ █▄▀▄█▄█▄▄▄▄▄▄▄█
84
+ │ ...
85
+ │ █▄▄▄▄▄▄▄█▄███▄█▄███▄▄▄▄███▄█▄██
86
+ │ https://t.me/your_bot?start=setup
87
+
88
+ ◇ Waiting for you to send /start to the bot...
89
+
90
+ ◆ ✓ Connected! User ID: 123456789
76
91
 
77
92
  ◆ Config saved
78
93
  ◆ Hook installed → ~/.claude/settings.json
@@ -5,8 +5,7 @@ export declare class TelegramChannel implements NotificationChannel {
5
5
  private cfg;
6
6
  private chatId;
7
7
  private isDisconnected;
8
- private tunnelUrl;
9
- constructor(cfg: Config, tunnelUrl?: string | null);
8
+ constructor(cfg: Config);
10
9
  initialize(): Promise<void>;
11
10
  shutdown(): Promise<void>;
12
11
  sendNotification(data: NotificationData, responseUrl?: string): Promise<void>;
@@ -9,10 +9,8 @@ export class TelegramChannel {
9
9
  cfg;
10
10
  chatId = null;
11
11
  isDisconnected = false;
12
- tunnelUrl;
13
- constructor(cfg, tunnelUrl) {
12
+ constructor(cfg) {
14
13
  this.cfg = cfg;
15
- this.tunnelUrl = tunnelUrl ?? null;
16
14
  this.bot = new TelegramBot(cfg.telegram_bot_token, { polling: false });
17
15
  this.chatId = ConfigManager.loadChatState().chat_id;
18
16
  this.registerHandlers();
@@ -42,23 +40,26 @@ export class TelegramChannel {
42
40
  }
43
41
  formatNotification(data) {
44
42
  const parts = [];
45
- let header = `<b>${escapeHtml(data.projectName)}</b>`;
43
+ let header = `📦 *${escapeMarkdownV2(data.projectName)}*`;
46
44
  if (data.durationMs > 0) {
47
- header += ` ${escapeHtml(formatDuration(data.durationMs))}`;
45
+ header += ` · ${escapeMarkdownV2(formatDuration(data.durationMs))}`;
48
46
  }
49
47
  parts.push(header);
48
+ if (data.responseSummary) {
49
+ const snippet = extractProseSnippet(data.responseSummary, 150);
50
+ parts.push(escapeMarkdownV2(snippet + "..."));
51
+ }
50
52
  if (data.inputTokens > 0 || data.outputTokens > 0) {
51
- parts.push(`${t("notification.tokens")}: ${formatTokenCount(data.inputTokens)} → ${formatTokenCount(data.outputTokens)}`);
53
+ let statsLine = `📊 ${escapeMarkdownV2(formatTokenCount(data.inputTokens))} → ${escapeMarkdownV2(formatTokenCount(data.outputTokens))}`;
54
+ if (data.model) {
55
+ statsLine += ` · 🤖 ${escapeMarkdownV2(formatModelName(data.model))}`;
56
+ }
57
+ parts.push(statsLine);
52
58
  }
53
- if (data.cacheReadTokens > 0 || data.cacheCreationTokens > 0) {
54
- const cacheParts = [];
55
- if (data.cacheReadTokens > 0)
56
- cacheParts.push(`${formatTokenCount(data.cacheReadTokens)} ${t("notification.cacheRead")}`);
57
- if (data.cacheCreationTokens > 0)
58
- cacheParts.push(`${formatTokenCount(data.cacheCreationTokens)} ${t("notification.cacheWrite")}`);
59
- parts.push(`${t("notification.cache")}: ${cacheParts.join(", ")}`);
59
+ else if (data.model) {
60
+ parts.push(`🤖 ${escapeMarkdownV2(formatModelName(data.model))}`);
60
61
  }
61
- return parts.join("\n");
62
+ return parts.join("\n\n");
62
63
  }
63
64
  async registerCommands() {
64
65
  const translations = getTranslations();
@@ -74,7 +75,7 @@ export class TelegramChannel {
74
75
  }
75
76
  }
76
77
  async registerMenuButton() {
77
- const url = this.tunnelUrl ? `${this.tunnelUrl}/` : `${MINI_APP_BASE_URL}/`;
78
+ const url = `${MINI_APP_BASE_URL}/`;
78
79
  try {
79
80
  await this.bot.setChatMenuButton({
80
81
  menu_button: JSON.stringify({
@@ -90,7 +91,7 @@ export class TelegramChannel {
90
91
  }
91
92
  }
92
93
  registerHandlers() {
93
- this.bot.on("message", (msg) => {
94
+ this.bot.onText(/\/start(?:\s|$)/, (msg) => {
94
95
  if (!ConfigManager.isOwner(this.cfg, msg.from?.id ?? 0)) {
95
96
  log(t("bot.unauthorizedUser", {
96
97
  userId: msg.from?.id ?? 0,
@@ -98,18 +99,14 @@ export class TelegramChannel {
98
99
  }));
99
100
  return;
100
101
  }
101
- const text = msg.text ?? "";
102
- if (text === "/start") {
103
- if (this.chatId === msg.chat.id) {
104
- this.bot.sendMessage(msg.chat.id, t("bot.alreadyConnected"));
105
- return;
106
- }
107
- this.chatId = msg.chat.id;
108
- ConfigManager.saveChatState({ chat_id: this.chatId });
109
- log(t("bot.registeredChatId", { chatId: msg.chat.id }));
110
- this.bot.sendMessage(msg.chat.id, t("bot.ready"), { parse_mode: "MarkdownV2" });
102
+ if (this.chatId === msg.chat.id) {
103
+ this.bot.sendMessage(msg.chat.id, t("bot.alreadyConnected"));
111
104
  return;
112
105
  }
106
+ this.chatId = msg.chat.id;
107
+ ConfigManager.saveChatState({ chat_id: this.chatId });
108
+ log(t("bot.registeredChatId", { chatId: msg.chat.id }));
109
+ this.bot.sendMessage(msg.chat.id, t("bot.ready"), { parse_mode: "MarkdownV2" });
113
110
  });
114
111
  }
115
112
  registerPollingErrorHandler() {
@@ -127,8 +124,8 @@ export class TelegramChannel {
127
124
  });
128
125
  }
129
126
  }
130
- function escapeHtml(text) {
131
- return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
127
+ function escapeMarkdownV2(text) {
128
+ return text.replace(/[_*[\]()~`>#+\-=|{}.!\\]/g, (m) => `\\${m}`);
132
129
  }
133
130
  function formatDuration(ms) {
134
131
  const totalSeconds = Math.floor(ms / 1000);
@@ -145,4 +142,78 @@ function formatTokenCount(tokens) {
145
142
  return `${(tokens / 1_000).toFixed(1)}k`;
146
143
  return `${tokens}`;
147
144
  }
145
+ const PROVIDERS = {
146
+ "claude-": "",
147
+ "gpt-": "GPT-",
148
+ "gemini-": "Gemini ",
149
+ "deepseek-": "DeepSeek ",
150
+ "mistral-": "Mistral ",
151
+ "codestral-": "Codestral ",
152
+ "grok-": "Grok ",
153
+ "moonshot-": "Moonshot ",
154
+ "qwen-": "Qwen ",
155
+ };
156
+ function formatModelName(model) {
157
+ const dashIndex = model.indexOf("-");
158
+ if (dashIndex === -1)
159
+ return prettify(model);
160
+ const prefix = model.slice(0, dashIndex + 1);
161
+ const display = PROVIDERS[prefix];
162
+ if (display === undefined)
163
+ return prettify(model);
164
+ const rest = model.slice(dashIndex + 1);
165
+ return rest ? `${display}${prettify(rest)}` : model;
166
+ }
167
+ function prettify(s) {
168
+ return s
169
+ .replace(/-/g, " ")
170
+ .replace(/(\d+)\s(\d+)/g, "$1.$2")
171
+ .replace(/(^| )[a-z]/g, (c) => c.toUpperCase());
172
+ }
173
+ function extractProseSnippet(text, maxLength) {
174
+ const withoutCodeBlocks = text.replace(/```[\s\S]*?```/g, "").replace(/```[\s\S]*/g, "");
175
+ const paragraphs = withoutCodeBlocks.split(/\n\n+/);
176
+ const candidates = paragraphs
177
+ .map((p) => ({ raw: p.trim(), cleaned: stripInlineMarkdown(p.trim()) }))
178
+ .filter((c) => c.cleaned.length >= 20);
179
+ const prose = candidates.find((c) => !isStructuredBlock(c.raw));
180
+ if (prose)
181
+ return truncateAtWordBoundary(prose.cleaned, maxLength);
182
+ const fallback = candidates[0];
183
+ if (fallback)
184
+ return truncateAtWordBoundary(fallback.cleaned, maxLength);
185
+ return truncateAtWordBoundary(stripInlineMarkdown(text), maxLength);
186
+ }
187
+ function stripInlineMarkdown(text) {
188
+ return text
189
+ .replace(/\*\*(.+?)\*\*/g, "$1")
190
+ .replace(/(?<!\w)\*(.+?)\*(?!\w)/g, "$1")
191
+ .replace(/__(.+?)__/g, "$1")
192
+ .replace(/(?<!\w)_(.+?)_(?!\w)/g, "$1")
193
+ .replace(/`([^`]+)`/g, "$1")
194
+ .replace(/~~(.+?)~~/g, "$1")
195
+ .replace(/\[([^\]]+)\]\([^)]+\)/g, "$1");
196
+ }
197
+ function isStructuredBlock(line) {
198
+ if (/^\|.*\|/.test(line))
199
+ return true;
200
+ if (/^#{1,6}\s/.test(line))
201
+ return true;
202
+ if (/^\*\*[^*]+\*\*:?\s*$/.test(line))
203
+ return true;
204
+ const lines = line.split("\n");
205
+ const listLines = lines.filter((l) => /^\s*[-*•]\s|^\s*\d+[.)]\s/.test(l));
206
+ if (listLines.length > lines.length * 0.5)
207
+ return true;
208
+ return false;
209
+ }
210
+ function truncateAtWordBoundary(text, maxLength) {
211
+ const normalized = text.replace(/\n+/g, " ").replace(/\s+/g, " ").trim();
212
+ if (normalized.length <= maxLength)
213
+ return normalized;
214
+ const truncated = normalized.slice(0, maxLength);
215
+ const lastSpace = truncated.lastIndexOf(" ");
216
+ const cut = lastSpace > maxLength * 0.6 ? truncated.slice(0, lastSpace) : truncated;
217
+ return cut;
218
+ }
148
219
  //# sourceMappingURL=telegram-channel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-channel.js","sourceRoot":"","sources":["../../../src/channel/telegram/telegram-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-channel.js","sourceRoot":"","sources":["../../../src/channel/telegram/telegram-channel.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ export async function sendTelegramMessage(bot, chatId, text, responseUrl) {
9
9
  for (let i = 0; i < pages.length; i++) {
10
10
  let content = pages[i];
11
11
  if (pages.length > 1) {
12
- content = `${content}\n\n<i>[${i + 1}/${pages.length}]</i>`;
12
+ content = `${content}\n\n_\\[${i + 1}/${pages.length}\\]_`;
13
13
  }
14
14
  const isLastPage = i === pages.length - 1;
15
- const opts = { parse_mode: "HTML" };
15
+ const opts = { parse_mode: "MarkdownV2" };
16
16
  if (isLastPage && responseUrl) {
17
17
  opts.reply_markup = buildResponseReplyMarkup(responseUrl);
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-sender.js","sourceRoot":"","sources":["../../../src/channel/telegram/telegram-sender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-sender.js","sourceRoot":"","sources":["../../../src/channel/telegram/telegram-sender.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,7 @@ export interface NotificationData {
11
11
  gitChanges: GitChange[];
12
12
  inputTokens: number;
13
13
  outputTokens: number;
14
- cacheCreationTokens: number;
15
- cacheReadTokens: number;
14
+ model: string;
16
15
  }
17
16
  export interface GitChange {
18
17
  file: string;
@@ -1,9 +1,11 @@
1
1
  import * as p from "@clack/prompts";
2
+ import TelegramBot from "node-telegram-bot-api";
3
+ import qrcode from "qrcode-terminal";
2
4
  import { ConfigManager } from "../config-manager.js";
3
5
  import { HookInstaller } from "../hook/hook-installer.js";
4
6
  import { detectCliPrefix } from "../utils/install-detection.js";
5
7
  import { t, setLocale, SUPPORTED_LOCALES, LOCALE_LABELS } from "../i18n/index.js";
6
- import { DEFAULT_HOOK_PORT } from "../utils/constants.js";
8
+ import { DEFAULT_HOOK_PORT, SETUP_WAIT_TIMEOUT_MS } from "../utils/constants.js";
7
9
  export async function runSetup() {
8
10
  p.intro(t("setup.intro"));
9
11
  let existing = null;
@@ -11,15 +13,17 @@ export async function runSetup() {
11
13
  existing = ConfigManager.load();
12
14
  }
13
15
  catch {
14
- // first-time setup, no existing config
16
+ // first-time setup
15
17
  }
16
18
  const locale = await promptLanguage(existing);
17
19
  setLocale(locale);
18
- const credentials = await promptCredentials(existing);
19
- const config = buildConfig(credentials, existing, locale);
20
+ const token = await promptToken(existing);
21
+ const botUsername = await verifyToken(token);
22
+ const userId = await waitForUserStart(token, botUsername);
23
+ const config = buildConfig(token, userId, existing, locale);
20
24
  saveConfig(config);
21
25
  installHook(config);
22
- registerChatId(config.user_id);
26
+ registerChatId(userId);
23
27
  const startCommand = detectCliPrefix();
24
28
  p.outro(t("setup.complete", { command: startCommand }));
25
29
  return config;
@@ -39,45 +43,82 @@ async function promptLanguage(existing) {
39
43
  }
40
44
  return result;
41
45
  }
42
- async function promptCredentials(existing) {
43
- const result = await p.group({
44
- token: () => p.text({
45
- message: t("setup.tokenMessage"),
46
- placeholder: t("setup.tokenPlaceholder"),
47
- initialValue: existing?.telegram_bot_token ?? "",
48
- validate(value) {
49
- if (!value || !value.trim())
50
- return t("setup.tokenRequired");
51
- if (!value.includes(":"))
52
- return t("setup.tokenInvalidFormat");
53
- },
54
- }),
55
- userId: () => p.text({
56
- message: t("setup.userIdMessage"),
57
- placeholder: t("setup.userIdPlaceholder"),
58
- initialValue: existing?.user_id?.toString() ?? "",
59
- validate(value) {
60
- if (!value || !value.trim())
61
- return t("setup.userIdRequired");
62
- if (isNaN(parseInt(value, 10)))
63
- return t("setup.userIdMustBeNumber");
64
- },
65
- }),
66
- }, {
67
- onCancel: () => {
68
- p.cancel(t("setup.cancelled"));
69
- process.exit(0);
46
+ async function promptToken(existing) {
47
+ const result = await p.text({
48
+ message: t("setup.tokenMessage"),
49
+ placeholder: t("setup.tokenPlaceholder"),
50
+ initialValue: existing?.telegram_bot_token ?? "",
51
+ validate(value) {
52
+ if (!value || !value.trim())
53
+ return t("setup.tokenRequired");
54
+ if (!value.includes(":"))
55
+ return t("setup.tokenInvalidFormat");
70
56
  },
71
57
  });
72
- return {
73
- token: result.token.trim(),
74
- userId: parseInt(result.userId.trim(), 10),
75
- };
58
+ if (p.isCancel(result)) {
59
+ p.cancel(t("setup.cancelled"));
60
+ process.exit(0);
61
+ }
62
+ return result.trim();
63
+ }
64
+ async function verifyToken(token) {
65
+ const spinner = p.spinner();
66
+ spinner.start(t("setup.verifyingToken"));
67
+ try {
68
+ const bot = new TelegramBot(token);
69
+ const me = await bot.getMe();
70
+ spinner.stop(t("setup.botVerified", { username: me.username ?? "unknown" }));
71
+ return me.username ?? "unknown";
72
+ }
73
+ catch {
74
+ spinner.stop(t("setup.tokenVerifyFailed"));
75
+ throw new Error(t("setup.tokenVerifyFailed"));
76
+ }
77
+ }
78
+ async function waitForUserStart(token, botUsername) {
79
+ const deepLink = `https://t.me/${botUsername}?start=setup`;
80
+ p.log.step(t("setup.scanOrClick"));
81
+ const qrString = await new Promise((resolve) => {
82
+ qrcode.generate(deepLink, { small: true }, (code) => {
83
+ resolve(code);
84
+ });
85
+ });
86
+ const indentedQr = qrString
87
+ .split("\n")
88
+ .filter((line) => line.trim())
89
+ .map((line) => `│ ${line}`)
90
+ .join("\n");
91
+ process.stdout.write(`${indentedQr}\n│\n│ ${deepLink}\n`);
92
+ p.log.step(t("setup.waitingForStart"));
93
+ const bot = new TelegramBot(token, { polling: true });
94
+ try {
95
+ const userId = await new Promise((resolve, reject) => {
96
+ const timeout = setTimeout(() => {
97
+ bot.stopPolling();
98
+ reject(new Error(t("setup.waitingTimeout", { seconds: SETUP_WAIT_TIMEOUT_MS / 1000 })));
99
+ }, SETUP_WAIT_TIMEOUT_MS);
100
+ bot.onText(/\/start(?:\s|$)/, (msg) => {
101
+ clearTimeout(timeout);
102
+ bot
103
+ .sendMessage(msg.chat.id, t("setup.userDetected", { userId: msg.from.id }))
104
+ .finally(() => {
105
+ bot.stopPolling();
106
+ resolve(msg.from.id);
107
+ });
108
+ });
109
+ });
110
+ p.log.success(t("setup.userDetected", { userId }));
111
+ return userId;
112
+ }
113
+ catch (err) {
114
+ bot.stopPolling();
115
+ throw err;
116
+ }
76
117
  }
77
- function buildConfig(credentials, existing, locale) {
118
+ function buildConfig(token, userId, existing, locale) {
78
119
  return {
79
- telegram_bot_token: credentials.token,
80
- user_id: credentials.userId,
120
+ telegram_bot_token: token,
121
+ user_id: userId,
81
122
  hook_port: existing?.hook_port || DEFAULT_HOOK_PORT,
82
123
  hook_secret: existing?.hook_secret || ConfigManager.generateSecret(),
83
124
  locale,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,9 @@ export class HookHandler {
32
32
  let summary = {
33
33
  lastAssistantMessage: "",
34
34
  durationMs: 0,
35
- totalCostUSD: 0,
36
35
  inputTokens: 0,
37
36
  outputTokens: 0,
38
- cacheCreationTokens: 0,
39
- cacheReadTokens: 0,
37
+ model: "",
40
38
  };
41
39
  try {
42
40
  summary = parseTranscript(event.transcript_path);
@@ -56,8 +54,7 @@ export class HookHandler {
56
54
  gitChanges,
57
55
  inputTokens: summary.inputTokens,
58
56
  outputTokens: summary.outputTokens,
59
- cacheCreationTokens: summary.cacheCreationTokens,
60
- cacheReadTokens: summary.cacheReadTokens,
57
+ model: summary.model,
61
58
  };
62
59
  const responseUrl = this.buildResponseUrl(data);
63
60
  this.channel.sendNotification(data, responseUrl).catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"hook-handler.js","sourceRoot":"","sources":["../../src/hook/hook-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-handler.js","sourceRoot":"","sources":["../../src/hook/hook-handler.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export const en = {
18
18
  commands: {
19
19
  start: "Connect bot to this chat",
20
20
  },
21
- viewDetails: "📱 View details",
21
+ viewDetails: "View details",
22
22
  open: "Open",
23
23
  sendFailed: "send failed, falling back",
24
24
  sendFallbackFailed: "fallback also failed",
@@ -31,10 +31,13 @@ export const en = {
31
31
  tokenPlaceholder: "Get from @BotFather → /newbot",
32
32
  tokenRequired: "Bot token is required",
33
33
  tokenInvalidFormat: "Invalid format (expected: 123456:ABC-xxx)",
34
- userIdMessage: "Your Telegram User ID",
35
- userIdPlaceholder: "Send /start to @userinfobot",
36
- userIdRequired: "User ID is required",
37
- userIdMustBeNumber: "Must be a number",
34
+ verifyingToken: "Verifying token...",
35
+ botVerified: " Bot: @{username}",
36
+ scanOrClick: "Scan QR or open link to connect:",
37
+ waitingForStart: "Waiting for you to send /start to the bot...",
38
+ userDetected: "✓ Connected! User ID: {userId}",
39
+ tokenVerifyFailed: "Invalid bot token — could not reach Telegram API",
40
+ waitingTimeout: "Timed out waiting for /start ({seconds}s). Try again.",
38
41
  cancelled: "Setup cancelled.",
39
42
  configSaved: "Config saved",
40
43
  hookInstalled: "Hook installed → ~/.claude/settings.json",
@@ -115,15 +118,13 @@ export const en = {
115
118
  invalidHookPort: "invalid hook port: {port} (must be 1-65535)",
116
119
  hookAlreadyInstalled: "ccpoke hook already installed",
117
120
  },
118
- notification: {
119
- tokens: "tokens",
120
- cache: "cache",
121
- cacheRead: "read",
122
- cacheWrite: "write",
123
- },
124
121
  common: {
125
122
  unknownCommand: "unknown command: {command}",
126
123
  setupFailed: "setup failed",
127
124
  },
125
+ versionCheck: {
126
+ updateAvailable: "Update available! {current} → {latest}",
127
+ runToUpdate: "Run `{command}` to update",
128
+ },
128
129
  };
129
130
  //# sourceMappingURL=en.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/i18n/locales/en.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export const vi = {
18
18
  commands: {
19
19
  start: "Kết nối bot với chat này",
20
20
  },
21
- viewDetails: "📱 Xem chi tiết",
21
+ viewDetails: "Xem chi tiết",
22
22
  open: "Mở",
23
23
  sendFailed: "gửi thất bại, dùng fallback",
24
24
  sendFallbackFailed: "fallback cũng thất bại",
@@ -31,10 +31,13 @@ export const vi = {
31
31
  tokenPlaceholder: "Lấy từ @BotFather → /newbot",
32
32
  tokenRequired: "Bot token là bắt buộc",
33
33
  tokenInvalidFormat: "Sai định dạng (cần: 123456:ABC-xxx)",
34
- userIdMessage: "Telegram User ID của bạn",
35
- userIdPlaceholder: "Gửi /start cho @userinfobot",
36
- userIdRequired: "User ID bắt buộc",
37
- userIdMustBeNumber: "Phải số",
34
+ verifyingToken: "Đang xác thực token...",
35
+ botVerified: " Bot: @{username}",
36
+ scanOrClick: "Quét QR hoặc mở link để kết nối:",
37
+ waitingForStart: "Đang chờ bạn gửi /start cho bot...",
38
+ userDetected: "✓ Đã kết nối! User ID: {userId}",
39
+ tokenVerifyFailed: "Token không hợp lệ — không thể kết nối Telegram API",
40
+ waitingTimeout: "Hết thời gian chờ /start ({seconds}s). Vui lòng thử lại.",
38
41
  cancelled: "Đã hủy setup.",
39
42
  configSaved: "Đã lưu config",
40
43
  hookInstalled: "Đã cài hook → ~/.claude/settings.json",
@@ -115,15 +118,13 @@ export const vi = {
115
118
  invalidHookPort: "hook port không hợp lệ: {port} (phải từ 1-65535)",
116
119
  hookAlreadyInstalled: "ccpoke hook đã được cài rồi",
117
120
  },
118
- notification: {
119
- tokens: "token",
120
- cache: "cache",
121
- cacheRead: "đọc",
122
- cacheWrite: "ghi",
123
- },
124
121
  common: {
125
122
  unknownCommand: "lệnh không xác định: {command}",
126
123
  setupFailed: "setup thất bại",
127
124
  },
125
+ versionCheck: {
126
+ updateAvailable: "Có bản cập nhật mới! {current} → {latest}",
127
+ runToUpdate: "Chạy `{command}` để cập nhật",
128
+ },
128
129
  };
129
130
  //# sourceMappingURL=vi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vi.js","sourceRoot":"","sources":["../../../src/i18n/locales/vi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vi.js","sourceRoot":"","sources":["../../../src/i18n/locales/vi.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export const zh = {
18
18
  commands: {
19
19
  start: "将机器人连接到此聊天",
20
20
  },
21
- viewDetails: "📱 查看详情",
21
+ viewDetails: "查看详情",
22
22
  open: "打开",
23
23
  sendFailed: "发送失败,使用备用方式",
24
24
  sendFallbackFailed: "备用方式也失败",
@@ -31,10 +31,13 @@ export const zh = {
31
31
  tokenPlaceholder: "从 @BotFather → /newbot 获取",
32
32
  tokenRequired: "Bot token 为必填项",
33
33
  tokenInvalidFormat: "格式无效 (需要: 123456:ABC-xxx)",
34
- userIdMessage: "您的 Telegram 用户 ID",
35
- userIdPlaceholder: " @userinfobot 发送 /start",
36
- userIdRequired: "用户 ID 为必填项",
37
- userIdMustBeNumber: "必须是数字",
34
+ verifyingToken: "正在验证 token...",
35
+ botVerified: " Bot: @{username}",
36
+ scanOrClick: "扫描二维码或打开链接以连接:",
37
+ waitingForStart: "等待您向机器人发送 /start...",
38
+ userDetected: "✓ 已连接!用户 ID: {userId}",
39
+ tokenVerifyFailed: "无效的 bot token — 无法连接 Telegram API",
40
+ waitingTimeout: "等待 /start 超时 ({seconds}s)。请重试。",
38
41
  cancelled: "设置已取消。",
39
42
  configSaved: "配置已保存",
40
43
  hookInstalled: "Hook 已安装 → ~/.claude/settings.json",
@@ -115,15 +118,13 @@ export const zh = {
115
118
  invalidHookPort: "无效的 hook 端口: {port}(必须为 1-65535)",
116
119
  hookAlreadyInstalled: "ccpoke hook 已安装",
117
120
  },
118
- notification: {
119
- tokens: "tokens",
120
- cache: "cache",
121
- cacheRead: "读取",
122
- cacheWrite: "写入",
123
- },
124
121
  common: {
125
122
  unknownCommand: "未知命令: {command}",
126
123
  setupFailed: "setup 失败",
127
124
  },
125
+ versionCheck: {
126
+ updateAvailable: "发现新版本!{current} → {latest}",
127
+ runToUpdate: "运行 `{command}` 进行更新",
128
+ },
128
129
  };
129
130
  //# sourceMappingURL=zh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../../src/i18n/locales/zh.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAoB;IACjC,GAAG,EAAE;QACH,OAAO,EAAE,sBAAsB;QAC/B,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,kBAAkB;QACnC,kBAAkB,EAAE,OAAO;QAC3B,sBAAsB,EAAE,QAAQ;QAChC,oBAAoB,EAAE,YAAY;QAClC,gBAAgB,EAAE,UAAU;QAC5B,QAAQ,EAAE,2CAA2C;QACrD,kBAAkB,EAAE,QAAQ;QAC5B,gBAAgB,EAAE,kBAAkB;QACpC,gBAAgB,EAAE,6BAA6B;QAC/C,KAAK,EAAE,kDAAkD;QACzD,gBAAgB,EAAE,yBAAyB;QAC3C,cAAc,EAAE,8BAA8B;QAC9C,kBAAkB,EAAE,kBAAkB;QACtC,QAAQ,EAAE;YACR,KAAK,EAAE,YAAY;SACpB;QACD,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,aAAa;QACzB,kBAAkB,EAAE,SAAS;QAC7B,cAAc,EAAE,qBAAqB;QACrC,gBAAgB,EAAE,qCAAqC;KACxD;IAED,KAAK,EAAE;QACL,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,oBAAoB;QAClC,gBAAgB,EAAE,2BAA2B;QAC7C,aAAa,EAAE,gBAAgB;QAC/B,kBAAkB,EAAE,2BAA2B;QAC/C,aAAa,EAAE,mBAAmB;QAClC,iBAAiB,EAAE,0BAA0B;QAC7C,cAAc,EAAE,YAAY;QAC5B,kBAAkB,EAAE,OAAO;QAC3B,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,oCAAoC;QACnD,oBAAoB,EAAE,UAAU;QAChC,UAAU,EAAE,oBAAoB;QAChC,gBAAgB,EAAE,WAAW;QAC7B,QAAQ,EACN,6EAA6E;QAC/E,eAAe,EAAE,IAAI;KACtB;IAED,SAAS,EAAE;QACT,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,oCAAoC;QACjD,YAAY,EAAE,eAAe;QAC7B,aAAa,EAAE,0BAA0B;QACzC,cAAc,EAAE,qBAAqB;QACrC,YAAY,EAAE,kCAAkC;QAChD,cAAc,EAAE,wCAAwC;QACxD,IAAI,EAAE,YAAY;KACnB;IAED,MAAM,EAAE;QACN,KAAK,EAAE,cAAc;QACrB,gBAAgB,EAAE,4BAA4B;QAC9C,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,WAAW;QACrB,gBAAgB,EAAE,qBAAqB;QACvC,gBAAgB,EAAE,wBAAwB;QAC1C,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,iBAAiB;QAC3B,aAAa,EAAE,wBAAwB;QACvC,cAAc,EAAE,MAAM;QACtB,YAAY,EAAE,MAAM;QACpB,cAAc,EAAE,QAAQ;QACxB,kBAAkB,EAAE,cAAc;QAClC,OAAO,EAAE,aAAa;QACtB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,yBAAyB;QACpC,cAAc,EAAE,WAAW;QAC3B,aAAa,EAAE,OAAO;QACtB,QAAQ,EAAE,SAAS;QACnB,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,iDAAiD;QAClE,eAAe,EAAE,gBAAgB;KAClC;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,0CAA0C;QACjD,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,8BAA8B;QACxC,SAAS,EAAE,+BAA+B;QAC1C,YAAY,EAAE,iCAAiC;QAC/C,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,8CAA8C;KACrD;IAED,IAAI,EAAE;QACJ,eAAe,EAAE,+BAA+B;QAChD,cAAc,EAAE,4BAA4B;QAC5C,iBAAiB,EAAE,8CAA8C;QACjE,gBAAgB,EAAE,kBAAkB;QACpC,kBAAkB,EAAE,QAAQ;KAC7B;IAED,MAAM,EAAE;QACN,UAAU,EAAE,2BAA2B;QACvC,SAAS,EAAE,sBAAsB;QACjC,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,uBAAuB;QAC/B,YAAY,EAAE,qBAAqB;QACnC,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,qBAAqB;KAC/B;IAED,MAAM,EAAE;QACN,QAAQ,EAAE,6BAA6B;QACvC,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,uDAAuD;QACrE,aAAa,EAAE,mCAAmC;QAClD,WAAW,EAAE,+BAA+B;QAC5C,aAAa,EAAE,mCAAmC;QAClD,eAAe,EAAE,kCAAkC;QACnD,oBAAoB,EAAE,iBAAiB;KACxC;IAED,YAAY,EAAE;QACZ,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;KACjB;IAED,MAAM,EAAE;QACN,cAAc,EAAE,iBAAiB;QACjC,WAAW,EAAE,UAAU;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../../src/i18n/locales/zh.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,13 @@ export interface TranslationKeys {
31
31
  tokenPlaceholder: string;
32
32
  tokenRequired: string;
33
33
  tokenInvalidFormat: string;
34
- userIdMessage: string;
35
- userIdPlaceholder: string;
36
- userIdRequired: string;
37
- userIdMustBeNumber: string;
34
+ verifyingToken: string;
35
+ botVerified: string;
36
+ scanOrClick: string;
37
+ waitingForStart: string;
38
+ userDetected: string;
39
+ tokenVerifyFailed: string;
40
+ waitingTimeout: string;
38
41
  cancelled: string;
39
42
  configSaved: string;
40
43
  hookInstalled: string;
@@ -115,14 +118,12 @@ export interface TranslationKeys {
115
118
  invalidHookPort: string;
116
119
  hookAlreadyInstalled: string;
117
120
  };
118
- notification: {
119
- tokens: string;
120
- cache: string;
121
- cacheRead: string;
122
- cacheWrite: string;
123
- };
124
121
  common: {
125
122
  unknownCommand: string;
126
123
  setupFailed: string;
127
124
  };
125
+ versionCheck: {
126
+ updateAvailable: string;
127
+ runToUpdate: string;
128
+ };
128
129
  }
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ import { t } from "./i18n/index.js";
12
12
  import { TunnelManager } from "./utils/tunnel.js";
13
13
  import { log, logError } from "./utils/log.js";
14
14
  import { detectInstallMethod } from "./utils/install-detection.js";
15
+ import { checkForUpdates } from "./utils/version-check.js";
15
16
  const args = process.argv.slice(2);
16
17
  if (args.length > 0) {
17
18
  handleSubcommand(args);
@@ -40,21 +41,21 @@ async function startBot() {
40
41
  hookServer.start();
41
42
  log(`ccpoke: ${t("bot.started", { port: cfg.hook_port })}`);
42
43
  const tunnelManager = new TunnelManager();
43
- let tunnelUrl = null;
44
44
  try {
45
- tunnelUrl = await tunnelManager.start(cfg.hook_port);
45
+ const tunnelUrl = await tunnelManager.start(cfg.hook_port);
46
46
  log(t("tunnel.started", { url: tunnelUrl }));
47
47
  }
48
48
  catch (err) {
49
49
  logError(t("tunnel.failed"), err);
50
50
  }
51
- const channel = new TelegramChannel(cfg, tunnelUrl);
51
+ const channel = new TelegramChannel(cfg);
52
52
  const handler = new HookHandler(channel, cfg.hook_port, tunnelManager);
53
53
  hookServer.setHandler(handler);
54
54
  await channel.initialize();
55
55
  if (detectInstallMethod() === InstallMethod.Npx) {
56
56
  log(t("bot.globalInstallTip"));
57
57
  }
58
+ checkForUpdates().catch(() => { });
58
59
  const shutdown = async () => {
59
60
  log(t("bot.shuttingDown"));
60
61
  tunnelManager.stop();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  export interface TranscriptSummary {
2
2
  lastAssistantMessage: string;
3
3
  durationMs: number;
4
- totalCostUSD: number;
5
4
  inputTokens: number;
6
5
  outputTokens: number;
7
- cacheCreationTokens: number;
8
- cacheReadTokens: number;
6
+ model: string;
9
7
  }
10
8
  export declare function parseTranscript(transcriptPath: string): TranscriptSummary;
@@ -6,13 +6,11 @@ export function parseTranscript(transcriptPath) {
6
6
  const lines = raw.split("\n");
7
7
  let lastAssistantText = "";
8
8
  let summaryText = "";
9
- let totalCost = 0;
10
9
  let firstTimestamp = null;
11
10
  let lastTimestamp = null;
12
11
  let inputTokens = 0;
13
12
  let outputTokens = 0;
14
- let cacheCreationTokens = 0;
15
- let cacheReadTokens = 0;
13
+ let model = "";
16
14
  for (const line of lines) {
17
15
  if (!line.trim())
18
16
  continue;
@@ -31,7 +29,6 @@ export function parseTranscript(transcriptPath) {
31
29
  lastTimestamp = entryDate;
32
30
  }
33
31
  }
34
- totalCost += entry.costUSD ?? 0;
35
32
  if (entry.type === "summary" && entry.summary) {
36
33
  summaryText = entry.summary;
37
34
  }
@@ -44,11 +41,12 @@ export function parseTranscript(transcriptPath) {
44
41
  if (text) {
45
42
  lastAssistantText = text;
46
43
  }
44
+ if (msg.model) {
45
+ model = msg.model;
46
+ }
47
47
  if (msg.usage) {
48
48
  inputTokens += msg.usage.input_tokens ?? 0;
49
49
  outputTokens += msg.usage.output_tokens ?? 0;
50
- cacheCreationTokens += msg.usage.cache_creation_input_tokens ?? 0;
51
- cacheReadTokens += msg.usage.cache_read_input_tokens ?? 0;
52
50
  }
53
51
  }
54
52
  }
@@ -61,11 +59,9 @@ export function parseTranscript(transcriptPath) {
61
59
  return {
62
60
  lastAssistantMessage: finalMessage,
63
61
  durationMs,
64
- totalCostUSD: totalCost,
65
62
  inputTokens,
66
63
  outputTokens,
67
- cacheCreationTokens,
68
- cacheReadTokens,
64
+ model,
69
65
  };
70
66
  }
71
67
  function extractTextFromContent(parts) {
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-parser.js","sourceRoot":"","sources":["../../src/monitor/transcript-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-parser.js","sourceRoot":"","sources":["../../src/monitor/transcript-parser.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ export declare const ApiRoute: {
34
34
  };
35
35
  export declare const DEFAULT_HOOK_PORT = 9377;
36
36
  export declare const TUNNEL_TIMEOUT_MS = 30000;
37
+ export declare const SETUP_WAIT_TIMEOUT_MS = 120000;
37
38
  export declare const TRANSCRIPT_SETTLE_DELAY_MS = 500;
38
39
  export declare const MAX_STORED_RESPONSES = 100;
39
40
  export declare const RESPONSE_EXPIRE_MS: number;
@@ -42,3 +43,5 @@ export declare const SPLIT_LOOKBACK_RANGE = 200;
42
43
  export declare const MAX_GIT_SEARCH_DEPTH = 5;
43
44
  export declare const GIT_TIMEOUT_MS = 10000;
44
45
  export declare const MINI_APP_BASE_URL = "https://palooza-kaida.github.io/ccpoke";
46
+ export declare const NPM_REGISTRY_URL = "https://registry.npmjs.org/ccpoke/latest";
47
+ export declare const VERSION_CHECK_TIMEOUT_MS = 5000;
@@ -30,6 +30,7 @@ export const ApiRoute = {
30
30
  };
31
31
  export const DEFAULT_HOOK_PORT = 9377;
32
32
  export const TUNNEL_TIMEOUT_MS = 30_000;
33
+ export const SETUP_WAIT_TIMEOUT_MS = 120_000;
33
34
  export const TRANSCRIPT_SETTLE_DELAY_MS = 500;
34
35
  export const MAX_STORED_RESPONSES = 100;
35
36
  export const RESPONSE_EXPIRE_MS = 24 * 60 * 60 * 1000;
@@ -38,4 +39,6 @@ export const SPLIT_LOOKBACK_RANGE = 200;
38
39
  export const MAX_GIT_SEARCH_DEPTH = 5;
39
40
  export const GIT_TIMEOUT_MS = 10_000;
40
41
  export const MINI_APP_BASE_URL = "https://palooza-kaida.github.io/ccpoke";
42
+ export const NPM_REGISTRY_URL = "https://registry.npmjs.org/ccpoke/latest";
43
+ export const VERSION_CHECK_TIMEOUT_MS = 5_000;
41
44
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,IAAI;CACP,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,oBAAoB;IAClC,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,IAAI;CACP,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,oBAAoB;IAClC,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,0CAA0C,CAAC;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export declare function log(...args: unknown[]): void;
2
+ export declare function logWarn(...args: unknown[]): void;
2
3
  export declare function logError(message: string, err?: unknown): void;
package/dist/utils/log.js CHANGED
@@ -7,12 +7,11 @@ function formatError(err) {
7
7
  export function log(...args) {
8
8
  console.log(timestamp(), ...args);
9
9
  }
10
+ export function logWarn(...args) {
11
+ console.warn(timestamp(), "\x1b[33m" + args.map(String).join(" ") + "\x1b[0m");
12
+ }
10
13
  export function logError(message, err) {
11
- if (err !== undefined) {
12
- console.error(timestamp(), message, formatError(err));
13
- }
14
- else {
15
- console.error(timestamp(), message);
16
- }
14
+ const content = err !== undefined ? `${message} ${formatError(err)}` : message;
15
+ console.error(timestamp(), "\x1b[31m" + content + "\x1b[0m");
17
16
  }
18
17
  //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS;IAChB,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAe;IACpC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,GAAa;IACrD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS;IAChB,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAe;IACpC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAG,IAAe;IACxC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,GAAa;IACrD,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAC/D,CAAC"}
@@ -10,8 +10,7 @@ export interface StoredResponse {
10
10
  }>;
11
11
  inputTokens: number;
12
12
  outputTokens: number;
13
- cacheCreationTokens: number;
14
- cacheReadTokens: number;
13
+ model: string;
15
14
  timestamp: number;
16
15
  }
17
16
  declare class ResponseStore {
@@ -1 +1 @@
1
- {"version":3,"file":"response-store.js","sourceRoot":"","sources":["../../src/utils/response-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-store.js","sourceRoot":"","sources":["../../src/utils/response-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function checkForUpdates(): Promise<void>;
@@ -0,0 +1,87 @@
1
+ import { getPackageVersion } from "./paths.js";
2
+ import { logWarn } from "./log.js";
3
+ import { t } from "../i18n/index.js";
4
+ import { NPM_REGISTRY_URL, VERSION_CHECK_TIMEOUT_MS, InstallMethod, PackageManager, } from "./constants.js";
5
+ import { detectInstallMethod } from "./install-detection.js";
6
+ function isNewerVersion(current, latest) {
7
+ const currentParts = current.split(".").map(Number);
8
+ const latestParts = latest.split(".").map(Number);
9
+ for (let i = 0; i < Math.max(currentParts.length, latestParts.length); i++) {
10
+ const c = currentParts[i] ?? 0;
11
+ const l = latestParts[i] ?? 0;
12
+ if (l > c)
13
+ return true;
14
+ if (l < c)
15
+ return false;
16
+ }
17
+ return false;
18
+ }
19
+ function detectGlobalPackageManager() {
20
+ const scriptPath = process.argv[1] ?? "";
21
+ if (scriptPath.includes(PackageManager.Pnpm))
22
+ return PackageManager.Pnpm;
23
+ if (scriptPath.includes(PackageManager.Yarn))
24
+ return PackageManager.Yarn;
25
+ if (scriptPath.includes(PackageManager.Bun))
26
+ return PackageManager.Bun;
27
+ return PackageManager.Npm;
28
+ }
29
+ function getUpdateCommand() {
30
+ const method = detectInstallMethod();
31
+ switch (method) {
32
+ case InstallMethod.Npx:
33
+ return "npx ccpoke@latest";
34
+ case InstallMethod.GitClone:
35
+ return "git pull && npm run build";
36
+ case InstallMethod.Global: {
37
+ const pm = detectGlobalPackageManager();
38
+ return pm === PackageManager.Yarn
39
+ ? "yarn global add ccpoke"
40
+ : `${pm} install -g ccpoke@latest`;
41
+ }
42
+ }
43
+ }
44
+ function formatUpdateBox(currentVersion, latestVersion) {
45
+ const lines = [
46
+ "",
47
+ t("versionCheck.updateAvailable", { latest: latestVersion, current: currentVersion }),
48
+ t("versionCheck.runToUpdate", { command: getUpdateCommand() }),
49
+ "",
50
+ ];
51
+ const maxLen = Math.max(...lines.map((l) => l.length));
52
+ const border = "┃";
53
+ const top = "┏" + "━".repeat(maxLen + 2) + "┓";
54
+ const bottom = "┗" + "━".repeat(maxLen + 2) + "┛";
55
+ const boxLines = lines.map((l) => `${border} ${l.padEnd(maxLen)} ${border}`);
56
+ return [top, ...boxLines, bottom].join("\n");
57
+ }
58
+ async function fetchLatestVersion() {
59
+ try {
60
+ const controller = new AbortController();
61
+ const timeout = setTimeout(() => controller.abort(), VERSION_CHECK_TIMEOUT_MS);
62
+ const response = await fetch(NPM_REGISTRY_URL, {
63
+ signal: controller.signal,
64
+ headers: { Accept: "application/json" },
65
+ });
66
+ clearTimeout(timeout);
67
+ if (!response.ok)
68
+ return null;
69
+ const data = (await response.json());
70
+ return data.version ?? null;
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ export async function checkForUpdates() {
77
+ const currentVersion = getPackageVersion();
78
+ if (currentVersion === "unknown")
79
+ return;
80
+ const latestVersion = await fetchLatestVersion();
81
+ if (!latestVersion)
82
+ return;
83
+ if (isNewerVersion(currentVersion, latestVersion)) {
84
+ logWarn(formatUpdateBox(currentVersion, latestVersion));
85
+ }
86
+ }
87
+ //# sourceMappingURL=version-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccpoke",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "description": "Your AI agent pokes you when it's done — zero-config, one command: npx ccpoke",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -51,13 +51,15 @@
51
51
  "@clack/prompts": "^1.0.1",
52
52
  "cloudflared": "^0.7.1",
53
53
  "express": "^5.0.1",
54
- "node-telegram-bot-api": "^0.66.0"
54
+ "node-telegram-bot-api": "^0.66.0",
55
+ "qrcode-terminal": "^0.12.0"
55
56
  },
56
57
  "devDependencies": {
57
58
  "@eslint/js": "^10.0.1",
58
59
  "@types/express": "^5.0.0",
59
60
  "@types/node": "^22.13.4",
60
61
  "@types/node-telegram-bot-api": "^0.64.8",
62
+ "@types/qrcode-terminal": "^0.12.2",
61
63
  "eslint": "^10.0.0",
62
64
  "eslint-config-prettier": "^10.1.8",
63
65
  "eslint-plugin-prettier": "^5.5.5",