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
sessionIdstringContinue an existing thread
mode"agent" | "ask"Agent (tools) vs ask-only
projectIdstring | nullOpen-folder workspace
signalAbortSignalCancel the request
headlessbooleantrueAuto-deny shell confirmations
onEvent(event) => voidSide-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.