@promptbook/remote-client
Version:
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
55 lines (54 loc) • 1.65 kB
TypeScript
import type { GeoJsonObject } from 'geojson';
import type { ImagePromptSegment } from './parseImagePrompts';
/**
* Segment that represents plain markdown text inside a chat message.
*/
/**
* Segment that represents plain markdown text inside a chat message.
*
* @private internal helper of `<ChatMessageItem/>`
*/
export type ChatTextSegment = {
type: 'text';
content: string;
};
/**
* Segment that represents a Leaflet-ready map rendered from GeoJSON data.
*/
/**
* Segment that represents a Leaflet-ready map rendered from GeoJSON data.
*
* @private internal helper of `<ChatMessageItem/>`
*/
export type ChatMapSegment = {
type: 'map';
data: GeoJsonObject;
};
/**
* Segment that represents a fenced code block inside a chat message.
*/
/**
* Segment that represents a fenced code block inside a chat message.
*
* @private internal helper of `<ChatMessageItem/>`
*/
export type ChatCodeSegment = {
type: 'code';
language?: string;
code: string;
};
/**
* Composite segment type that covers text, image prompts, map features, and code blocks.
*/
/**
* Composite segment type that covers text, image prompts, map features, and code blocks.
*
* @private internal helper of `<ChatMessageItem/>`
*/
export type ChatMessageContentSegment = ImagePromptSegment | ChatTextSegment | ChatMapSegment | ChatCodeSegment;
/**
* Splits chat message content into markdown, image prompt, and map segments while preserving their order.
*
* @private internal helper of `<ChatMessageItem/>`
*/
export declare function splitMessageContentIntoSegments(content: string): ReadonlyArray<ChatMessageContentSegment>;