# Changelog

## 0.5.0

- `conto pay` handles payments that need approval. It prints the review link, opens it in a
  terminal, waits for the decision, and sends the payment once it is approved.
  `conto pay status <requestId>` checks a waiting payment and sends it if it was approved
  meanwhile, and `conto pay execute <requestId>` sends an approved one. `--wait <seconds>`, `--no-wait`, and `--no-open`
  control the wait. Exit codes: 0 sent, 1 failed, 3 rejected, 4 still waiting, 5 expired or
  cancelled.
- New owner commands with the organization login: `agents` (list, show, pause, resume, freeze,
  unfreeze, delete, keys), `wallets` (freeze, unfreeze, link, unlink, limits), `counterparties`
  (list, show, add, block, approve), `channels` (list, add, test, remove), `policies versions`,
  `policies rollback`, `policies simulate`, `alerts ack`, `alerts resolve`, and `changes status`.
- The key from `conto login` can only tighten controls, because an agent on the same machine can
  read it. Changes that loosen controls, including `policies update`, `delete`, `unassign`, and
  `remove-rule`, go to owner review: the CLI prints the review link, waits, and reports the
  outcome. A new SDK key is shown once in the terminal that asked. A dashboard-made key in
  `CONTO_ORG_API_KEY` still makes these changes directly. Exit codes: 0 applied, 1 failed,
  3 declined, 4 still waiting, 5 expired.
- `init` with the login key links the wallet and creates the SDK key through one owner review.
  A headless run stops with exit 4 and the review link, and `--resume` collects the key once the
  change is confirmed.
- `npx @conto_finance/create-conto-agent test-report` now runs the CLI command.

## 0.4.7

- Add `conto test-report` to export allowed, denied, and optional human-review payment evidence without executing a payment. Reports use owner-only files, refuse overwrites, and distinguish payment completion, control verification, audit evidence, and saving. Incomplete evidence exits with status 2.

## 0.4.6

- Generated starters support `--status REQUEST_ID` and `--resume REQUEST_ID`, so continuing after owner approval uses the existing request instead of creating another payment.

## 0.4.5

- `sandbox claim` and `sandbox claim-status` hand an anonymous sandbox to its owner through the
  existing claim link, from a remote or headless shell. A repeated `sandbox claim` reuses a pending
  link, and `--wait` checks until the sandbox is claimed or the timeout passes. The polling token
  stays in the owner-only `.conto/sandbox-claim.json`. Exit codes: 0 link issued or sandbox claimed,
  1 request failed, 2 credential or local state problem, 3 expired, 4 wait timed out, 5 rate
  limited, 130 interrupted.
- `init` records its progress and stops with a partial result (exit 3) when a later step, such as
  creating the default policy, fails. Earlier versions reported success. `--resume` creates only
  what is missing and `--restart` discards the record. Agents created by `init` carry an external
  reference so a resume can find them.
- `doctor --json` prints one JSON document that includes the setup diagnostics when the server
  returns them. Exit codes: 0 no action needed, 1 action required, 2 the check could not complete.

## 0.4.4

- `--sandbox` stores the new sandbox setup key in `.conto/sandbox-setup.env`, an owner-only file
  in an owner-only directory that is added to `.gitignore`. It stays out of `.env.local`, which the
  payment runtime loads. `--json` output reports where the key is stored (`setupKeyStoredIn` and
  `setupKeyEnv`), never the key itself. Servers that do not issue setup keys keep the previous
  output.

## 0.4.3

- A confirmed mainnet setup creates the agent in the `PROD` environment. Earlier versions always
  created a `DEV` agent, and Conto denied every payment from its mainnet wallet with "DEV agents
  cannot use mainnet or unclassified wallets". Testnet setups still create a `DEV` agent.

## 0.4.2

- `conto pay --dry-run` no longer calls the payments API. It validates the input locally, prints the
  request it would send, and states that no policy evaluation was performed. Earlier versions created
  a real payment request, which could open an approval.
- Trust score rules take a value from 0.0 to 1.0, matching how Conto stores counterparty trust
  scores. Values from 1 to 100 are rejected with a message instead of creating a rule that never
  passes.
- Velocity rules ask for a time window and a transaction count and save
  `{"maxCount": n, "period": ...}`. Earlier versions saved a bare number, which Conto reads as a
  dollar amount per hour.
- `conto pay` checks the amount and recipient format before sending.
- Setup hints, the generated `example.mjs`, and `.env.local` use
  `npx @conto_finance/create-conto-agent`. Bare `npx create-conto-agent` is not on npm, and bare
  `npx conto` fetches an unrelated package unless the CLI is installed in the project.
- Package description, homepage, and README updated. 0.4.1 never reached npm, so 0.4.2 also includes
  its changes.

## 0.4.1

- Publish through GitHub Actions trusted publishing, replacing the token authentication used by the unsuccessful 0.4.0 release.
- Bind authenticated requests to an origin from the credential's configuration source. Custom
  project origins must now be supplied explicitly with `CONTO_BASE_URL` or saved with `conto login`.

## 0.4.0

- Ship the Conto CLI quickstart, account diagnostics, payment commands, and MCP handoff.
