openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
31 lines (30 loc) • 2.06 kB
TypeScript
//#region src/plugin-sdk/gateway-method-runtime.d.ts
/** Error envelope returned by in-process Gateway method dispatch. */
type GatewayMethodDispatchError = {
/** Stable machine-readable error code returned by the Gateway method. */code: string; /** Human-readable error summary safe to forward to the plugin caller. */
message: string; /** Optional structured method-specific diagnostics. */
details?: unknown; /** Whether the caller can retry the same request without changing params. */
retryable?: boolean; /** Suggested delay before retrying when the Gateway can estimate backoff. */
retryAfterMs?: number;
};
/** Response envelope returned to plugins after dispatching a Gateway method. */
type GatewayMethodDispatchResponse = {
/** True when the Gateway method completed and `payload` contains its result. */ok: boolean; /** Method-specific result payload for successful responses. */
payload?: unknown; /** Gateway error envelope for failed responses. */
error?: GatewayMethodDispatchError; /** Optional response metadata that plugins may pass through unchanged. */
meta?: Record<string, unknown>;
};
/** Dispatch controls for plugin-initiated Gateway method calls. */
type GatewayMethodDispatchOptions = {
/** Wait for the Gateway's final response instead of returning the first response frame. */expectFinal?: boolean; /** Maximum time to wait for Gateway dispatch before the runtime reports a timeout. */
timeoutMs?: number;
};
/**
* Dispatch a Gateway control-plane method from an authenticated plugin request scope.
*/
declare function dispatchGatewayMethod(/** Gateway method name, validated by the Gateway method router. */
method: string, /** Method-specific params forwarded without SDK-side normalization. */
params?: unknown, /** Dispatch behavior controls for response timing and timeout handling. */
options?: GatewayMethodDispatchOptions): Promise<GatewayMethodDispatchResponse>;
//#endregion
export { GatewayMethodDispatchError, GatewayMethodDispatchOptions, GatewayMethodDispatchResponse, dispatchGatewayMethod };