TypeSafe
TypeSafe Jev is a decision API. You send unstructured context plus typed questions; you get structured answers a composition can branch on. It is not OpenAI-compatible and it is not a model provider for Staff actors. Chat, code, and tool loops stay on OpenAI, Anthropic, Azure OpenAI, and the other LLM connections.
The live capability is typesafe.systemone.evaluate. How to put it in front of compositions, Staff, DGI, and cluster actions is in Typed decisions with TypeSafe.
What the grant is
A TypeSafe connection is a Bearer API key from your TypeSafe dashboard. Orkestia stores it encrypted on an org-scoped connection and never puts it in Staff env, actor env, or workflow inputs. Rotating or revoking the key in TypeSafe stops the next evaluate.
Optional base_url defaults to https://api.typesafe.ai/v1. Custom URLs must be HTTPS on a public host.
openai or openrouter connection. Connect/test for those providers hits chat-style endpoints. TypeSafe has none.Setting it up
- Create an API key in the TypeSafe dashboard.
- In Orkestia, create a connection with
provider_typetypesafe(console Connections picker, orconnection.setupover MCP). Required:api_key. Recommended:connection_name,base_url. - Connect/test posts an empty body to
/systemone. 401 means a bad key. 400 or 422 means the key authenticated without spending an evaluation.
Real decisions go through typesafe.systemone.evaluate, billed to your TypeSafe account.
Run an evaluation
Inputs:
| Field | Required | Notes |
|---|---|---|
connection_uuid | yes | The TypeSafe connection |
state | yes | Text or JSON to judge |
questions | yes | Named objects, each with type and instructions |
model | no | Defaults to jev-latest |
Three question types:
choice— pick one key from acriteriaobjectscore— ordered levels;criteriais a list of at least two stringsnoul— yes / no
{
"connection_uuid": "<typesafe-connection-uuid>",
"state": "The change deletes production with no rollback plan.",
"questions": {
"action": {
"type": "choice",
"instructions": "What should we do?",
"criteria": {
"allow": "Safe to proceed",
"block": "Must not proceed",
"review": "Needs a human"
}
},
"risk": {
"type": "score",
"instructions": "How risky is this change?",
"criteria": ["low", "medium", "high"]
},
"needs_human": {
"type": "noul",
"instructions": "Does this need a human in the loop?"
}
}
}
Terminal state_data includes answers (same keys as questions) plus usage / token counts. Discover the schema with get_workflow_schema("typesafe.systemone.evaluate") or on reference.orkestia.dev/typesafe.
typesafe.systemone.evaluate are live. Dedicated Staff inbox triage is not a built-in product toggle; you compose the evaluate step yourself.Kubernetes
Connect any conformant Kubernetes cluster to your organization and unlock the kubernetes.* workflow family — deployments, jobs, manifests, RBAC, and full cluster operations, cloud-agnostic
DNS Provider Connections
Connect DNS providers to manage DNS records, configure custom domains, and automate DNS operations.
