@eos-ai/sdk
v1.0.1
Published
TypeScript SDK for the EOS GitHub Org Context API.
Readme
@eos-ai/sdk
TypeScript client for the EOS Memory API — semantic search over your engineering team's knowledge graph.
API surface evolves until Loop 3. Breaking changes in minor versions until
1.0.0.
Install
npm install @eos-ai/sdkQuick start
import { EosClient } from "@eos-ai/sdk";
const client = new EosClient({ apiKey: "eos_..." });
const r = await client.search("what changed in auth last week");
for (const node of r.data.results) {
console.log(`[${node.node_type}] ${node.content} score=${node.score}`);
}API
new EosClient(opts?)
| Option | Type | Default | Description |
|-----------|----------|--------------------------|--------------------------|
| apiKey | string | process.env.EOS_API_KEY| EOS API key (eos_…) |
| baseUrl | string | https://eos.dev | Override for local dev |
client.search(query, opts?)
| Option | Type | Default | Description |
|-----------------------|-----------|---------|----------------------------------|
| limit | number | 5 | Max knowledge nodes (1–20) |
| includeConversations| boolean | true | Include conversation summaries |
Returns SearchResponse:
{
data: {
query: string;
results: SearchResult[]; // ranked knowledge nodes
conversations: ConversationResult[]; // conversation summaries
total: number;
};
meta: {
request_id: string;
took_ms: number;
cached: boolean;
};
errors: null | string[];
}Insights & recommendations
Structured, actionable engineering intelligence — the same signals EOS delivers
in Slack, typed for your own dashboards. Each item carries a severity and,
where relevant, a suggested_action. All return the { data, meta } envelope.
// Sprint on-time probability (Pro+)
const dc = await client.insights.deliveryConfidence();
console.log(dc.data.score, dc.data.status); // 58 "at_risk"
// Per-developer burnout (Starter+). A member key sees only its own.
const burnout = await client.insights.burnout({ developer: "dan" });
// Codebase risk (Starter+)
const hot = await client.insights.hotspots({ days: 90, limit: 10 });
const silos = await client.insights.knowledgeRisk();
// Flow anomalies vs the team baseline (Starter+)
const anomalies = await client.insights.anomalies({ severity: "critical" });
// Who should review the stalled PRs (Starter+)
const reviewers = await client.recommendations.reviewers();
const forPr = await client.recommendations.reviewers({ repo: "acme/api", prNumber: 482 });| Method | Endpoint | Plan |
|---|---|---|
| insights.deliveryConfidence(opts?) | /v1/insights/delivery-confidence | Pro+ |
| insights.burnout(opts?) | /v1/insights/burnout | Starter+ |
| insights.hotspots(opts?) | /v1/insights/hotspots | Starter+ |
| insights.knowledgeRisk(opts?) | /v1/insights/knowledge-risk | Starter+ |
| insights.anomalies(opts?) | /v1/insights/anomalies | Starter+ |
| recommendations.reviewers(opts?) | /v1/recommendations/reviewers | Starter+ |
Get an API key
eos.dev/settings/api — Starter plan or higher.
