Skip to main content

typesafe

CLI for TypeSafe Jev. Run it from a shell, or let an agent run it.

Jev answers noul, choice, and score questions over JSON state. It does not chat, and it only sees what you send. Invalid answers fail closed. Unused speculative heads cannot act. Ranked find lines are not evidence when the document has no answer.

Install

Python 3.10+. API key: TypeSafe console.

curl -fsSL https://github.com/maddygoround/typesafeai-cli/releases/latest/download/install.sh | bash
pipx install typesafeai-cli

pip install typesafeai-cli is the same package.

export TYPESAFE_API_KEY=apikey_…

Usage

typesafe ask takes a state file and a questions file. Point each instruction at state with backticks.

{
  "message": "I was charged twice for order A-104. Please refund the duplicate.",
  "policy": "Duplicate charges are eligible for an immediate refund."
}
{
  "refund_requested": {
    "type": "noul",
    "instructions": "Does `message` request a refund?"
  },
  "intent": {
    "type": "choice",
    "instructions": "What does `message` ask for?",
    "criteria": {
      "refund": "The customer wants money returned",
      "information": "Explanation only",
      "other": "Something else"
    }
  }
}

examples/ticket, examples/code-change, and examples/fan-out are full copies.

typesafe ask --state-file state.json --questions-file questions.json
typesafe noul "Does this request a refund?" --state "I was charged twice."
typesafe decide --answers-file last.json

Keep those JSON files under ${TMPDIR:-/tmp}/codex/<project>/. typesafe skills install matches npx skills add: --project (default) or --global / -g. A TTY asks which. Global also writes a pointer into the user agent file (~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, or ~/.grok/rules/typesafe-cli.md) so investigations load typesafe. typesafe auth status reports has_key and nothing else.

Commands

ask State file + questions file
noul / choice / score One question
find Search a file
rank Order a JSON shortlist
extract Pick a span already in the text
verify Check a claim against a source
screen Jailbreak / injection / sensitive-data / harm
suggest-skill At most one skill name
decide Map answers to yes / no / uncertain (no HTTP)
models Model aliases
smoke Live docs quickstart
auth status Whether a key is loaded
agent schema JSON command tree
skills install Official TypeSafe skill + typesafe-cli (-g for all projects)

Exit 0 answered, 1 request failed or invalid answer, 2 bad flags or questions.

Metadata

Release files for typesafeai-cli 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for typesafeai-cli 0.3.3
File Size Uploaded
typesafeai_cli-0.3.3.tar.gz 34.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for typesafeai-cli 0.3.3
File Interpreter ABI Platform
typesafeai_cli-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 81.4 kB

Release files / typesafeai_cli-0.3.3.tar.gz

Download URL typesafeai_cli-0.3.3.tar.gz
Size 34.0 kB
Tags Source
SHA-256 checksum
How to use checksums
dd4420560a38cdc7f8182bdb2a041bfd037720e67137199b3fc1afc0d5d54fc5
BLAKE2b-256 checksum
How to use checksums
75943213b6cf1b1e2e1469bc265076f271fb0edf848592283e747a285b765003
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / typesafeai_cli-0.3.3-py3-none-any.whl

Download URL typesafeai_cli-0.3.3-py3-none-any.whl
Size 47.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
19a5b8d5a09f017d09040b76267b84436858f518eb2a39bca60132ec7ee09fec
BLAKE2b-256 checksum
How to use checksums
ef11ae0dc7bcd26862c600a45c87a921406bd5f5725578a673dc4dca116af6d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page