Learn R Programming

aisdk (version 1.1.0)

ChannelAdapter: Channel Adapter

Description

Base class for transport adapters that translate external messaging events into normalized aisdk channel events.

Arguments

Public fields

id

Unique channel identifier.

config

Adapter configuration.

Methods


Method new()

Initialize a channel adapter.

Usage

ChannelAdapter$new(id, config = list())

Arguments

id

Channel identifier.

config

Adapter configuration list.


Method parse_request()

Parse a raw channel request.

Usage

ChannelAdapter$parse_request(headers = NULL, body = NULL, ...)

Arguments

headers

Request headers as a named list.

body

Raw body as JSON string or parsed list.

...

Optional transport-specific values.

Returns

A normalized parse result list.


Method resolve_session_key()

Resolve a stable session key for an inbound message.

Usage

ChannelAdapter$resolve_session_key(message, policy = list())

Arguments

message

Normalized inbound message list.

policy

Session policy list.

Returns

Character scalar session key.


Method format_inbound_message()

Format an inbound prompt for a ChatSession.

Usage

ChannelAdapter$format_inbound_message(message)

Arguments

message

Normalized inbound message list.

Returns

Character scalar prompt.


Method prepare_inbound_message()

Prepare an inbound message using session state.

Usage

ChannelAdapter$prepare_inbound_message(session, message)

Arguments

session

Current ChatSession.

message

Normalized inbound message list.

Returns

Possibly enriched inbound message list.


Method send_text()

Send a final text reply back to the channel.

Usage

ChannelAdapter$send_text(message, text, ...)

Arguments

message

Original normalized inbound message.

text

Final outbound text.

...

Optional adapter-specific values.

Returns

Transport-specific response.


Method send_status()

Optionally send an intermediate status message.

Usage

ChannelAdapter$send_status(
  message,
  status = c("thinking", "working", "error"),
  text = NULL,
  ...
)

Arguments

message

Original normalized inbound message.

status

Status name such as "thinking", "working", or "error".

text

Optional status text override.

...

Optional adapter-specific values.

Returns

Adapter-specific status result, or NULL if unsupported.


Method send_attachment()

Optionally send a generated local attachment.

Usage

ChannelAdapter$send_attachment(message, path, ...)

Arguments

message

Original normalized inbound message.

path

Absolute local file path.

...

Optional adapter-specific values.

Returns

Adapter-specific attachment result, or NULL if unsupported.


Method clone()

The objects of this class are cloneable with this method.

Usage

ChannelAdapter$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.