Skip to main content

KosmosClient

Reference for @kosmos-computer/sdk v0.1.

KosmosClient​

import { KosmosClient } from "@kosmos-computer/sdk";

const client = new KosmosClient({
baseUrl: string,
token?: string,
fetch?: typeof fetch,
});
OptionDescription
baseUrlKosmos environment URL (no trailing slash)
tokenBearer token (external client or session)
fetchCustom fetch implementation (testing, Node polyfills)

Methods​

ping(): Promise<RemotePingResponse>​

GET /api/remote/ping — verify token and connectivity.

client.sessions​

MethodRouteDescription
list()GET /api/sessionsList session summaries
get(id)GET /api/sessions/:idFull session with messages
delete(id)DELETE /api/sessions/:idRemove a session
updateTitle(id, title)PATCH /api/sessions/:idRename a session

client.confirmations​

MethodRouteDescription
answer(id, approved, remember?)POST /api/confirmations/:idRespond to confirm_required

remember is "session" or "always" for extended allow options.

client.chat​

stream(options): AsyncGenerator<AgentEvent>​

POST /api/chat — stream a full agent turn.

OptionTypeDefaultDescription
messagestringrequiredUser message
sessionIdstring—Continue an existing thread
mode"agent" | "ask"—Agent (tools) vs ask-only
projectIdstring | null—Open-folder workspace
signalAbortSignal—Cancel the request
headlessbooleantrueAuto-deny shell confirmations
onEvent(event) => void—Side-effect hook per event

complete(options): Promise<ChatTurnResult>​

Convenience wrapper — streams internally and returns:

interface ChatTurnResult {
sessionId: string;
text: string; // concatenated text_delta
events: AgentEvent[];
}

Errors​

import { KosmosError } from "@kosmos-computer/sdk";

try {
await client.ping();
} catch (err) {
if (err instanceof KosmosError) {
console.error(err.status, err.message);
}
}

Low-level utilities​

import { parseSseLines, streamSse } from "@kosmos-computer/sdk";

Exported for custom integrations and tests.

Types​

All types re-export from @kosmos-computer/types:

import type { AgentEvent, Session, ChatMode } from "@kosmos-computer/sdk";

See Agent events for the event union.