@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
57 lines (47 loc) • 1.36 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
ChatRequest,
ChatResponse,
ConfigResponse,
DailyRequest,
DailyResponse,
SummaryRequest,
SummaryResponse,
TitleRequest,
TitleResponse,
TranslationRequest,
TranslationResponse,
UsageRequest,
UsageResponse,
} from "./types"
/**
* AI module definition with nested AI-powered features
*/
export const aiModule = defineModule({
name: "ai",
prefix: "/ai",
routes: {
// AI chat interface - streaming response
chat: defineRoute<ChatRequest, ChatResponse>("POST", "/chat"),
// Content summarization
summary: defineRoute<SummaryRequest, SummaryResponse>("GET", "/summary"),
// Content translation
translation: defineRoute<TranslationRequest, TranslationResponse>(
"GET",
"/translation",
),
// Title generation for chat/content
summaryTitle: defineRoute<TitleRequest, TitleResponse>(
"POST",
"/summary-title",
),
// Daily summaries
daily: defineRoute<DailyRequest, DailyResponse>("GET", "/daily"),
usage: defineRoute<UsageRequest, UsageResponse>("GET", "/usage"),
// AI chat configuration
config: defineRoute<never, ConfigResponse>("GET", "/chat/config"),
},
})
// Export the API type
export type AIAPI = typeof aiModule.api
export type * from "./types"