@a1hvdy/cc-openclaw 0.25.0 → 0.25.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.
- package/dist/src/channels/telegram-mirror/inbound-handler.d.ts +52 -0
- package/dist/src/channels/telegram-mirror/inbound-handler.js +121 -0
- package/dist/src/channels/telegram-mirror/inbound-handler.js.map +1 -0
- package/dist/src/channels/telegram-mirror/index.js +43 -3
- package/dist/src/channels/telegram-mirror/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/inbound-handler.ts — v0.25.1 wire-up.
|
|
3
|
+
*
|
|
4
|
+
* The piece that was missing from v0.25.0: subscribes to OpenClaw's
|
|
5
|
+
* `before_dispatch` event, identifies mirror slash commands, routes
|
|
6
|
+
* through `dispatchCommand` (from commands.ts), and forwards the
|
|
7
|
+
* resulting TelegramAction list out via `telegram-bot-api`'s sendTg.
|
|
8
|
+
*
|
|
9
|
+
* Returns `{ handled: true }` on dispatch so OpenClaw's default model
|
|
10
|
+
* route (or any built-in command handler) doesn't ALSO respond — the
|
|
11
|
+
* legacy event-reducer's `/quota` / `/sessions` handlers used the same
|
|
12
|
+
* claim shape.
|
|
13
|
+
*
|
|
14
|
+
* Out-of-scope for v0.25.1 (deferred to v0.25.2+):
|
|
15
|
+
* • Tool/text/turn stream-event subscription → mirror-card render.
|
|
16
|
+
* • callback_query handling for inline-keyboard taps.
|
|
17
|
+
* • Burst-accumulator + compose-buffer engine injection (the
|
|
18
|
+
* ComposeBuffer + BurstAccumulator capture user text but the
|
|
19
|
+
* concatenated payload from /send still needs to reach the engine
|
|
20
|
+
* as a synthetic user message — that's a separate dispatch path).
|
|
21
|
+
*
|
|
22
|
+
* Single shared CallbackMap + ComposeBuffer per process so callback
|
|
23
|
+
* resolution and compose state survive across handler invocations.
|
|
24
|
+
*/
|
|
25
|
+
import { CallbackMap } from './callback-mapping.js';
|
|
26
|
+
import { ComposeBuffer } from './compose-buffer.js';
|
|
27
|
+
export interface InboundHandlerApi {
|
|
28
|
+
on(event: string, handler: (...args: unknown[]) => unknown | Promise<unknown>): void;
|
|
29
|
+
logger?: {
|
|
30
|
+
info: (msg: string) => void;
|
|
31
|
+
warn: (msg: string) => void;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Internal handler state — exported only for tests so they can inspect
|
|
36
|
+
* compose-buffer state + callback-map without going through Telegram.
|
|
37
|
+
*/
|
|
38
|
+
export interface HandlerState {
|
|
39
|
+
callbackMap: CallbackMap;
|
|
40
|
+
composeBuffer: ComposeBuffer;
|
|
41
|
+
}
|
|
42
|
+
export declare function createHandlerState(): HandlerState;
|
|
43
|
+
/**
|
|
44
|
+
* Register the inbound dispatcher. Called by mirror's register() at boot.
|
|
45
|
+
*
|
|
46
|
+
* Hooked to `before_dispatch` — OpenClaw's name for the inbound-message
|
|
47
|
+
* event surface. We return `{ handled: true }` to claim the message when
|
|
48
|
+
* it's a known mirror slash command; `undefined` lets the event proceed
|
|
49
|
+
* to OpenClaw's default routing (which is what we want for non-slash
|
|
50
|
+
* user text destined for the model).
|
|
51
|
+
*/
|
|
52
|
+
export declare function registerInboundHandler(api: InboundHandlerApi, state?: HandlerState): HandlerState;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/channels/telegram-mirror/inbound-handler.ts — v0.25.1 wire-up.
|
|
3
|
+
*
|
|
4
|
+
* The piece that was missing from v0.25.0: subscribes to OpenClaw's
|
|
5
|
+
* `before_dispatch` event, identifies mirror slash commands, routes
|
|
6
|
+
* through `dispatchCommand` (from commands.ts), and forwards the
|
|
7
|
+
* resulting TelegramAction list out via `telegram-bot-api`'s sendTg.
|
|
8
|
+
*
|
|
9
|
+
* Returns `{ handled: true }` on dispatch so OpenClaw's default model
|
|
10
|
+
* route (or any built-in command handler) doesn't ALSO respond — the
|
|
11
|
+
* legacy event-reducer's `/quota` / `/sessions` handlers used the same
|
|
12
|
+
* claim shape.
|
|
13
|
+
*
|
|
14
|
+
* Out-of-scope for v0.25.1 (deferred to v0.25.2+):
|
|
15
|
+
* • Tool/text/turn stream-event subscription → mirror-card render.
|
|
16
|
+
* • callback_query handling for inline-keyboard taps.
|
|
17
|
+
* • Burst-accumulator + compose-buffer engine injection (the
|
|
18
|
+
* ComposeBuffer + BurstAccumulator capture user text but the
|
|
19
|
+
* concatenated payload from /send still needs to reach the engine
|
|
20
|
+
* as a synthetic user message — that's a separate dispatch path).
|
|
21
|
+
*
|
|
22
|
+
* Single shared CallbackMap + ComposeBuffer per process so callback
|
|
23
|
+
* resolution and compose state survive across handler invocations.
|
|
24
|
+
*/
|
|
25
|
+
import { dispatchCommand, parseSlash, COMMAND_HANDLERS } from './commands.js';
|
|
26
|
+
import { sendTg, editTg } from '../../lib/telegram-bot-api.js';
|
|
27
|
+
import { CallbackMap } from './callback-mapping.js';
|
|
28
|
+
import { ComposeBuffer } from './compose-buffer.js';
|
|
29
|
+
const PLUGIN_TAG = '[cc-openclaw/telegram-mirror/inbound]';
|
|
30
|
+
export function createHandlerState() {
|
|
31
|
+
return {
|
|
32
|
+
callbackMap: new CallbackMap(),
|
|
33
|
+
composeBuffer: new ComposeBuffer(),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The set of slash commands the mirror claims. Names match what
|
|
38
|
+
* dispatchCommand recognises (commands.ts COMMAND_HANDLERS keys).
|
|
39
|
+
*/
|
|
40
|
+
const MIRROR_COMMANDS = new Set(Object.keys(COMMAND_HANDLERS));
|
|
41
|
+
/**
|
|
42
|
+
* Forward a single TelegramAction to the actual Telegram API. Returns
|
|
43
|
+
* the API response (or {ok:false} on failure). Pure I/O — no state
|
|
44
|
+
* mutation.
|
|
45
|
+
*
|
|
46
|
+
* editMessageText and sendDocument variants land in v0.25.2 when the
|
|
47
|
+
* render pipeline and plan-attachment dispatch wire up.
|
|
48
|
+
*/
|
|
49
|
+
async function forwardAction(action, threadId, logger) {
|
|
50
|
+
try {
|
|
51
|
+
if (action.type === 'sendMessage') {
|
|
52
|
+
await sendTg(String(action.chat_id), action.text, threadId !== undefined ? String(threadId) : undefined, action.reply_markup);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (action.type === 'editMessageText') {
|
|
56
|
+
await editTg(String(action.chat_id), action.message_id, action.text, action.reply_markup);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// sendDocument: v0.25.2 — plan-mode attachment wire-up.
|
|
60
|
+
logger.warn(`${PLUGIN_TAG} action type "${action.type}" not yet forwarded (deferred to v0.25.2)`);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
logger.warn(`${PLUGIN_TAG} forwardAction failed: ${err.message}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Register the inbound dispatcher. Called by mirror's register() at boot.
|
|
68
|
+
*
|
|
69
|
+
* Hooked to `before_dispatch` — OpenClaw's name for the inbound-message
|
|
70
|
+
* event surface. We return `{ handled: true }` to claim the message when
|
|
71
|
+
* it's a known mirror slash command; `undefined` lets the event proceed
|
|
72
|
+
* to OpenClaw's default routing (which is what we want for non-slash
|
|
73
|
+
* user text destined for the model).
|
|
74
|
+
*/
|
|
75
|
+
export function registerInboundHandler(api, state = createHandlerState()) {
|
|
76
|
+
const logger = (api.logger ?? console);
|
|
77
|
+
api.on('before_dispatch', async (...args) => {
|
|
78
|
+
const event = args[0];
|
|
79
|
+
// v0.25.2 — diagnostic trace of EVERY before_dispatch event seen, so the
|
|
80
|
+
// gateway log surfaces the shape we actually receive vs the shape we
|
|
81
|
+
// assume. Lands on stderr so PM2 captures regardless of stdout filtering.
|
|
82
|
+
process.stderr.write(`[cc-openclaw/telegram-mirror/inbound] before_dispatch seen: channel=${event?.channel ?? '?'} text=${typeof event?.raw?.message?.text === 'string' ? JSON.stringify(event.raw.message.text.slice(0, 60)) : 'n/a'} cb=${event?.raw?.callback_query ? 'yes' : 'no'}\n`);
|
|
83
|
+
if (!event)
|
|
84
|
+
return undefined;
|
|
85
|
+
if (event.channel !== 'telegram')
|
|
86
|
+
return undefined;
|
|
87
|
+
if (event.raw?.callback_query)
|
|
88
|
+
return undefined;
|
|
89
|
+
const text = event.raw?.message?.text;
|
|
90
|
+
if (typeof text !== 'string')
|
|
91
|
+
return undefined;
|
|
92
|
+
const parsed = parseSlash(text);
|
|
93
|
+
if (!parsed)
|
|
94
|
+
return undefined;
|
|
95
|
+
if (!MIRROR_COMMANDS.has(parsed.cmd))
|
|
96
|
+
return undefined;
|
|
97
|
+
const chatRaw = event.raw?.message?.chat?.id;
|
|
98
|
+
const chatId = chatRaw !== undefined && chatRaw !== null ? String(chatRaw) : '';
|
|
99
|
+
if (!chatId)
|
|
100
|
+
return undefined;
|
|
101
|
+
const threadId = event.raw?.message?.message_thread_id;
|
|
102
|
+
const result = dispatchCommand(parsed, {
|
|
103
|
+
chatId,
|
|
104
|
+
callbackMap: state.callbackMap,
|
|
105
|
+
composeBuffer: state.composeBuffer,
|
|
106
|
+
});
|
|
107
|
+
if (!result)
|
|
108
|
+
return undefined;
|
|
109
|
+
for (const action of result.actions) {
|
|
110
|
+
await forwardAction(action, threadId, logger);
|
|
111
|
+
}
|
|
112
|
+
logger.info(`${PLUGIN_TAG} dispatched /${parsed.cmd}${parsed.args.length ? ' ' + parsed.args.join(' ') : ''} (chat=${chatId}, actions=${result.actions.length})`);
|
|
113
|
+
return { handled: true };
|
|
114
|
+
});
|
|
115
|
+
logger.info(`${PLUGIN_TAG} subscribed to before_dispatch — ${MIRROR_COMMANDS.size} commands armed.`);
|
|
116
|
+
// v0.25.2 — extra stderr breadcrumb so even if logger.info is swallowed
|
|
117
|
+
// by the gateway's debug-tap wrapping, we still get proof of subscription.
|
|
118
|
+
process.stderr.write(`${PLUGIN_TAG} subscribed to before_dispatch — ${MIRROR_COMMANDS.size} commands armed.\n`);
|
|
119
|
+
return state;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=inbound-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound-handler.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/inbound-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { defaultRegisterGuard } from '../../lib/register-guard.js';
|
|
20
20
|
import { initBotTokenFromConfig } from '../../lib/telegram-bot-api.js';
|
|
21
|
+
import { registerInboundHandler } from './inbound-handler.js';
|
|
21
22
|
/**
|
|
22
23
|
* Mirror channel register — idempotent via defaultRegisterGuard.
|
|
23
24
|
*
|
|
@@ -26,16 +27,55 @@ import { initBotTokenFromConfig } from '../../lib/telegram-bot-api.js';
|
|
|
26
27
|
* succeeds in both flag states") holds end-to-end.
|
|
27
28
|
*/
|
|
28
29
|
export function register(api) {
|
|
30
|
+
// v0.25.2 — pre-guard tracer so we can verify register() is invoked even
|
|
31
|
+
// if api.logger is wrapped to a debug-only sink. stderr is captured by
|
|
32
|
+
// PM2 regardless of stdout-only filtering.
|
|
33
|
+
process.stderr.write('[cc-openclaw/telegram-mirror] register() invoked (pre-guard, v0.25.2).\n');
|
|
29
34
|
defaultRegisterGuard.guard('cc-openclaw/telegram-mirror', api, () => {
|
|
35
|
+
// v0.25.2 — defensive: stderr AND console.error AND api.logger.info, so
|
|
36
|
+
// at least one channel surfaces if any of the others is silenced.
|
|
37
|
+
process.stderr.write('[cc-openclaw/telegram-mirror] guard body entering (v0.25.2).\n');
|
|
38
|
+
console.error('[cc-openclaw/telegram-mirror] guard body entering — console.error (v0.25.2).');
|
|
30
39
|
const logger = api.logger || console;
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
try {
|
|
41
|
+
logger.info('[cc-openclaw/telegram-mirror] register() — wiring inbound dispatcher (v0.25.2).');
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
process.stderr.write(`[cc-openclaw/telegram-mirror] logger.info threw: ${err.message}\n`);
|
|
45
|
+
}
|
|
46
|
+
// v0.25.0 M16 — initialise Telegram bot token (sourcing migrated
|
|
33
47
|
// out of the legacy live-card module into src/lib/telegram-bot-api).
|
|
34
|
-
// Same precedence as before: api.config first, then ~/.openclaw/openclaw.json.
|
|
35
48
|
initBotTokenFromConfig({
|
|
36
49
|
config: api.config,
|
|
37
50
|
logger: logger,
|
|
38
51
|
});
|
|
52
|
+
// v0.25.1 — subscribe before_dispatch and route mirror slash commands
|
|
53
|
+
// through dispatchCommand → telegram-bot-api.
|
|
54
|
+
try {
|
|
55
|
+
registerInboundHandler({
|
|
56
|
+
on: api.on.bind(api),
|
|
57
|
+
logger: {
|
|
58
|
+
info: (msg) => {
|
|
59
|
+
process.stderr.write(`${msg}\n`);
|
|
60
|
+
try {
|
|
61
|
+
logger.info(msg);
|
|
62
|
+
}
|
|
63
|
+
catch { /* swallow */ }
|
|
64
|
+
},
|
|
65
|
+
warn: (msg) => {
|
|
66
|
+
process.stderr.write(`${msg}\n`);
|
|
67
|
+
try {
|
|
68
|
+
logger.warn(msg);
|
|
69
|
+
}
|
|
70
|
+
catch { /* swallow */ }
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
process.stderr.write('[cc-openclaw/telegram-mirror] guard body completed (v0.25.2).\n');
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
process.stderr.write(`[cc-openclaw/telegram-mirror] registerInboundHandler threw: ${err.message}\n${err.stack || ''}\n`);
|
|
78
|
+
}
|
|
39
79
|
});
|
|
40
80
|
}
|
|
41
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAc;IACrC,yEAAyE;IACzE,uEAAuE;IACvE,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAEjG,oBAAoB,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,GAAG,EAAE;QAClE,wEAAwE;QACxE,kEAAkE;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACvF,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CACT,iFAAiF,CAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAqD,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,iEAAiE;QACjE,qEAAqE;QACrE,sBAAsB,CAAC;YACrB,MAAM,EAAG,GAAuD,CAAC,MAAM;YACvE,MAAM,EAAE,MAAiF;SAC1F,CAAC,CAAC;QACH,sEAAsE;QACtE,8CAA8C;QAC9C,IAAI,CAAC;YACH,sBAAsB,CAAC;gBACrB,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpB,MAAM,EAAE;oBACN,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC;4BAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnD,CAAC;oBACD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC;4BAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;oBACnD,CAAC;iBACF;aACF,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+DAAgE,GAAa,CAAC,OAAO,KAAM,GAAa,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|