aaimake

Documentation

TypeScript SDK

@aimake/sdk HTTP client for aimake serve — plan, graph, registry, lineage, and dashboard APIs from Node or CI.

@aimake/sdk is an HTTP client for aimake serve — the same JSON API the web dashboard uses. It is the control plane: inspect plans, graphs, builds, registry, lineage, and promote. Builds still execute in the Python process (CLI, Python SDK, or Docker).

Related: Dashboard, Python SDK, CI/CD.


Prerequisites

  1. Aimake project with aimake.yaml
  2. API server:
aimake serve --port 8765
# or
aimake serve --host 0.0.0.0 --port 8765
  1. Package from the monorepo:
cd sdk/typescript
npm install
npm run build
# optional: npm link

Set AIMAKE_API (or pass baseUrl) to the serve URL. Default base URL is http://127.0.0.1:8765.


Usage

import { Aimake } from "@aimake/sdk";

const ai = new Aimake({
  baseUrl: process.env.AIMAKE_API ?? "http://127.0.0.1:8765",
});

await ai.health();
const plan = await ai.plan();
const overview = await ai.overview();
const lineage = await ai.lineage();

console.log(plan.to_run, overview.stats);

Errors raise AimakeError with HTTP status and optional body.


API surface

MethodHTTPMirrors
health()GET /api/healthLightweight ping
overview()GET /api/overviewProject + plan + statuses + recent builds
plan()GET /api/planProject.plan()
graph()GET /api/graphDependency graph / DOT
builds(limit?)GET /api/buildsBuild history
lineage()GET /api/lineageLineage graph
repro()GET /api/reproReproducibility payload
settings()GET /api/settingsConfig summary (no secret values)
cache()GET /api/cacheCache / team status
registry({ artifact, stage })GET /api/registryRegistry entries
promote(artifact, version, stage, opts?)POST /api/registry/promotePolicy-gated promote

Example promote:

await ai.promote("evaluation", "v3", "production", { force: false });

Policy gates are enforced server-side — see Security.


Python vs TypeScript

ConcernPython (aimake.sdk)TypeScript (@aimake/sdk)
Load config / execute buildAimake.load().build()CLI / Docker / Python job; inspect via overview() / builds()
Plan / graph / registryIn-processHTTP client
CI imagepip install aimake or containerCall API or docker run … aimake build
Lineage / reproexport_lineage() / repro_report()lineage() / repro()

Typical architecture

┌─────────────────┐     HTTP      ┌──────────────────┐
│  Node / CI / UI │ ────────────► │  aimake serve     │
│  @aimake/sdk    │               │  (Python project) │
└─────────────────┘               └────────┬─────────┘
                                           │
                                           ▼
                                  aimake build / cache / registry

Run serve next to the project root (or mount it in Docker):

docker run --rm -v "$PWD:/workspace" -w /workspace -p 8765:8765 \
  ghcr.io/arjun988/aimake:latest serve --host 0.0.0.0 --port 8765

Then point the TS client at http://localhost:8765.


Package location

Source and README: sdk/typescript on GitHub.