openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
111 lines • 4.09 kB
TypeScript
import { r as OpenClawConfig } from "./types.openclaw-BdCLfP4c.js";
import { n as ResolvedAgentRoute, t as ResolveAgentRouteInput } from "./resolve-route-BM7xynJX.js";
import { t as AgentEnvelopeParams } from "./envelope-Bdv6A0F1.js";
//#region src/channels/inbound-event/envelope.d.ts
type ChannelInboundEnvelopeInput = Omit<AgentEnvelopeParams, "previousTimestamp"> & {
previousTimestamp?: AgentEnvelopeParams["previousTimestamp"] | null;
};
declare function createChannelInboundEnvelopeBuilder(params: {
cfg: OpenClawConfig;
route: Pick<ResolvedAgentRoute, "agentId" | "sessionKey">;
}): (input: ChannelInboundEnvelopeInput) => string;
declare function resolveChannelInboundRouteEnvelope(params: ResolveAgentRouteInput): {
route: ResolvedAgentRoute;
buildEnvelope: (input: ChannelInboundEnvelopeInput) => string;
};
type RouteLike = {
agentId: string;
sessionKey: string;
};
type RoutePeerLike = {
kind: "direct" | "group" | "channel";
id: string | number;
};
type InboundEnvelopeFormatParams<TEnvelope> = {
channel: string;
from: string;
timestamp?: number;
previousTimestamp?: number;
envelope: TEnvelope;
body: string;
};
type InboundRouteResolveParams<TConfig, TPeer extends RoutePeerLike> = {
cfg: TConfig;
channel: string;
accountId: string;
peer: TPeer;
};
declare function createInboundEnvelopeBuilder<TConfig, TEnvelope>(params: {
cfg: TConfig;
route: RouteLike;
sessionStore?: string;
resolveStorePath: (store: string | undefined, opts: {
agentId: string;
}) => string;
readSessionUpdatedAt: (params: {
storePath: string;
sessionKey: string;
}) => number | undefined;
resolveEnvelopeFormatOptions: (cfg: TConfig) => TEnvelope;
formatAgentEnvelope: (params: InboundEnvelopeFormatParams<TEnvelope>) => string;
}): (input: {
channel: string;
from: string;
body: string;
timestamp?: number;
}) => {
storePath: string;
body: string;
};
declare function resolveInboundRouteEnvelopeBuilder<TConfig, TEnvelope, TRoute extends RouteLike, TPeer extends RoutePeerLike>(params: {
cfg: TConfig;
channel: string;
accountId: string;
peer: TPeer;
resolveAgentRoute: (params: InboundRouteResolveParams<TConfig, TPeer>) => TRoute;
sessionStore?: string;
resolveStorePath: (store: string | undefined, opts: {
agentId: string;
}) => string;
readSessionUpdatedAt: (params: {
storePath: string;
sessionKey: string;
}) => number | undefined;
resolveEnvelopeFormatOptions: (cfg: TConfig) => TEnvelope;
formatAgentEnvelope: (params: InboundEnvelopeFormatParams<TEnvelope>) => string;
}): {
route: TRoute;
buildEnvelope: ReturnType<typeof createInboundEnvelopeBuilder<TConfig, TEnvelope>>;
};
type InboundRouteEnvelopeRuntime<TConfig, TEnvelope, TRoute extends RouteLike, TPeer extends RoutePeerLike> = {
routing: {
resolveAgentRoute: (params: InboundRouteResolveParams<TConfig, TPeer>) => TRoute;
};
session: {
resolveStorePath: (store: string | undefined, opts: {
agentId: string;
}) => string;
readSessionUpdatedAt: (params: {
storePath: string;
sessionKey: string;
}) => number | undefined;
};
reply: {
resolveEnvelopeFormatOptions: (cfg: TConfig) => TEnvelope;
formatAgentEnvelope: (params: InboundEnvelopeFormatParams<TEnvelope>) => string;
};
};
/** Runtime-driven compatibility variant for shipped plugin SDK callers. */
declare function resolveInboundRouteEnvelopeBuilderWithRuntime<TConfig, TEnvelope, TRoute extends RouteLike, TPeer extends RoutePeerLike>(params: {
cfg: TConfig;
channel: string;
accountId: string;
peer: TPeer;
runtime: InboundRouteEnvelopeRuntime<TConfig, TEnvelope, TRoute, TPeer>;
sessionStore?: string;
}): {
route: TRoute;
buildEnvelope: ReturnType<typeof createInboundEnvelopeBuilder<TConfig, TEnvelope>>;
};
//#endregion
export { resolveInboundRouteEnvelopeBuilder as a, resolveChannelInboundRouteEnvelope as i, createChannelInboundEnvelopeBuilder as n, resolveInboundRouteEnvelopeBuilderWithRuntime as o, createInboundEnvelopeBuilder as r, ChannelInboundEnvelopeInput as t };