Janus provides first-party SDKs for Go, Python, and TypeScript. All three implement the same core operations: create mailboxes, publish tasks, pull tasks, and acknowledge completion.
Installation
go get github.com/agentium-lab/janus-sdk-go
Client creation
import "github.com/agentium-lab/janus-sdk-go/janus"
client := janus.NewClient("http://localhost:8080", janus.WithTenant("acme"))
Key methods (39 total)
// Publish a task
resp, err := client.PublishTask(ctx, &janus.PublishRequest{
SourceAgent: "product",
TargetType: "mailbox",
TargetValue: "review-mb",
Envelope: janus.Envelope{
Type: "code_review",
Payload: json.RawMessage(`{"pr_url": "..."}`),
},
})
Installation
pip install janus-sdk
Client creation
from janus_sdk import JanusClient
client = JanusClient("http://localhost:8080", tenant_id="acme")
Key methods (34 total)
# Create mailbox
client.create_mailbox("review-mb", agent_id="reviewer")
# Publish task
resp = client.publish_task({
"id": "task-001",
"source_agent": "product",
"target_type": "mailbox",
"target_value": "review-mb",
"envelope": {"type": "code_review", "payload": {...}}
})
Installation
npm install @agentium/janus-sdk
Client creation
import { JanusClient } from "@agentium/janus-sdk";
const client = new JanusClient("http://localhost:8080", { tenantId: "acme" });
Key methods (30 total)
// Create mailbox
await client.createMailbox("review-mb", { agentId: "reviewer" });
// Publish task
const resp = await client.publishTask({
id: "task-001",
sourceAgent: "product",
targetType: "mailbox",
targetValue: "review-mb",
envelope: { type: "code_review", payload: {...} }
});
The Janus CLI provides task and mailbox management from the terminal:
# Task operations
janus task list --tenant acme
janus task get task-001 --tenant acme
janus task replay task-001 --tenant acme
# Mailbox operations
janus mailbox list --tenant acme
janus mailbox inspect review-mb --tenant acme
# System
janus status
janus version