@a1hvdy/cc-openclaw 0.25.1 → 0.25.3
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.
|
@@ -74,16 +74,36 @@ async function forwardAction(action, threadId, logger) {
|
|
|
74
74
|
*/
|
|
75
75
|
export function registerInboundHandler(api, state = createHandlerState()) {
|
|
76
76
|
const logger = (api.logger ?? console);
|
|
77
|
+
// v0.25.3 — one-time full-shape dump so we can find where text actually
|
|
78
|
+
// lives in the event object on this gateway version.
|
|
79
|
+
let shapeDumped = false;
|
|
77
80
|
api.on('before_dispatch', async (...args) => {
|
|
78
81
|
const event = args[0];
|
|
82
|
+
if (!shapeDumped && event?.channel === 'telegram') {
|
|
83
|
+
shapeDumped = true;
|
|
84
|
+
try {
|
|
85
|
+
// Top-level shape (without recursing too deep — 2 KB cap)
|
|
86
|
+
const dump = JSON.stringify(event, (_k, v) => (typeof v === 'function' ? '[Function]' : v));
|
|
87
|
+
process.stderr.write(`[cc-openclaw/telegram-mirror/inbound] FULL EVENT SHAPE (v0.25.3, once): ${dump.slice(0, 2000)}\n`);
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
process.stderr.write(`[cc-openclaw/telegram-mirror/inbound] shape-dump failed: ${err.message}\n`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Multi-path text extraction: try every shape we've seen in OpenClaw's history.
|
|
94
|
+
const candidateText = event?.content ??
|
|
95
|
+
event?.raw?.message?.text ??
|
|
96
|
+
event?.raw?.message?.content ??
|
|
97
|
+
event?.text ??
|
|
98
|
+
(event?.message?.text);
|
|
99
|
+
process.stderr.write(`[cc-openclaw/telegram-mirror/inbound] before_dispatch seen: channel=${event?.channel ?? '?'} text=${typeof candidateText === 'string' ? JSON.stringify(candidateText.slice(0, 60)) : 'n/a'} cb=${event?.raw?.callback_query ? 'yes' : 'no'}\n`);
|
|
79
100
|
if (!event)
|
|
80
101
|
return undefined;
|
|
81
102
|
if (event.channel !== 'telegram')
|
|
82
103
|
return undefined;
|
|
83
|
-
// callback_query rides on `before_dispatch` too — deferred to v0.25.2.
|
|
84
104
|
if (event.raw?.callback_query)
|
|
85
105
|
return undefined;
|
|
86
|
-
const text =
|
|
106
|
+
const text = typeof candidateText === 'string' ? candidateText : undefined;
|
|
87
107
|
if (typeof text !== 'string')
|
|
88
108
|
return undefined;
|
|
89
109
|
const parsed = parseSlash(text);
|
|
@@ -110,6 +130,9 @@ export function registerInboundHandler(api, state = createHandlerState()) {
|
|
|
110
130
|
return { handled: true };
|
|
111
131
|
});
|
|
112
132
|
logger.info(`${PLUGIN_TAG} subscribed to before_dispatch — ${MIRROR_COMMANDS.size} commands armed.`);
|
|
133
|
+
// v0.25.2 — extra stderr breadcrumb so even if logger.info is swallowed
|
|
134
|
+
// by the gateway's debug-tap wrapping, we still get proof of subscription.
|
|
135
|
+
process.stderr.write(`${PLUGIN_TAG} subscribed to before_dispatch — ${MIRROR_COMMANDS.size} commands armed.\n`);
|
|
113
136
|
return state;
|
|
114
137
|
}
|
|
115
138
|
//# sourceMappingURL=inbound-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound-handler.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/inbound-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAuB,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAkC3D,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,WAAW,EAAE,IAAI,WAAW,EAAE;QAC9B,aAAa,EAAE,IAAI,aAAa,EAAE;KACnC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACH,KAAK,UAAU,aAAa,CAC1B,MAAsB,EACtB,QAA4B,EAC5B,MAAqB;IAErB,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,MAAM,CACV,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EACtB,MAAM,CAAC,IAAI,EACX,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EACrD,MAAM,CAAC,YAAY,CACpB,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACtC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,wDAAwD;QACxD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,iBAAiB,MAAM,CAAC,IAAI,2CAA2C,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAsB,EACtB,QAAsB,kBAAkB,EAAE;IAE1C,MAAM,MAAM,GAAkB,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAkB,CAAC;IAEvE,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,IAAe,EAAgC,EAAE;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"inbound-handler.js","sourceRoot":"","sources":["../../../../src/channels/telegram-mirror/inbound-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,23 +27,55 @@ import { registerInboundHandler } from './inbound-handler.js';
|
|
|
27
27
|
* succeeds in both flag states") holds end-to-end.
|
|
28
28
|
*/
|
|
29
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');
|
|
30
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).');
|
|
31
39
|
const logger = api.logger || console;
|
|
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
|
+
}
|
|
33
46
|
// v0.25.0 M16 — initialise Telegram bot token (sourcing migrated
|
|
34
47
|
// out of the legacy live-card module into src/lib/telegram-bot-api).
|
|
35
|
-
// Same precedence as before: api.config first, then ~/.openclaw/openclaw.json.
|
|
36
48
|
initBotTokenFromConfig({
|
|
37
49
|
config: api.config,
|
|
38
50
|
logger: logger,
|
|
39
51
|
});
|
|
40
52
|
// v0.25.1 — subscribe before_dispatch and route mirror slash commands
|
|
41
|
-
// through dispatchCommand → telegram-bot-api.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
+
}
|
|
47
79
|
});
|
|
48
80
|
}
|
|
49
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;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAc;IACrC,oBAAoB,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,EAAE,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,iFAAiF,CAClF,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"}
|