Intramedial is in restricted beta. At sign up or sign in, you have to provide the beta tester password you received or request one at preview@intramedial.com. Thank you.
Loading…
onramp.sourcesModule 19
Plane module
Fleet on-ramp from export
Move an existing agent fleet into the plane from an export you already have, after you have read exactly what would land.
onramp.sources lists the exports the plane can read: LangGraph, CrewAI, AutoGen, Okta, Entra, Terraform and Kubernetes. plan turns one into agents, grants, resources and edges without writing anything. apply then enrolls, grants and maps them through the live engines.
Agents act when the plane says yes, and the record says why.
Put admission in front of your MCP servers, repositories, SaaS tools and cloud accounts. Every agent gets a lease or a reason – and you keep the lever to stop any of them.
Every source is read from an export you post. Nothing connects to Okta, Entra, a cloud account or a cluster, and no provider or operator runs. Export the estate first, then plan and apply it here.
Record
The record
What gets recorded
v
The plan format version, currently onramp/0.
sources
The source names: langgraph, crewai, autogen, okta, entra, and .
Each agent as did, displayName, source and origin, the place in the export it came from.
plan.grants
The grants to write, each a principal, a resource and an action.
plan.edges
Relations between agents as from, to and rel, such as calls or may_call.
plan.warnings
Each skipped row as at and reason. An agent is never enrolled under a made-up identifier.
counts
How many agents, grants, resources, edges and warnings the plan holds.
applied
Per-step outcomes from apply, with each failure listed beside its reason.
Mechanism
Step by step
How it works
Pick a source
GET /api/v1/acp/onramp/sources returns the format version and the seven source names. Post the matching export with a source and your own namespace.
Read the plan
plan returns the agents, grants, resources and edges it would create, counts of each, and a warning for every row it skipped, with where it sat in the export.
Apply the plan
apply enrolls each agent as a customer agent, writes each grant and records each edge through the operator path of cartographer.map. A row that fails is reported, and the others still land.
Review what landed
The answer carries applied: enrolled and failed agents, granted and failed grants, mapped and failed edges, and the count of resources named.
Try it
Live demo
Run it from this page
GET/api/v1/acp/onramp/sources
// No body: this is a GET. Press Run.
Runs in a shared demo workspace with a demo key: anyone can see what it holds, so send nothing private. onramp.sources docs
Responses
Press Run to send the request on the left to the shared demo workspace.
Runs in a shared demo workspace with a demo key: anyone can see what it holds, so send nothing private.
Code
Live example
A real request
A request in the shape the API accepts, and an example response in the shape the module returns.
A team posts its compiled graph. Each node becomes an agent and each edge a calls relation, so the fleet arrives with its shape intact.
Service principals from Entra
A security lead exports service principals. Disabled ones are enrolled anyway and flagged in the warnings as not live at the source.
Reviewing before moving authority
Migration moves grants as well as names. plan shows the whole change first, so a reviewer signs off on rows rather than a summary.
A Kubernetes estate
Service accounts become agents. A workload that runs as an account missing from the export is warned about, and no principal is invented for it.
When to use something else
Enrolling one agent by hand. Use identity.enroll, which apply itself calls for each agent.
Writing policy from scratch. Mandates are authored and checked in mandates.compile; this module only carries over what the export states.
Keeping an estate in sync over time. Each run is a one-off import, and nothing here watches the source for change.
Evidence
Guarantees
What it does, and what it does not
A module is a strong claim about a narrow thing. Rely on it for exactly what it is.
It does
plan writes nothing: it reads the export you post and returns what would change.
Every DID is minted inside the namespace you supply, as did:web:<namespace>:<source>:<id>; there is no default namespace.
A plan posted back to apply is re-checked against its own source and namespace, so apply cannot be used to write arbitrary rows.
A failed step is reported with its reason, and the other rows still land.
It does not
That the export is accurate or current. It is read as posted, and the source system is not queried.
That an import can be undone. A partial apply is not rolled back; remove what you do not want with the owning module.
That the migrated agents are trusted. Each arrives as a customer agent at the baseline score and gets only the grants the export implies.
That an apply can be shown later. No source hash is stored and apply appends no ledger event.
Details
Build notes
Before you build
Who may apply
apply needs both policies.approve and agents.create, since it writes grants and enrolls agents. plan and sources need neither.
Where the export goes
Post it under export, inventory, state, graph, crew, payload or data. If none of those is present, the body itself is read as the export.
Resources are named, not created
A resource exists because a substrate has it. The plan lists the URNs the plane will use, and applied.resources.named counts them without writing anything.
Limits and metering
source and namespace are both required; an unknown source or an empty namespace is refused with 400.
A DID segment is lowercased, kept to letters, digits, ., _ and -, and cut at 64 characters.
Edges are recorded as operator-ratified. The Cartographer bounds that gate model suggestions do not apply.
plan and sources are not metered; enrolling through apply is metered like any other enrollment.
Access
API & MCP
REST and MCP
Authenticate with a workspace API key as a Bearer token. The base URL is https://api.intramedial.com.
REST endpoints
GET/api/v1/acp/onramp/sourcesList the export formats the on-ramp can read.
POST/api/v1/acp/onramp/planRead an export and return what would be created.
POST/api/v1/acp/onramp/applyEnroll, grant and map the plan, reporting each failure.
MCP actions
This module has no MCP action. Call it over REST from any agent or program.