Orkestia
Blog
Cloud Connections

TypeSafe

Connect TypeSafe Jev (System One) and run typed choice, score, and noul decisions through typesafe.systemone.evaluate — not a chat model

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.

Do not paste a TypeSafe key into an openai or openrouter connection. Connect/test for those providers hits chat-style endpoints. TypeSafe has none.

Setting it up

  1. Create an API key in the TypeSafe dashboard.
  2. In Orkestia, create a connection with provider_type typesafe (console Connections picker, or connection.setup over MCP). Required: api_key. Recommended: connection_name, base_url.
  3. 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:

FieldRequiredNotes
connection_uuidyesThe TypeSafe connection
stateyesText or JSON to judge
questionsyesNamed objects, each with type and instructions
modelnoDefaults to jev-latest

Three question types:

  • choice — pick one key from a criteria object
  • score — ordered levels; criteria is a list of at least two strings
  • noul — 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 is alpha. The connection and typesafe.systemone.evaluate are live. Dedicated Staff inbox triage is not a built-in product toggle; you compose the evaluate step yourself.