tg-claude 0.3.0 → 0.3.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.
@@ -13,6 +13,7 @@ export declare class EventAdapter {
13
13
  private _lastSessionId;
14
14
  private _textBuffer;
15
15
  private _hasQuestion;
16
+ private _lastQuestionHash;
16
17
  constructor(claudeProcess: ClaudeProcess, router: EventRouter, sessionId: string);
17
18
  /**
18
19
  * Subscribe to ClaudeProcess events and wire to router
@@ -1 +1 @@
1
- {"version":3,"file":"EventAdapter.d.ts","sourceRoot":"","sources":["../../src/claude/EventAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAS5D;;;;;GAKG;AACH,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,YAAY,CAAS;gBAGV,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM;IAKpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6EzB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"EventAdapter.d.ts","sourceRoot":"","sources":["../../src/claude/EventAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAS5D;;;;;GAKG;AACH,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR5B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuB;gBAG7B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM;IAKpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqFzB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -15,6 +15,7 @@ export class EventAdapter {
15
15
  _lastSessionId = null;
16
16
  _textBuffer = '';
17
17
  _hasQuestion = false;
18
+ _lastQuestionHash = null; // Dedupe repeated questions
18
19
  constructor(claudeProcess, router, sessionId) {
19
20
  this.claudeProcess = claudeProcess;
20
21
  this.router = router;
@@ -43,6 +44,13 @@ export class EventAdapter {
43
44
  });
44
45
  // Handle AskUserQuestion - publish prompt event to router
45
46
  this.claudeProcess.on('question', (event) => {
47
+ // Deduplicate repeated questions (Claude may retry while waiting for response)
48
+ const questionHash = `${event.question}:${event.options.map(o => o.label).join(',')}`;
49
+ if (this._lastQuestionHash === questionHash) {
50
+ console.log(`[ADAPTER] Skipping duplicate question: ${event.question.slice(0, 50)}...`);
51
+ return;
52
+ }
53
+ this._lastQuestionHash = questionHash;
46
54
  this._hasQuestion = true;
47
55
  console.log(`[ADAPTER] Question detected: ${event.question}`);
48
56
  // Convert to PromptOption format (index is 1-based)
@@ -124,6 +132,7 @@ export class EventAdapter {
124
132
  reset() {
125
133
  this._textBuffer = '';
126
134
  this._hasQuestion = false;
135
+ this._lastQuestionHash = null; // Allow same question in new turn
127
136
  }
128
137
  }
129
138
  //# sourceMappingURL=EventAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventAdapter.js","sourceRoot":"","sources":["../../src/claude/EventAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventAdapter.js","sourceRoot":"","sources":["../../src/claude/EventAdapter.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ function escapeHtml(text) {
18
18
  * Supports multi-turn conversations via Telegram with --resume.
19
19
  */
20
20
  // Package version for --version flag
21
- const VERSION = '0.3.0';
21
+ const VERSION = '0.3.1';
22
22
  // Detect sudo/root and exit early with fix instructions
23
23
  if (process.getuid && process.getuid() === 0) {
24
24
  console.error(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tg-claude",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Bridge between Claude Code CLI and Telegram for mobile interaction",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",