/** * ConnectionInvocation content type for ConvosConnections (agent → * device write requests). * * Mirrors the iOS `ConnectionInvocationCodec` (PR #767): * - Content type: convos.org/connection_invocation:1.0 * - Payload: JSON-encoded `ConnectionInvocation` * - Fallback: `"Action requested: "` * - shouldPush: false */ import type { ContentTypeId, EncodedContent } from "@xmtp/node-bindings"; import type { ContentCodec } from "@xmtp/content-type-primitives"; import type { DecodedMessage } from "@xmtp/node-sdk"; import type { ArgumentValue, ConnectionKind } from "./connectionTypes.js"; export declare const ContentTypeConnectionInvocation: ContentTypeId; export declare const CONNECTION_INVOCATION_CURRENT_SCHEMA_VERSION = 1; export interface ConnectionAction { name: string; arguments: Record; } export interface ConnectionInvocation { /** Uppercase UUID (Swift's default UUID encoding). */ id: string; schemaVersion: number; /** Caller-supplied correlation ID echoed back in the result. */ invocationId: string; kind: ConnectionKind; action: ConnectionAction; /** Swift `Date` wire value: seconds since 2001-01-01 reference date. */ issuedAt: number; } export declare class ConnectionInvocationCodec implements ContentCodec { get contentType(): ContentTypeId; encode(content: ConnectionInvocation): EncodedContent; decode(content: EncodedContent): ConnectionInvocation; fallback(content: ConnectionInvocation): string | undefined; shouldPush(_content: ConnectionInvocation): boolean; } export declare function isConnectionInvocationMessage(message: DecodedMessage): boolean; export declare function getConnectionInvocationContent(message: DecodedMessage): ConnectionInvocation | undefined;