mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-18 21:40:53 +00:00
* refactor: remove channel shim directories, point all imports to extensions
Delete the 6 backward-compat shim directories (src/telegram, src/discord,
src/slack, src/signal, src/imessage, src/web) that were re-exporting from
extensions. Update all 112+ source files to import directly from
extensions/{channel}/src/ instead of through the shims.
Also:
- Move src/channels/telegram/ (allow-from, api) to extensions/telegram/src/
- Fix outbound adapters to use resolveOutboundSendDep (fixes 5 pre-existing TS errors)
- Update cross-extension imports (src/web/media.js → extensions/whatsapp/src/media.js)
- Update vitest, tsdown, knip, labeler, and script configs for new paths
- Update guard test allowlists for extension paths
After this, src/ has zero channel-specific implementation code — only the
generic plugin framework remains.
* fix: update raw-fetch guard allowlist line numbers after shim removal
* refactor: document direct extension channel imports
* test: mock transcript module in delivery helpers
27 lines
910 B
TypeScript
27 lines
910 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { isNumericTelegramUserId, normalizeTelegramAllowFromEntry } from "./allow-from.js";
|
|
|
|
describe("telegram allow-from helpers", () => {
|
|
it("normalizes tg/telegram prefixes", () => {
|
|
const cases = [
|
|
{ value: " TG:123 ", expected: "123" },
|
|
{ value: "telegram:@someone", expected: "@someone" },
|
|
] as const;
|
|
for (const testCase of cases) {
|
|
expect(normalizeTelegramAllowFromEntry(testCase.value)).toBe(testCase.expected);
|
|
}
|
|
});
|
|
|
|
it("accepts signed numeric IDs", () => {
|
|
const cases = [
|
|
{ value: "123456789", expected: true },
|
|
{ value: "-1001234567890", expected: true },
|
|
{ value: "@someone", expected: false },
|
|
{ value: "12 34", expected: false },
|
|
] as const;
|
|
for (const testCase of cases) {
|
|
expect(isNumericTelegramUserId(testCase.value)).toBe(testCase.expected);
|
|
}
|
|
});
|
|
});
|