@a1hvdy/cc-openclaw 0.24.0 → 0.25.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.
- package/dist/src/channels/telegram-mirror/burst-accumulator.d.ts +96 -0
- package/dist/src/channels/telegram-mirror/burst-accumulator.js +130 -0
- package/dist/src/channels/telegram-mirror/burst-accumulator.js.map +1 -0
- package/dist/src/channels/telegram-mirror/callback-mapping.d.ts +61 -0
- package/dist/src/channels/telegram-mirror/callback-mapping.js +99 -0
- package/dist/src/channels/telegram-mirror/callback-mapping.js.map +1 -0
- package/dist/src/channels/telegram-mirror/card-renderer.d.ts +74 -0
- package/dist/src/channels/telegram-mirror/card-renderer.js +131 -0
- package/dist/src/channels/telegram-mirror/card-renderer.js.map +1 -0
- package/dist/src/channels/telegram-mirror/commands.d.ts +142 -0
- package/dist/src/channels/telegram-mirror/commands.js +389 -0
- package/dist/src/channels/telegram-mirror/commands.js.map +1 -0
- package/dist/src/channels/telegram-mirror/compose-buffer.d.ts +71 -0
- package/dist/src/channels/telegram-mirror/compose-buffer.js +110 -0
- package/dist/src/channels/telegram-mirror/compose-buffer.js.map +1 -0
- package/dist/src/channels/telegram-mirror/cost-views.d.ts +58 -0
- package/dist/src/channels/telegram-mirror/cost-views.js +121 -0
- package/dist/src/channels/telegram-mirror/cost-views.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.d.ts +21 -0
- package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.js +30 -0
- package/dist/src/channels/telegram-mirror/failure/callback-data-overflow.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/gateway-down.d.ts +15 -0
- package/dist/src/channels/telegram-mirror/failure/gateway-down.js +27 -0
- package/dist/src/channels/telegram-mirror/failure/gateway-down.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.d.ts +15 -0
- package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.js +27 -0
- package/dist/src/channels/telegram-mirror/failure/in-flight-conflict.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/index.d.ts +23 -0
- package/dist/src/channels/telegram-mirror/failure/index.js +35 -0
- package/dist/src/channels/telegram-mirror/failure/index.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/model-5xx.d.ts +16 -0
- package/dist/src/channels/telegram-mirror/failure/model-5xx.js +24 -0
- package/dist/src/channels/telegram-mirror/failure/model-5xx.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/network-blip.d.ts +17 -0
- package/dist/src/channels/telegram-mirror/failure/network-blip.js +25 -0
- package/dist/src/channels/telegram-mirror/failure/network-blip.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.d.ts +15 -0
- package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.js +24 -0
- package/dist/src/channels/telegram-mirror/failure/pool-exhausted-fallback.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/rate-limit.d.ts +16 -0
- package/dist/src/channels/telegram-mirror/failure/rate-limit.js +26 -0
- package/dist/src/channels/telegram-mirror/failure/rate-limit.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/returning-after-24h.d.ts +14 -0
- package/dist/src/channels/telegram-mirror/failure/returning-after-24h.js +33 -0
- package/dist/src/channels/telegram-mirror/failure/returning-after-24h.js.map +1 -0
- package/dist/src/channels/telegram-mirror/failure/types.d.ts +30 -0
- package/dist/src/channels/telegram-mirror/failure/types.js +9 -0
- package/dist/src/channels/telegram-mirror/failure/types.js.map +1 -0
- package/dist/src/channels/telegram-mirror/inbound-handler.d.ts +52 -0
- package/dist/src/channels/telegram-mirror/inbound-handler.js +115 -0
- package/dist/src/channels/telegram-mirror/inbound-handler.js.map +1 -0
- package/dist/src/channels/telegram-mirror/index.d.ts +30 -0
- package/dist/src/channels/telegram-mirror/index.js +49 -0
- package/dist/src/channels/telegram-mirror/index.js.map +1 -0
- package/dist/src/channels/telegram-mirror/plan-attachment.d.ts +120 -0
- package/dist/src/channels/telegram-mirror/plan-attachment.js +138 -0
- package/dist/src/channels/telegram-mirror/plan-attachment.js.map +1 -0
- package/dist/src/channels/telegram-mirror/quota-reader.d.ts +41 -0
- package/dist/src/channels/telegram-mirror/quota-reader.js +29 -0
- package/dist/src/channels/telegram-mirror/quota-reader.js.map +1 -0
- package/dist/src/channels/telegram-mirror/sessions-keyboard.d.ts +84 -0
- package/dist/src/channels/telegram-mirror/sessions-keyboard.js +113 -0
- package/dist/src/channels/telegram-mirror/sessions-keyboard.js.map +1 -0
- package/dist/src/channels/telegram-mirror/soak-log.d.ts +98 -0
- package/dist/src/channels/telegram-mirror/soak-log.js +136 -0
- package/dist/src/channels/telegram-mirror/soak-log.js.map +1 -0
- package/dist/src/channels/telegram-mirror/state-machine.d.ts +102 -0
- package/dist/src/channels/telegram-mirror/state-machine.js +117 -0
- package/dist/src/channels/telegram-mirror/state-machine.js.map +1 -0
- package/dist/src/channels/telegram-mirror/sync-commands.d.ts +63 -0
- package/dist/src/channels/telegram-mirror/sync-commands.js +51 -0
- package/dist/src/channels/telegram-mirror/sync-commands.js.map +1 -0
- package/dist/src/channels/telegram-mirror/threshold-watcher.d.ts +54 -0
- package/dist/src/channels/telegram-mirror/threshold-watcher.js +77 -0
- package/dist/src/channels/telegram-mirror/threshold-watcher.js.map +1 -0
- package/dist/src/command-router/cc-handler.js +1 -1
- package/dist/src/command-router/cc-handler.js.map +1 -1
- package/dist/src/index.js +12 -8
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/auto-recovery.js +1 -1
- package/dist/src/lib/auto-recovery.js.map +1 -1
- package/dist/src/lib/drift-detector.js +1 -1
- package/dist/src/lib/drift-detector.js.map +1 -1
- package/dist/src/lib/error-renderer.d.ts +23 -0
- package/dist/src/lib/error-renderer.js +106 -0
- package/dist/src/lib/error-renderer.js.map +1 -0
- package/dist/src/lib/perf/speculative-bubble.d.ts +27 -0
- package/dist/src/lib/perf/speculative-bubble.js +36 -0
- package/dist/src/lib/perf/speculative-bubble.js.map +1 -0
- package/dist/src/lib/session-registry.d.ts +66 -0
- package/dist/src/lib/session-registry.js +188 -0
- package/dist/src/lib/session-registry.js.map +1 -0
- package/dist/src/lib/telegram-bot-api.d.ts +100 -0
- package/dist/src/lib/telegram-bot-api.js +204 -0
- package/dist/src/lib/telegram-bot-api.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/state-machine.ts — v0.25.0 M2.
|
|
3
|
+
*
|
|
4
|
+
* Per-chat turn-lifecycle state machine for the Telegram Terminal Mirror.
|
|
5
|
+
* Consumes Claude stream events (tool_use / tool_result / text / turn_done)
|
|
6
|
+
* and produces a Turn object the card-renderer (sibling module) can format
|
|
7
|
+
* into Telegram message bodies.
|
|
8
|
+
*
|
|
9
|
+
* Naming note: this is NOT a 1:1 port of the legacy state-machine.ts —
|
|
10
|
+
* legacy is a message_sending cross-path-dedup hook. Per ADR-001 (mimic
|
|
11
|
+
* the terminal flow) the mirror's state-machine models what a user sees
|
|
12
|
+
* during a turn (running tools → completion), which is closer to a UI
|
|
13
|
+
* controller than legacy's API-dispatch hook. The name is reused for
|
|
14
|
+
* cross-reference clarity; the shape diverges intentionally.
|
|
15
|
+
*
|
|
16
|
+
* Pure module — no I/O, no Telegram-API calls. Wiring into register() and
|
|
17
|
+
* the actual gateway event bus lands in M3/M4 once /sessions provides a
|
|
18
|
+
* user-facing entry point. M2's scope: the abstraction + tests.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Stream event shape (mirrors the subset of legacy card-renderer.ts
|
|
22
|
+
* StreamEvent that the mirror actually consumes). Re-exported here so
|
|
23
|
+
* dependents don't need to import from the legacy directory.
|
|
24
|
+
*/
|
|
25
|
+
export interface StreamEvent {
|
|
26
|
+
type: string;
|
|
27
|
+
id?: string;
|
|
28
|
+
tool_use_id?: string;
|
|
29
|
+
tool?: {
|
|
30
|
+
name?: string;
|
|
31
|
+
input?: Record<string, unknown>;
|
|
32
|
+
};
|
|
33
|
+
tool_name?: string;
|
|
34
|
+
input?: Record<string, unknown>;
|
|
35
|
+
content?: unknown;
|
|
36
|
+
output?: unknown;
|
|
37
|
+
is_error?: boolean;
|
|
38
|
+
error?: unknown;
|
|
39
|
+
result?: string;
|
|
40
|
+
}
|
|
41
|
+
export type TurnState = 'working' | 'done';
|
|
42
|
+
export interface ToolCallRecord {
|
|
43
|
+
/** Tool name (e.g. "Bash", "Read", "Edit"). */
|
|
44
|
+
name: string;
|
|
45
|
+
/** Tool input arguments (snapshot at tool_use time). */
|
|
46
|
+
input: Record<string, unknown>;
|
|
47
|
+
/** Telegram-readable tool-use id, used to match tool_result events. */
|
|
48
|
+
toolUseId: string;
|
|
49
|
+
/** Set when the matching tool_result event arrives. */
|
|
50
|
+
result?: unknown;
|
|
51
|
+
/** True if the tool_result event flagged is_error/error. */
|
|
52
|
+
isError?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface Turn {
|
|
55
|
+
/** Telegram chat id this turn is rendering into. */
|
|
56
|
+
chatId: string;
|
|
57
|
+
/** Lifecycle state. */
|
|
58
|
+
state: TurnState;
|
|
59
|
+
/** Monotonic timestamp (Date.now()) when the turn started. */
|
|
60
|
+
startedAt: number;
|
|
61
|
+
/** Set when the turn transitions to 'done'. */
|
|
62
|
+
endedAt?: number;
|
|
63
|
+
/** Tool calls observed during the turn, in arrival order. */
|
|
64
|
+
toolCalls: ToolCallRecord[];
|
|
65
|
+
/** Accumulated assistant text (concatenation of text events). */
|
|
66
|
+
assistantText: string;
|
|
67
|
+
/** Accumulated extended-thinking text (M6). Rendered above assistant text. */
|
|
68
|
+
thinkingText: string;
|
|
69
|
+
}
|
|
70
|
+
export declare class TurnStateMachine {
|
|
71
|
+
private readonly turns;
|
|
72
|
+
/**
|
|
73
|
+
* Start (or restart) a turn for the given chat. If a turn already exists,
|
|
74
|
+
* its 'done' state is preserved as the prior turn until a new start
|
|
75
|
+
* overwrites it — the mirror does not keep history at this layer.
|
|
76
|
+
*/
|
|
77
|
+
start(chatId: string, now?: number): Turn;
|
|
78
|
+
/**
|
|
79
|
+
* Apply a stream event. Returns the updated turn, or undefined if no
|
|
80
|
+
* turn is active for the chat. The state machine accepts:
|
|
81
|
+
* - tool_use → push a ToolCallRecord
|
|
82
|
+
* - tool_result → resolve the matching ToolCallRecord
|
|
83
|
+
* - text → append to assistantText
|
|
84
|
+
* Other event types are ignored at this layer; downstream milestones add
|
|
85
|
+
* thinking/insight handling (M6) and plan-mode handling (M9).
|
|
86
|
+
*/
|
|
87
|
+
applyEvent(chatId: string, event: StreamEvent): Turn | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* End the active turn for chatId. Transitions state to 'done' and stamps
|
|
90
|
+
* endedAt. Returns the finalized turn, or undefined if no turn was active.
|
|
91
|
+
*/
|
|
92
|
+
end(chatId: string, now?: number): Turn | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Returns the active or most-recently-ended turn for chatId.
|
|
95
|
+
*/
|
|
96
|
+
getTurn(chatId: string): Turn | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Drop the cached turn. Test-only convenience; production code starts a
|
|
99
|
+
* new turn instead.
|
|
100
|
+
*/
|
|
101
|
+
clear(chatId: string): void;
|
|
102
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/state-machine.ts — v0.25.0 M2.
|
|
3
|
+
*
|
|
4
|
+
* Per-chat turn-lifecycle state machine for the Telegram Terminal Mirror.
|
|
5
|
+
* Consumes Claude stream events (tool_use / tool_result / text / turn_done)
|
|
6
|
+
* and produces a Turn object the card-renderer (sibling module) can format
|
|
7
|
+
* into Telegram message bodies.
|
|
8
|
+
*
|
|
9
|
+
* Naming note: this is NOT a 1:1 port of the legacy state-machine.ts —
|
|
10
|
+
* legacy is a message_sending cross-path-dedup hook. Per ADR-001 (mimic
|
|
11
|
+
* the terminal flow) the mirror's state-machine models what a user sees
|
|
12
|
+
* during a turn (running tools → completion), which is closer to a UI
|
|
13
|
+
* controller than legacy's API-dispatch hook. The name is reused for
|
|
14
|
+
* cross-reference clarity; the shape diverges intentionally.
|
|
15
|
+
*
|
|
16
|
+
* Pure module — no I/O, no Telegram-API calls. Wiring into register() and
|
|
17
|
+
* the actual gateway event bus lands in M3/M4 once /sessions provides a
|
|
18
|
+
* user-facing entry point. M2's scope: the abstraction + tests.
|
|
19
|
+
*/
|
|
20
|
+
export class TurnStateMachine {
|
|
21
|
+
turns = new Map();
|
|
22
|
+
/**
|
|
23
|
+
* Start (or restart) a turn for the given chat. If a turn already exists,
|
|
24
|
+
* its 'done' state is preserved as the prior turn until a new start
|
|
25
|
+
* overwrites it — the mirror does not keep history at this layer.
|
|
26
|
+
*/
|
|
27
|
+
start(chatId, now = Date.now()) {
|
|
28
|
+
const turn = {
|
|
29
|
+
chatId,
|
|
30
|
+
state: 'working',
|
|
31
|
+
startedAt: now,
|
|
32
|
+
toolCalls: [],
|
|
33
|
+
assistantText: '',
|
|
34
|
+
thinkingText: '',
|
|
35
|
+
};
|
|
36
|
+
this.turns.set(chatId, turn);
|
|
37
|
+
return turn;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Apply a stream event. Returns the updated turn, or undefined if no
|
|
41
|
+
* turn is active for the chat. The state machine accepts:
|
|
42
|
+
* - tool_use → push a ToolCallRecord
|
|
43
|
+
* - tool_result → resolve the matching ToolCallRecord
|
|
44
|
+
* - text → append to assistantText
|
|
45
|
+
* Other event types are ignored at this layer; downstream milestones add
|
|
46
|
+
* thinking/insight handling (M6) and plan-mode handling (M9).
|
|
47
|
+
*/
|
|
48
|
+
applyEvent(chatId, event) {
|
|
49
|
+
const turn = this.turns.get(chatId);
|
|
50
|
+
if (!turn)
|
|
51
|
+
return undefined;
|
|
52
|
+
if (turn.state !== 'working')
|
|
53
|
+
return turn;
|
|
54
|
+
if (event.type === 'tool_use') {
|
|
55
|
+
turn.toolCalls.push({
|
|
56
|
+
name: event.tool?.name ?? 'Unknown',
|
|
57
|
+
input: event.tool?.input ?? {},
|
|
58
|
+
toolUseId: event.id ?? event.tool_use_id ?? '',
|
|
59
|
+
});
|
|
60
|
+
return turn;
|
|
61
|
+
}
|
|
62
|
+
if (event.type === 'tool_result') {
|
|
63
|
+
const useId = event.tool_use_id ?? event.id ?? '';
|
|
64
|
+
const match = turn.toolCalls.find((tc) => tc.toolUseId === useId);
|
|
65
|
+
if (match) {
|
|
66
|
+
match.result = event.content ?? event.output ?? '';
|
|
67
|
+
match.isError = Boolean(event.is_error || event.error);
|
|
68
|
+
}
|
|
69
|
+
return turn;
|
|
70
|
+
}
|
|
71
|
+
if (event.type === 'text') {
|
|
72
|
+
turn.assistantText += event.result ?? '';
|
|
73
|
+
return turn;
|
|
74
|
+
}
|
|
75
|
+
if (event.type === 'thinking') {
|
|
76
|
+
// M6: extended-thinking deltas land here. Claude's API emits these
|
|
77
|
+
// separately from 'text' events; the mirror accumulates them so the
|
|
78
|
+
// renderer can surface them above the assistant text per ADR-001
|
|
79
|
+
// (mimic the terminal flow — terminal users see thinking before
|
|
80
|
+
// the response renders).
|
|
81
|
+
const piece = typeof event.result === 'string'
|
|
82
|
+
? event.result
|
|
83
|
+
: typeof event.content === 'string'
|
|
84
|
+
? event.content
|
|
85
|
+
: '';
|
|
86
|
+
turn.thinkingText += piece;
|
|
87
|
+
return turn;
|
|
88
|
+
}
|
|
89
|
+
return turn;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* End the active turn for chatId. Transitions state to 'done' and stamps
|
|
93
|
+
* endedAt. Returns the finalized turn, or undefined if no turn was active.
|
|
94
|
+
*/
|
|
95
|
+
end(chatId, now = Date.now()) {
|
|
96
|
+
const turn = this.turns.get(chatId);
|
|
97
|
+
if (!turn)
|
|
98
|
+
return undefined;
|
|
99
|
+
turn.state = 'done';
|
|
100
|
+
turn.endedAt = now;
|
|
101
|
+
return turn;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Returns the active or most-recently-ended turn for chatId.
|
|
105
|
+
*/
|
|
106
|
+
getTurn(chatId) {
|
|
107
|
+
return this.turns.get(chatId);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Drop the cached turn. Test-only convenience; production code starts a
|
|
111
|
+
* new turn instead.
|
|
112
|
+
*/
|
|
113
|
+
clear(chatId) {
|
|
114
|
+
this.turns.delete(chatId);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=state-machine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/state-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/sync-commands.ts — v0.25.0 M5.
|
|
3
|
+
*
|
|
4
|
+
* ADR-009 — Bot calls Telegram's setMyCommands exactly once per plugin
|
|
5
|
+
* boot. Re-syncing per-session creates a race with the client cache; per
|
|
6
|
+
* invocation wastes API calls; never syncing forfeits the autocomplete UX
|
|
7
|
+
* win. Boot-only is the saddle point.
|
|
8
|
+
*
|
|
9
|
+
* R-6 monitoring: if A1 installs a new skill or top-7 changes mid-session
|
|
10
|
+
* and expects autocomplete to update without a gateway restart, that's
|
|
11
|
+
* the documented exception per ADR-009.
|
|
12
|
+
*
|
|
13
|
+
* Idempotency is process-scope. The synced flag is reset when the call
|
|
14
|
+
* itself throws, so a retry on the next register() attempt can succeed.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Telegram setMyCommands payload shape. Pinned to the subset cc-openclaw
|
|
18
|
+
* actually uses; full upstream payload supports scope/language_code params
|
|
19
|
+
* that the mirror doesn't need.
|
|
20
|
+
*/
|
|
21
|
+
export interface SetMyCommandsPayload {
|
|
22
|
+
commands: Array<{
|
|
23
|
+
command: string;
|
|
24
|
+
description: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Minimum logger surface (works with console or api.logger). Made narrow
|
|
29
|
+
* deliberately so callers can pass any structured logger.
|
|
30
|
+
*/
|
|
31
|
+
export interface SyncLogger {
|
|
32
|
+
info: (msg: string, ...rest: unknown[]) => void;
|
|
33
|
+
warn: (msg: string, ...rest: unknown[]) => void;
|
|
34
|
+
}
|
|
35
|
+
export interface SyncOptions {
|
|
36
|
+
/**
|
|
37
|
+
* Telegram setMyCommands dispatcher — accepts the payload and returns a
|
|
38
|
+
* promise that resolves on success or rejects on network/API error.
|
|
39
|
+
* Tests pass the G-3 mock; production wires a fetch-based caller.
|
|
40
|
+
*/
|
|
41
|
+
setMyCommands: (payload: SetMyCommandsPayload) => Promise<unknown>;
|
|
42
|
+
logger?: SyncLogger;
|
|
43
|
+
}
|
|
44
|
+
export interface SyncResult {
|
|
45
|
+
/** True when this invocation was a no-op because a prior boot already synced. */
|
|
46
|
+
alreadySynced: boolean;
|
|
47
|
+
/** Number of commands in the payload sent (0 when alreadySynced). */
|
|
48
|
+
commandCount: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Sync the top-7 phone-tier commands to Telegram. Idempotent across a
|
|
52
|
+
* process — subsequent calls return alreadySynced:true without dispatching.
|
|
53
|
+
*
|
|
54
|
+
* On dispatcher error, the synced flag is reset so a follow-up call can
|
|
55
|
+
* retry. The error is propagated to the caller; M5's plugin-boot wire-up
|
|
56
|
+
* catches it and emits the warn log so register() never blocks on it.
|
|
57
|
+
*/
|
|
58
|
+
export declare function syncMyCommands(opts: SyncOptions): Promise<SyncResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Test-only reset for the per-process synced flag. Production never calls
|
|
61
|
+
* this; each gateway boot starts a fresh process with synced=false.
|
|
62
|
+
*/
|
|
63
|
+
export declare function _resetSyncedForTests(): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/sync-commands.ts — v0.25.0 M5.
|
|
3
|
+
*
|
|
4
|
+
* ADR-009 — Bot calls Telegram's setMyCommands exactly once per plugin
|
|
5
|
+
* boot. Re-syncing per-session creates a race with the client cache; per
|
|
6
|
+
* invocation wastes API calls; never syncing forfeits the autocomplete UX
|
|
7
|
+
* win. Boot-only is the saddle point.
|
|
8
|
+
*
|
|
9
|
+
* R-6 monitoring: if A1 installs a new skill or top-7 changes mid-session
|
|
10
|
+
* and expects autocomplete to update without a gateway restart, that's
|
|
11
|
+
* the documented exception per ADR-009.
|
|
12
|
+
*
|
|
13
|
+
* Idempotency is process-scope. The synced flag is reset when the call
|
|
14
|
+
* itself throws, so a retry on the next register() attempt can succeed.
|
|
15
|
+
*/
|
|
16
|
+
import { TOP_7_COMMANDS } from './commands.js';
|
|
17
|
+
let synced = false;
|
|
18
|
+
/**
|
|
19
|
+
* Sync the top-7 phone-tier commands to Telegram. Idempotent across a
|
|
20
|
+
* process — subsequent calls return alreadySynced:true without dispatching.
|
|
21
|
+
*
|
|
22
|
+
* On dispatcher error, the synced flag is reset so a follow-up call can
|
|
23
|
+
* retry. The error is propagated to the caller; M5's plugin-boot wire-up
|
|
24
|
+
* catches it and emits the warn log so register() never blocks on it.
|
|
25
|
+
*/
|
|
26
|
+
export async function syncMyCommands(opts) {
|
|
27
|
+
if (synced) {
|
|
28
|
+
return { alreadySynced: true, commandCount: 0 };
|
|
29
|
+
}
|
|
30
|
+
synced = true;
|
|
31
|
+
const payload = { commands: TOP_7_COMMANDS.slice() };
|
|
32
|
+
try {
|
|
33
|
+
await opts.setMyCommands(payload);
|
|
34
|
+
opts.logger?.info(`[cc-openclaw/telegram-mirror] setMyCommands synced — ${payload.commands.length} commands.`);
|
|
35
|
+
return { alreadySynced: false, commandCount: payload.commands.length };
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
synced = false;
|
|
39
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
40
|
+
opts.logger?.warn(`[cc-openclaw/telegram-mirror] setMyCommands failed (will retry on next boot): ${msg}`);
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Test-only reset for the per-process synced flag. Production never calls
|
|
46
|
+
* this; each gateway boot starts a fresh process with synced=false.
|
|
47
|
+
*/
|
|
48
|
+
export function _resetSyncedForTests() {
|
|
49
|
+
synced = false;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=sync-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-commands.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/sync-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAqC/C,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAiB;IACpD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,GAAG,IAAI,CAAC;IACd,MAAM,OAAO,GAAyB,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,wDAAwD,OAAO,CAAC,QAAQ,CAAC,MAAM,YAAY,CAC5F,CAAC;QACF,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,KAAK,CAAC;QACf,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,iFAAiF,GAAG,EAAE,CACvF,CAAC;QACF,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/threshold-watcher.ts — v0.25.0 M11.
|
|
3
|
+
*
|
|
4
|
+
* Per-chat stateful detector for Max 20x quota thresholds. The dispatcher
|
|
5
|
+
* polls check(chatId, currentPercent) on a cadence (typically once per
|
|
6
|
+
* minute via status-tee freshness); the watcher fires AT MOST ONCE per
|
|
7
|
+
* upward crossing of each threshold. Hysteresis: dropping below a
|
|
8
|
+
* threshold re-arms it for the next upward crossing.
|
|
9
|
+
*
|
|
10
|
+
* Default thresholds (per PRP M11): 70% / 90% / 95%.
|
|
11
|
+
*
|
|
12
|
+
* Pause-now UX surfaces at the 95% level only — the lower thresholds are
|
|
13
|
+
* advisory.
|
|
14
|
+
*
|
|
15
|
+
* Risk reference: R-8 (Telegram rate limits) is mitigated by the
|
|
16
|
+
* once-per-crossing semantic — heavy bursts don't drown the chat in
|
|
17
|
+
* advisory pings.
|
|
18
|
+
*/
|
|
19
|
+
export interface ThresholdWatcherOptions {
|
|
20
|
+
/** Ascending list of percent thresholds (default 70/90/95). */
|
|
21
|
+
thresholds?: number[];
|
|
22
|
+
}
|
|
23
|
+
export interface ThresholdCheckResult {
|
|
24
|
+
/**
|
|
25
|
+
* When this check forced a fresh upward crossing, this is the HIGHEST
|
|
26
|
+
* threshold crossed in this call. Undefined when no crossing fired.
|
|
27
|
+
*/
|
|
28
|
+
fired?: number;
|
|
29
|
+
}
|
|
30
|
+
export declare class ThresholdWatcher {
|
|
31
|
+
private readonly states;
|
|
32
|
+
private readonly thresholds;
|
|
33
|
+
constructor(opts?: ThresholdWatcherOptions);
|
|
34
|
+
/**
|
|
35
|
+
* Inspect the latest quota percent for the chat. Returns
|
|
36
|
+
* `{ fired: <threshold> }` when one or more thresholds were crossed
|
|
37
|
+
* upward in this call (the highest crossed is reported). Returns `{}`
|
|
38
|
+
* when no fresh crossing occurred. Sub-threshold drops re-arm the
|
|
39
|
+
* corresponding threshold for a future crossing.
|
|
40
|
+
*
|
|
41
|
+
* The first call for a chatId initialises state with lastPercent=0 so
|
|
42
|
+
* the very first check above a threshold reports it as a fresh crossing.
|
|
43
|
+
*/
|
|
44
|
+
check(chatId: string, currentPercent: number): ThresholdCheckResult;
|
|
45
|
+
/** Reset state for a chatId. Used after an explicit user pause. */
|
|
46
|
+
reset(chatId: string): void;
|
|
47
|
+
/** Read-only inspector for tests / monitoring. */
|
|
48
|
+
inspect(chatId: string): {
|
|
49
|
+
lastPercent: number;
|
|
50
|
+
crossed: number[];
|
|
51
|
+
} | undefined;
|
|
52
|
+
/** Thresholds list (for tests). */
|
|
53
|
+
thresholdList(): readonly number[];
|
|
54
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/threshold-watcher.ts — v0.25.0 M11.
|
|
3
|
+
*
|
|
4
|
+
* Per-chat stateful detector for Max 20x quota thresholds. The dispatcher
|
|
5
|
+
* polls check(chatId, currentPercent) on a cadence (typically once per
|
|
6
|
+
* minute via status-tee freshness); the watcher fires AT MOST ONCE per
|
|
7
|
+
* upward crossing of each threshold. Hysteresis: dropping below a
|
|
8
|
+
* threshold re-arms it for the next upward crossing.
|
|
9
|
+
*
|
|
10
|
+
* Default thresholds (per PRP M11): 70% / 90% / 95%.
|
|
11
|
+
*
|
|
12
|
+
* Pause-now UX surfaces at the 95% level only — the lower thresholds are
|
|
13
|
+
* advisory.
|
|
14
|
+
*
|
|
15
|
+
* Risk reference: R-8 (Telegram rate limits) is mitigated by the
|
|
16
|
+
* once-per-crossing semantic — heavy bursts don't drown the chat in
|
|
17
|
+
* advisory pings.
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_THRESHOLDS = [70, 90, 95];
|
|
20
|
+
export class ThresholdWatcher {
|
|
21
|
+
states = new Map();
|
|
22
|
+
thresholds;
|
|
23
|
+
constructor(opts = {}) {
|
|
24
|
+
this.thresholds = [...(opts.thresholds ?? DEFAULT_THRESHOLDS)].sort((a, b) => a - b);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Inspect the latest quota percent for the chat. Returns
|
|
28
|
+
* `{ fired: <threshold> }` when one or more thresholds were crossed
|
|
29
|
+
* upward in this call (the highest crossed is reported). Returns `{}`
|
|
30
|
+
* when no fresh crossing occurred. Sub-threshold drops re-arm the
|
|
31
|
+
* corresponding threshold for a future crossing.
|
|
32
|
+
*
|
|
33
|
+
* The first call for a chatId initialises state with lastPercent=0 so
|
|
34
|
+
* the very first check above a threshold reports it as a fresh crossing.
|
|
35
|
+
*/
|
|
36
|
+
check(chatId, currentPercent) {
|
|
37
|
+
const state = this.states.get(chatId) ?? { lastPercent: 0, crossed: new Set() };
|
|
38
|
+
// Hysteresis: if we've dropped below any previously-crossed threshold,
|
|
39
|
+
// remove it from crossed so the next upward move re-fires.
|
|
40
|
+
for (const t of this.thresholds) {
|
|
41
|
+
if (currentPercent < t && state.crossed.has(t)) {
|
|
42
|
+
state.crossed.delete(t);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Find every threshold that this call CROSSED upward (prev < t,
|
|
46
|
+
// current >= t) AND that isn't already marked crossed. Then fire on
|
|
47
|
+
// the highest one. Mark all of them crossed so a no-op re-poll
|
|
48
|
+
// doesn't refire.
|
|
49
|
+
let highestFired;
|
|
50
|
+
for (const t of this.thresholds) {
|
|
51
|
+
if (state.lastPercent < t && currentPercent >= t && !state.crossed.has(t)) {
|
|
52
|
+
state.crossed.add(t);
|
|
53
|
+
if (highestFired === undefined || t > highestFired)
|
|
54
|
+
highestFired = t;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
state.lastPercent = currentPercent;
|
|
58
|
+
this.states.set(chatId, state);
|
|
59
|
+
return highestFired !== undefined ? { fired: highestFired } : {};
|
|
60
|
+
}
|
|
61
|
+
/** Reset state for a chatId. Used after an explicit user pause. */
|
|
62
|
+
reset(chatId) {
|
|
63
|
+
this.states.delete(chatId);
|
|
64
|
+
}
|
|
65
|
+
/** Read-only inspector for tests / monitoring. */
|
|
66
|
+
inspect(chatId) {
|
|
67
|
+
const s = this.states.get(chatId);
|
|
68
|
+
if (!s)
|
|
69
|
+
return undefined;
|
|
70
|
+
return { lastPercent: s.lastPercent, crossed: [...s.crossed].sort((a, b) => a - b) };
|
|
71
|
+
}
|
|
72
|
+
/** Thresholds list (for tests). */
|
|
73
|
+
thresholdList() {
|
|
74
|
+
return this.thresholds;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=threshold-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threshold-watcher.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/threshold-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAqBxC,MAAM,OAAO,gBAAgB;IACV,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC3C,UAAU,CAAW;IAEtC,YAAY,OAAgC,EAAE;QAC5C,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAc,EAAE,cAAsB;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAEhF,uEAAuE;QACvE,2DAA2D;QAC3D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,cAAc,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,oEAAoE;QACpE,+DAA+D;QAC/D,kBAAkB;QAClB,IAAI,YAAgC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,YAAY;oBAAE,YAAY,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,MAAc;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,MAAc;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACzB,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACvF,CAAC;IAED,mCAAmC;IACnC,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -387,7 +387,7 @@ export function register(api) {
|
|
|
387
387
|
// M9 spec-bubble is preserved here for /cc users. The default-path
|
|
388
388
|
// injector handler (channels/telegram/injector.ts) skips slash-prefixed
|
|
389
389
|
// messages, so without this call /cc would lose the bubble.
|
|
390
|
-
void import('../
|
|
390
|
+
void import('../lib/perf/speculative-bubble.js')
|
|
391
391
|
.then(({ emitSpeculativeThinking }) => emitSpeculativeThinking({ chatId, threadId }))
|
|
392
392
|
.catch(() => { });
|
|
393
393
|
const meta = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cc-handler.js","sourceRoot":"","sources":["../../../src/command-router/cc-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cc-handler.js","sourceRoot":"","sources":["../../../src/command-router/cc-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import { ConfigError, RuntimeMode } from './types/runtime-config.js';
|
|
|
17
17
|
import { wrapApiWithDebugTap } from './lib/debug-tap.js';
|
|
18
18
|
import { register as registerCommandRouter } from './command-router/index.js';
|
|
19
19
|
import { registerCwdPatch, registerSyspromptStrip, registerThinkConflictResolver, } from './session-bootstrap/index.js';
|
|
20
|
-
import {
|
|
20
|
+
import { register as registerTelegramMirror } from './channels/telegram-mirror/index.js';
|
|
21
21
|
import { register as registerMcpBridge } from './mcp/index.js';
|
|
22
22
|
export const PLUGIN_ID = 'cc-openclaw';
|
|
23
23
|
export const VERSION = '0.1.0';
|
|
@@ -47,6 +47,11 @@ function listenersEnabled() {
|
|
|
47
47
|
const norm = v.toLowerCase();
|
|
48
48
|
return norm === '1' || norm === 'true' || norm === 'on';
|
|
49
49
|
}
|
|
50
|
+
// v0.25.0 M16 — CC_OPENCLAW_TERMINAL_MIRROR flag retired. Legacy 14-module
|
|
51
|
+
// live card removed; mirror is the only Telegram channel. The flag check
|
|
52
|
+
// + opt-out path is gone with the legacy directory. Rollback for v0.25.x
|
|
53
|
+
// is `npm install @a1hvdy/cc-openclaw@0.24.0` (the last legacy-capable
|
|
54
|
+
// release), not a flag flip.
|
|
50
55
|
// Re-export getConfigService from config-service.ts for callers that import
|
|
51
56
|
// from the plugin entry point. The actual singleton lives in config-service.ts
|
|
52
57
|
// to avoid a circular import with src/lib/config.ts (which now reads from it).
|
|
@@ -151,13 +156,12 @@ export function register(api) {
|
|
|
151
156
|
registerThinkConflictResolver(wrapApiWithDebugTap(api, 'think-conflict'));
|
|
152
157
|
// /cc command interception.
|
|
153
158
|
registerCommandRouter(wrapApiWithDebugTap(api, 'cc-handler'));
|
|
154
|
-
// Telegram channel
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
registerEventReducer(wrapApiWithDebugTap(api, 'event-reducer'));
|
|
159
|
+
// Telegram channel — mirror is the sole channel post-v0.25.0 M16.
|
|
160
|
+
// Bot-token sourcing migrated to src/lib/telegram-bot-api.ts; the
|
|
161
|
+
// mirror's register() initialises it from api.config OR the on-disk
|
|
162
|
+
// openclaw.json (same precedence the legacy live-card used).
|
|
163
|
+
logger.info('[cc-openclaw] wiring telegram-mirror channel.');
|
|
164
|
+
registerTelegramMirror(wrapApiWithDebugTap(api, 'telegram-mirror'));
|
|
161
165
|
// MCP sidecar bridge — spawns CJS stdio process on session start, terminates on session end.
|
|
162
166
|
registerMcpBridge(wrapApiWithDebugTap(api, 'mcp-bridge'));
|
|
163
167
|
});
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,2BAA2B,IAAI,qBAAqB,GACrD,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|