assistant-cloud
Version:
Cloud integration for assistant-ui
75 lines • 3.03 kB
TypeScript
import type { ReadonlyJSONObject } from "assistant-stream/utils";
import type { AssistantCloudAPI } from "./AssistantCloudAPI.js";
export type CloudMessage = {
id: string;
parent_id: string | null;
height: number;
created_at: Date;
updated_at: Date;
format: "aui/v0" | string;
content: ReadonlyJSONObject;
external_id?: string | null | undefined;
/** Present on a message that had a run lease: its running lease, or else its latest ended one. */
run?: CloudMessageRun | undefined;
};
export type CloudMessageRun = {
/** A lease runs until its holder ends it; the server never expires one. */
status: "running" | "ended";
/** Time since the lease's last heartbeat, measured by the server when it listed the message. */
last_heartbeat_ms_ago: number;
};
/** A run lease the server granted. */
export type CloudRunLease = {
lease_id: string;
heartbeat_interval_ms: number;
};
type AssistantCloudThreadMessageListQuery = {
format?: string;
limit?: number;
after?: string;
};
type AssistantCloudThreadMessageListResponse = {
messages: CloudMessage[];
};
type AssistantCloudThreadMessageCreateBody = {
parent_id: string | null;
format: "aui/v0" | string;
content: ReadonlyJSONObject;
external_id?: string | undefined;
parent_external_id?: string | undefined;
/** Opens a run lease on the stored message in the same request. */
open_run?: true | undefined;
/** Writes the message with `external_id` as the holder of this lease. */
lease_id?: string | undefined;
};
type AssistantCloudMessageCreateResponse = {
message_id: string;
/** Set when `open_run` opened a lease. */
run?: CloudRunLease | undefined;
};
type AssistantCloudThreadMessageUpdateBody = {
content: ReadonlyJSONObject;
/** Writes as the holder of this run lease, which renews it. */
lease_id?: string | undefined;
};
export type AssistantCloudThreadMessageFeedbackBody = {
type: "positive" | "negative";
comment?: string;
};
export type AssistantCloudThreadMessageFeedbackResponse = {
feedback_id: string;
type: "positive" | "negative";
comment?: string | null;
};
export declare const decodeCloudMessage: (value: unknown, field: string) => CloudMessage;
export declare class AssistantCloudThreadMessages {
private cloud;
constructor(cloud: AssistantCloudAPI);
list(threadId: string, query?: AssistantCloudThreadMessageListQuery): Promise<AssistantCloudThreadMessageListResponse>;
create(threadId: string, body: AssistantCloudThreadMessageCreateBody): Promise<AssistantCloudMessageCreateResponse>;
update(threadId: string, messageId: string, body: AssistantCloudThreadMessageUpdateBody): Promise<void>;
delete(threadId: string, messageIds: string[]): Promise<void>;
feedback(threadId: string, messageId: string, body: AssistantCloudThreadMessageFeedbackBody): Promise<AssistantCloudThreadMessageFeedbackResponse>;
}
export {};
//# sourceMappingURL=AssistantCloudThreadMessages.d.ts.map