slct

planned · not published

build and operate · cli

the cli isn't published yet.

a slct command is planned: the same plan, execute and verify calls as the api, from a terminal. it isn't on npm or any other registry today, so there is nothing to install. use the api with curl until it ships.

today

use the api instead

every planned command is one call to an endpoint that already runs. plan needs no key:

curl -s https://slct.sh/v1/select/plan \
  -H 'content-type: application/json' \
  -d '{"task":"extract the invoice total",
       "success":{"validators":["json_schema"],"required_fields":["total"]},
       "limits":{"max_total_cost_usd":0.02,"deadline_ms":4000,"max_attempts":2}}'

keys and credit live in the console: sign in, mint a key, top up your account's credit. the api reference covers every endpoint and error.

npm

don't run npm i -g slct

the name slct on npm belongs to an unrelated package. installing it won't give you this cli. when the cli ships, this page will name the exact package and command.

planned

planned commands

the interface as it stands in the source today. names and flags can change before it ships.

commandcallskey
slct plan "<task>" --max 0.02 --deadline 4000POST /v1/select/planno
slct execute "<task>" --input in.json --max 0.02POST /v1/select/executeyes
slct verify (result json on stdin, read until the pipe closes; </dev/null for none)POST /v1/select/verifyno
slct lookup <id>, slct events <id>GET /v1/select/{id}, /eventsno
slct capabilities [slice]GET /v1/models/capabilitiesno
slct healthGET /v1/healthno
slct keysGET /v1/keyssign-in
slct checkout starter --key-id IDPOST /v1/billing/checkoutsign-in

"sign-in" means the session from /login, not an slct_ key. today the console does both of those for you.

source

the interface as it stands in the source, today

Planned; not published -- see "the npm name" above. The output below is slct --help, captured live from cli/slct.mjs at build time: it is exactly what the CLI prints if you run it from a checkout, not a paraphrase, and not an install instruction.

slct 0.4.1 — the verification and receipts service on WAVE's own provider accounts

  slct demo [--keep]
  slct plan "<task>" [--max 0.02] [--deadline 4000] [--keep | --retention zero|keep]
      (--keep stores the plan so lookup/events can read its id; the default zero stores nothing)
  slct verify [< result.json]   (stdin is read to EOF; nothing piped runs the demo; pass </dev/null for none)
  slct capabilities [slice]
  slct health [--deep]
  slct execute "<task>" --key slct_... [--input in.json] [--tool NAME] [--allow a,b] [--max 0.02]
  slct keys [--jwt JWT]
  slct checkout starter --key-id ID [--jwt JWT]
  slct lookup <id> | slct events <id>   (ids from execute, or plan --keep)
  slct byok "<task>" --base URL --model M --key KEY
  slct compose <mode> "<task>" --legs legs.json [--judge j.json] --key PROVIDER_KEY
  slct oneshot "<task>" --legs legs.json --key PROVIDER_KEY [--expect TEXT]
      (compose and oneshot need SLCT_KEY=slct_... as well; a login JWT is refused)
  slct evaluate --file items.json | < items.json   (stdin is read to EOF: a pipe that never closes waits; pass </dev/null for none)
  slct scoreboard [slice]
  slct mcp   (stdio MCP server; the same server as @slct/mcp)

Config ~/.config/slct/config.json {api, key}; env SLCT_API/SLCT_KEY override. Login JWT via --jwt/SLCT_JWT for keys+checkout.

planned

planned config

  • a key in ~/.config/slct/config.json as {"key": "slct_…"}, or in the SLCT_KEY environment variable.
  • the cli never prints the key.