mirror of
http://192.168.0.88:13333/lywsvip/openclaw-zero-token.git
synced 2026-06-03 07:30:36 +08:00
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import { imessageOutbound } from "../../test/channel-outbounds.js";
|
|
import type { ChannelOutboundAdapter, ChannelPlugin } from "../channels/plugins/types.js";
|
|
import { normalizeIMessageHandle } from "../plugin-sdk/imessage-targets.js";
|
|
import { collectStatusIssuesFromLastError } from "../plugin-sdk/status-helpers.js";
|
|
|
|
export const createIMessageTestPlugin = (params?: {
|
|
outbound?: ChannelOutboundAdapter;
|
|
}): ChannelPlugin => ({
|
|
id: "imessage",
|
|
meta: {
|
|
id: "imessage",
|
|
label: "iMessage",
|
|
selectionLabel: "iMessage (imsg)",
|
|
docsPath: "/channels/imessage",
|
|
blurb: "iMessage test stub.",
|
|
aliases: ["imsg"],
|
|
},
|
|
capabilities: { chatTypes: ["direct", "group"], media: true },
|
|
config: {
|
|
listAccountIds: () => [],
|
|
resolveAccount: () => ({}),
|
|
},
|
|
status: {
|
|
collectStatusIssues: (accounts) => collectStatusIssuesFromLastError("imessage", accounts),
|
|
},
|
|
outbound: params?.outbound ?? imessageOutbound,
|
|
messaging: {
|
|
targetResolver: {
|
|
looksLikeId: (raw) => {
|
|
const trimmed = raw.trim();
|
|
if (!trimmed) {
|
|
return false;
|
|
}
|
|
if (/^(imessage:|sms:|auto:|chat_id:|chat_guid:|chat_identifier:)/i.test(trimmed)) {
|
|
return true;
|
|
}
|
|
if (trimmed.includes("@")) {
|
|
return true;
|
|
}
|
|
return /^\+?\d{3,}$/.test(trimmed);
|
|
},
|
|
hint: "<handle|chat_id:ID>",
|
|
},
|
|
normalizeTarget: (raw) => normalizeIMessageHandle(raw),
|
|
},
|
|
});
|