@wrongstack/telegram 0.295.0 → 0.296.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.
@@ -1 +1 @@
1
- {"version":3,"file":"outbound-queue.d.ts","sourceRoot":"","sources":["../src/outbound-queue.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAaD,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAWD,qBAAa,aAAa;;IAqBxB,YAAY,IAAI,EAAE,oBAAoB,EASrC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CA0D9C;IAED,0EAA0E;IAC1E,KAAK,IAAI,kBAAkB,CAW1B;IAED;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB1B;CAyFF"}
1
+ {"version":3,"file":"outbound-queue.d.ts","sourceRoot":"","sources":["../src/outbound-queue.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAaD,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAWD,qBAAa,aAAa;;IAqBxB,YAAY,IAAI,EAAE,oBAAoB,EASrC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CA6D9C;IAED,0EAA0E;IAC1E,KAAK,IAAI,kBAAkB,CAW1B;IAED;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB1B;CAuFF"}
@@ -1 +1 @@
1
- {"version":3,"file":"poll-lock.d.ts","sourceRoot":"","sources":["../src/poll-lock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAsBrD,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAqB,GAAG,MAAM,CAGvF;AAED,qBAAa,QAAQ;IAYjB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAX3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,KAAK,CAAS;IAEtB,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAElC,YACW,QAAQ,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,eAAe,EAKvB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;;OAGG;IACH,UAAU,IAAI,OAAO,CA8BpB;IAED,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CASd;IAMD,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,UAAU;CAUnB"}
1
+ {"version":3,"file":"poll-lock.d.ts","sourceRoot":"","sources":["../src/poll-lock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAsBrD,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAqB,GAAG,MAAM,CAGvF;AAED,qBAAa,QAAQ;IAYjB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAX3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,KAAK,CAAS;IAEtB,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAElC,YACW,QAAQ,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,eAAe,EAKvB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;;OAGG;IACH,UAAU,IAAI,OAAO,CA8BpB;IAED,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CASd;IAMD,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,UAAU;CAUnB"}
@@ -9,6 +9,13 @@ export interface TokenBucket {
9
9
  waitForToken(timeoutMs?: number | undefined): Promise<void>;
10
10
  /** Current fill level (for diagnostics). */
11
11
  fill(): number;
12
+ /**
13
+ * True once the bucket has refilled to full capacity. A full, idle bucket
14
+ * holds no pacing state — recreating it yields an identical full bucket — so
15
+ * callers can safely evict it to bound a per-chat bucket map without losing
16
+ * any rate-limit state. A depleted (in-use) bucket is never full.
17
+ */
18
+ isFull(): boolean;
12
19
  }
13
20
  /**
14
21
  * Create a token bucket for a single chat.
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../src/rate-limiter.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,4CAA4C;IAC5C,IAAI,IAAI,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAoDxE"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../src/rate-limiter.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,4CAA4C;IAC5C,IAAI,IAAI,MAAM,CAAC;IACf;;;;;OAKG;IACH,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAyDxE"}
@@ -0,0 +1,106 @@
1
+ import type { Logger } from '@wrongstack/core/types';
2
+ /** Single counter with last-update timestamp. */
3
+ export interface Counter {
4
+ /** Total number of occurrences since the counter was created. */
5
+ count: number;
6
+ /** ISO-8601 timestamp of the most recent increment. */
7
+ lastAt: string;
8
+ }
9
+ export interface Gauge {
10
+ /** Current value. */
11
+ value: number;
12
+ }
13
+ export interface Histogram {
14
+ count: number;
15
+ min: number;
16
+ max: number;
17
+ sum: number;
18
+ }
19
+ export interface TelegramTelemetrySnapshot {
20
+ /** Time this snapshot was generated. */
21
+ generatedAt: string;
22
+ poll: {
23
+ /** Total successful polls. */
24
+ success: Counter;
25
+ /** Total failed polls (any error). */
26
+ failure: Counter;
27
+ /** Current poll latency histogram (ms). */
28
+ latencyMs: Histogram;
29
+ /** Consecutive HTTP 409 conflict streak (reset on success). */
30
+ conflictStreak: Gauge;
31
+ };
32
+ updates: {
33
+ /** Total updates received via getUpdates. */
34
+ received: Counter;
35
+ /** Updates accepted (passed inbound auth). */
36
+ accepted: Counter;
37
+ /** Updates rejected (failed inbound auth). */
38
+ rejected: Counter;
39
+ /** Callback queries received. */
40
+ callbacks: Counter;
41
+ /** Callback queries settled (approved/denied). */
42
+ callbacksSettled: Counter;
43
+ /** Deduplicated updates (same update_id seen again). */
44
+ deduplicated: Counter;
45
+ /** Current cursor offset. */
46
+ cursorOffset: Gauge;
47
+ };
48
+ retry: {
49
+ /** Total retry attempts across all operations. */
50
+ attempts: Counter;
51
+ /** HTTP 429 rate-limit responses handled. */
52
+ rateLimited: Counter;
53
+ /** Terminal (non-retryable) errors. */
54
+ terminalErrors: Counter;
55
+ };
56
+ queue: {
57
+ /** Total items enqueued (all kinds). */
58
+ enqueued: Counter;
59
+ /** Total items sent successfully. */
60
+ sent: Counter;
61
+ /** Total items dropped (overflow). */
62
+ dropped: Counter;
63
+ /** Total send failures. */
64
+ failures: Counter;
65
+ /** Current in-flight count. */
66
+ inflight: Gauge;
67
+ /** Current pending count. */
68
+ pending: Gauge;
69
+ };
70
+ approvals: {
71
+ /** Total approval requests created. */
72
+ created: Counter;
73
+ /** Approvals that timed out. */
74
+ timedOut: Counter;
75
+ /** Approvals that were cancelled (abort). */
76
+ cancelled: Counter;
77
+ /** Approvals settled by user action. */
78
+ settled: Counter;
79
+ };
80
+ locks: {
81
+ /** Acquire attempts (including re-acquire). */
82
+ acquireAttempts: Counter;
83
+ /** Successful acquires. */
84
+ acquires: Counter;
85
+ /** Lost locks (stolen by another instance). */
86
+ lost: Counter;
87
+ /** Releases. */
88
+ releases: Counter;
89
+ /** Current held state. */
90
+ held: Gauge;
91
+ };
92
+ }
93
+ export declare function newCounter(): Counter;
94
+ export declare function bumpCounter(c: Counter): void;
95
+ export declare function newGauge(v?: number): Gauge;
96
+ export declare function newHistogram(): Histogram;
97
+ export declare function observeHistogram(h: Histogram, ms: number): void;
98
+ export declare class TelegramTelemetry {
99
+ readonly snapshot: TelegramTelemetrySnapshot;
100
+ constructor();
101
+ /** Produce a snapshot and log key metrics. The host Logger contract is
102
+ * string-only, so we format counters into one concise line that can be
103
+ * grepped for `telegram.metrics`. */
104
+ logSnapshot(log: Logger): void;
105
+ }
106
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/telegram",
3
- "version": "0.295.0",
3
+ "version": "0.296.2",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack plugin — Telegram bridge: send messages, receive prompts, get notified.",
6
6
  "repository": {
@@ -25,12 +25,12 @@
25
25
  "dist"
26
26
  ],
27
27
  "peerDependencies": {
28
- "@wrongstack/core": "0.295.0"
28
+ "@wrongstack/core": "0.296.2"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^26.1.1",
32
32
  "typescript": "^7.0.2",
33
- "@wrongstack/core": "0.295.0"
33
+ "@wrongstack/core": "0.296.2"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"