mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 06:40:44 +00:00
refactor: share line sdk types
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
db3c843947298c9af4b5f5fa7ecde6656dba32189ec386c29192fe498d64e5e5 plugin-sdk-api-baseline.json
|
||||
c14586fd393a1375ee02ba507ffc83a2886d97632e323e5661b618c71624d26b plugin-sdk-api-baseline.jsonl
|
||||
5e63409c91d1021a24496f498af2761cca644e59e26742b473eb53615d13154f plugin-sdk-api-baseline.json
|
||||
61943ab581937f84635e9b46e0f05591bb1fabe606cb57c36e9aed7a1242c685 plugin-sdk-api-baseline.jsonl
|
||||
|
||||
@@ -1,6 +1,26 @@
|
||||
// Manual facade. Keep loader boundary explicit.
|
||||
import type { BaseProbeResult } from "../channels/plugins/types.public.js";
|
||||
import { loadActivatedBundledPluginPublicSurfaceModuleSync } from "./facade-runtime.js";
|
||||
import type { Action } from "./line-surface.js";
|
||||
export type {
|
||||
Action,
|
||||
CardAction,
|
||||
LineChannelData,
|
||||
LineConfig,
|
||||
LineGroupConfig,
|
||||
LineProbeResult,
|
||||
LineThreadBindingsConfig,
|
||||
ListItem,
|
||||
ResolvedLineAccount,
|
||||
} from "./line-surface.js";
|
||||
|
||||
export type FlexBox = Record<string, unknown>;
|
||||
export type FlexBubble = Record<string, unknown>;
|
||||
export type FlexButton = Record<string, unknown>;
|
||||
export type FlexCarousel = Record<string, unknown>;
|
||||
export type FlexComponent = Record<string, unknown>;
|
||||
export type FlexContainer = Record<string, unknown>;
|
||||
export type FlexImage = Record<string, unknown>;
|
||||
export type FlexText = Record<string, unknown>;
|
||||
|
||||
type FacadeFunction = (...args: unknown[]) => unknown;
|
||||
type FacadeModule = Record<
|
||||
@@ -191,99 +211,6 @@ export const uploadRichMenuImage: FacadeModule["uploadRichMenuImage"] = ((...arg
|
||||
loadFacadeModule()["uploadRichMenuImage"](...args)) as FacadeModule["uploadRichMenuImage"];
|
||||
export const uriAction: FacadeModule["uriAction"] = ((...args) =>
|
||||
loadFacadeModule()["uriAction"](...args)) as FacadeModule["uriAction"];
|
||||
export type Action = Record<string, unknown>;
|
||||
export type FlexBox = Record<string, unknown>;
|
||||
export type FlexBubble = Record<string, unknown>;
|
||||
export type FlexButton = Record<string, unknown>;
|
||||
export type FlexCarousel = Record<string, unknown>;
|
||||
export type FlexComponent = Record<string, unknown>;
|
||||
export type FlexContainer = Record<string, unknown>;
|
||||
export type FlexImage = Record<string, unknown>;
|
||||
export type FlexText = Record<string, unknown>;
|
||||
|
||||
export interface ListItem {
|
||||
title: string;
|
||||
subtitle?: string;
|
||||
action?: Action;
|
||||
}
|
||||
|
||||
export interface CardAction {
|
||||
label: string;
|
||||
action: Action;
|
||||
}
|
||||
|
||||
export interface LineThreadBindingsConfig {
|
||||
enabled?: boolean;
|
||||
idleHours?: number;
|
||||
maxAgeHours?: number;
|
||||
spawnSubagentSessions?: boolean;
|
||||
spawnAcpSessions?: boolean;
|
||||
}
|
||||
|
||||
interface LineAccountBaseConfig {
|
||||
enabled?: boolean;
|
||||
channelAccessToken?: string;
|
||||
channelSecret?: string;
|
||||
tokenFile?: string;
|
||||
secretFile?: string;
|
||||
name?: string;
|
||||
allowFrom?: Array<string | number>;
|
||||
groupAllowFrom?: Array<string | number>;
|
||||
dmPolicy?: "open" | "allowlist" | "pairing" | "disabled";
|
||||
groupPolicy?: "open" | "allowlist" | "disabled";
|
||||
responsePrefix?: string;
|
||||
mediaMaxMb?: number;
|
||||
webhookPath?: string;
|
||||
threadBindings?: LineThreadBindingsConfig;
|
||||
groups?: Record<string, LineGroupConfig>;
|
||||
}
|
||||
|
||||
export interface LineConfig extends LineAccountBaseConfig {
|
||||
accounts?: Record<string, LineAccountBaseConfig>;
|
||||
defaultAccount?: string;
|
||||
}
|
||||
|
||||
export interface LineGroupConfig {
|
||||
enabled?: boolean;
|
||||
allowFrom?: Array<string | number>;
|
||||
requireMention?: boolean;
|
||||
systemPrompt?: string;
|
||||
skills?: string[];
|
||||
}
|
||||
|
||||
export interface ResolvedLineAccount {
|
||||
accountId: string;
|
||||
name?: string;
|
||||
enabled: boolean;
|
||||
channelAccessToken: string;
|
||||
channelSecret: string;
|
||||
tokenSource: "config" | "env" | "file" | "none";
|
||||
config: LineConfig & LineAccountBaseConfig;
|
||||
}
|
||||
|
||||
export type LineProbeResult = BaseProbeResult<string> & {
|
||||
bot?: {
|
||||
displayName?: string;
|
||||
userId?: string;
|
||||
basicId?: string;
|
||||
pictureUrl?: string;
|
||||
};
|
||||
};
|
||||
|
||||
export type LineChannelData = {
|
||||
quickReplies?: string[];
|
||||
location?: {
|
||||
title: string;
|
||||
address: string;
|
||||
latitude: number;
|
||||
longitude: number;
|
||||
};
|
||||
flexMessage?: {
|
||||
altText: string;
|
||||
contents: unknown;
|
||||
};
|
||||
templateMessage?: unknown;
|
||||
};
|
||||
|
||||
export interface RichMenuSize {
|
||||
width: 2500;
|
||||
|
||||
Reference in New Issue
Block a user