UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

62 lines (61 loc) • 2.91 kB
import type { ChannelActivityRenderer } from "#channel/activity-renderer.js"; import type { ActivitySnapshotV1 } from "#protocol/activity.js"; import { type SlackBotToken } from "#public/channels/slack/api.js"; declare const SLACK_ACTIVITY_RENDERER: unique symbol; export interface SlackActivityRenderer { readonly id: string; readonly [SLACK_ACTIVITY_RENDERER]: true; } /** * Activity snapshot passed to an experimental Slack activity renderer. * * This contract is unstable and may change or be removed in any release. */ export type ExperimentalSlackActivitySnapshot = ActivitySnapshotV1; /** Slack destination passed to an experimental activity renderer. */ export interface ExperimentalSlackActivityDestination { readonly channelId: string | null; readonly installationTeamId: string | null; readonly teamId: string | null; readonly threadTs: string | null; readonly triggeringUserId: string | null; } /** * Experimental custom Slack activity renderer. * * Renderer state is retained by renderer id between snapshots. This contract * is unstable and may change or be removed in any release. */ export interface ExperimentalSlackActivityRenderer<State = unknown> { readonly id: string; render(input: { readonly destination: ExperimentalSlackActivityDestination; readonly snapshot: ExperimentalSlackActivitySnapshot; readonly state: State | undefined; }): Promise<State | undefined>; dispose?(input: { readonly destination: ExperimentalSlackActivityDestination; readonly state: State | undefined; }): Promise<void>; } /** Creates the compact Slack assistant-thread activity renderer. */ export declare function experimental_slackActivityStatus(): SlackActivityRenderer; /** Creates one experimental update-in-place Unicode activity tree per root turn. */ export declare function experimental_slackActivityTree(): SlackActivityRenderer; /** Creates one experimental native Slack plan stream per root turn. */ export declare function experimental_slackActivityPlan(): SlackActivityRenderer; /** * Registers an experimental custom Slack activity renderer. * * The renderer contract is unstable and may change or be removed in any * release. */ export declare function experimental_slackActivityRenderer<State>(renderer: ExperimentalSlackActivityRenderer<State>): SlackActivityRenderer; export declare function hasSlackActivityStatus(renderers: readonly SlackActivityRenderer[] | undefined): boolean; export declare function buildSlackActivityRenderers(input: { readonly botToken: SlackBotToken | undefined; readonly renderers: readonly SlackActivityRenderer[]; }): readonly ChannelActivityRenderer[]; export declare function activityMessages(snapshot: ActivitySnapshotV1): ReadonlyMap<string, string>; export declare function selectSlackActivityStatus(snapshot: ActivitySnapshotV1): string; export {};