344 Commits

Author SHA1 Message Date
junhsss 85ba557162 docs(cli): say a computer is deleted at its timeout unless --auto-pause is set (#114) 2026-09-13 03:41:06 +09:00
junhsss b42f477e9a feat: manage secrets and environments from the CLI (#113)
* feat: manage secrets and environments from the CLI

* chore: release 0.5.0-preview.6
v0.5.0-preview.6
2026-09-12 19:26:58 +09:00
junhsss 81543b88c6 chore: release 0.5.0-preview.5 (#112) v0.5.0-preview.5 2026-09-12 19:06:36 +09:00
junhsss 08f9b03572 feat(computer): add --idle-timeout and --env (#111) 2026-09-12 06:02:09 +09:00
junhsss 3da250a19d feat(computer): add stop, start and restart (#110) 2026-09-12 05:52:49 +09:00
junhsss f9c16b8301 feat(computer): drop region from create and list (#105)
* feat(computer): drop region from create and list

* chore: bump version
v0.5.0-preview.4
2026-09-11 03:52:04 +09:00
junhsss 1b2b36f1e7 feat(computer): make templates optional (#104)
* feat(computer): make --template optional and drop --disk

* chore: bump version
v0.5.0-preview.3
2026-09-11 03:02:51 +09:00
junhsss b078905d4e feat: computer checkpoints (#103)
* feat(computer): add checkpoint commands

* feat(computer): add a quota command

* chore: bump version
v0.5.0-preview.2
2026-09-11 00:55:06 +09:00
junhsss e192a0cc49 fix(init): clean up agent onboarding leftovers and persist onboarding source (#102) 2026-09-10 21:17:52 +09:00
junhsss b8e53881ca fix(logout): warn when STEEL_API_KEY is still set in the environment (#101) 2026-09-10 21:00:14 +09:00
dependabot[bot] abd1269cd0 chore(deps): bump jiff from 0.2.23 to 0.2.24 (#80)
Bumps [jiff](https://github.com/BurntSushi/jiff) from 0.2.23 to 0.2.24.
- [Release notes](https://github.com/BurntSushi/jiff/releases)
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.23...jiff-static-0.2.24)

---
updated-dependencies:
- dependency-name: jiff
  dependency-version: 0.2.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-10 20:34:36 +09:00
junhsss a985d5f066 docs: regenerate the cli reference (#100)
* docs(generator): render global options and the intro

* docs: regenerate the cli reference
2026-09-10 20:20:03 +09:00
junhsss a355a49a9c fix(deps): clear the cargo deny advisories (#99) 2026-09-10 20:19:23 +09:00
dependabot[bot] 7352976b9f chore(deps): bump actions/checkout from 6 to 7 (#94)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-10 18:37:27 +09:00
dependabot[bot] 43ee8bf9f6 chore(deps): bump clap from 4.6.0 to 4.6.1 (#83)
Bumps [clap](https://github.com/clap-rs/clap) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.6.0...clap_complete-v4.6.1)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-10 18:37:13 +09:00
junhsss 97b72ff545 feat: steel computer (#98)
* feat(computer): add computer commands with exec and ssh

* fix(computer): flush bridge writes and read gateway error bodies

* test(computer): drive exec and ssh end to end through fake servers

* chore(api): regenerate bindings from the current spec

* feat(computer): list exec and ssh in describe

* chore: bump version
2026-09-10 18:26:14 +09:00
justplays b0f6c44d98 fix(daemon): treat timeout: 0 from self-hosted server as 'no expiry' (#95)
Self-hosted Steel server returns `timeout: 0` (or `inactivityTimeout: 0`)
to mean 'session never expires'. `get_session_timeout` /
`get_session_inactivity_timeout` passed `Some(0)` through unchanged,
and `daemon/server.rs` then took that with `Option::or`:

    let effective_timeout = get_session_timeout(&session).or(params.timeout_ms);
    // Some(0).or(Some(...)) == Some(0)

`expires_at` was computed as `created_at + 0 - 30s`, i.e. already in
the past, so the first `tokio::select!` tick resolved `expiry_sleep`,
`break`ed the loop, dropped the `UnixListener`, and the CLI immediately
got ECONNRESET on `steel browser start`.

Fix: filter `0` at the parse site with `Some(n).filter(|&n| n > 0)`,
so every call site automatically gets the right semantics and
`params.timeout_ms` (user's explicit `--session-timeout` or
`--inactivity-timeout`) falls through correctly.

Added unit tests for integer 0, string "0", all three key names,
precedence unchanged, and a regression guard for nonzero values.

Ad-hoc verification (cargo not installable in sandbox; cross-language
port in /tmp/hermes-verify-zero-timeout-fix.py): 28/28 cases pass,
including before/after reproduction of the actual bug scenario.

Co-authored-by: Hermes Agent <hermes@nous.research>
2026-07-06 14:40:50 -04:00
Nikola Balic f1e476e5cd feat(cli): surface project environment in config and doctor (#93)
Users had no way to tell which project (environment) their API key is
scoped to, or whether it is production. The API exposes this via
GET /projects (name, slug, isProduction), so:

- add src/api/projects.rs: /projects binding, response parsing, and
  current-project resolution (single project wins; among several, a
  sole default wins; ambiguity resolves to nothing rather than a guess)
- steel doctor: new "Project" check after auth, fetched concurrently
  with the auth probe and silently skipped on error so doctor never
  degrades because of an informational check
- steel config: print project name/slug and environment label, best
  effort with a 2s timeout so the command stays usable offline

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 11:12:33 +02:00
nas 19ca4b7149 chore: bump package version v0.4.4 2026-06-04 10:18:29 -04:00
nas 5b9385b306 feat(skills): add --all option and interactive catalog flow (#89) v0.4.3 2026-06-04 09:38:48 -04:00
nas aebc657b85 feat(cli): add skills and sessions management commands (#88)
* feat(cli): add skills and sessions management commands

* fix(cli): resolve skills lint failures

* docs(readme): add agent-browser migration guide link

* chore: bump steel-cli version to 0.4.3
2026-06-03 16:13:35 -04:00
junhsss d7fa4c4a1e chore: bump version v0.4.2 2026-06-03 02:16:43 +09:00
junhsss ce3ba82b33 feat: polish inactivity timeout support 2026-06-03 02:09:28 +09:00
junhsss a4c8414cb3 feat: inactivity timeout 2026-06-03 01:53:29 +09:00
junhsss f911b480a3 chore: remove node cli from docs 2026-05-12 15:28:02 -04:00
junhsss 72eeb0aeb1 chore: bump version v0.4.1 2026-05-01 10:49:32 -04:00
junhsss 24d11e0293 fix: avoid duplicate compinit in zsh installer 2026-04-30 14:01:18 -04:00
junhsss 43ae28d8ab feat: add online fallback for forge 2026-04-29 18:25:21 -04:00
junhsss 3c23378fbf chore: bump version v0.4.0 2026-04-29 17:12:45 -04:00
junhsss 0a902e188d feat: rework forge (#85)
* feat: embed templates

* feat: forge list

* feat: safe build

* feat: dynamic fetch

* feat: use zip

* feat: nits

* ci: verify cookbook sha

* feat: bump cookbook version

* chore: bump cookbook
2026-04-29 17:07:39 -04:00
huss 3ca6c9b3ee Merge pull request #78 from steel-dev/feat-posthog-cli-telemetry
feat(cli): add PostHog telemetry tracking
2026-04-27 15:12:47 -04:00
hussufo 4631569fce fix: use async mutex in telemetry tests 2026-04-27 15:04:07 -04:00
junhsss 3fbe5d82de feat: improve telemetry (#79)
* feat(cli): print first-run telemetry notice

* refactor(cli): switch telemetry mutex to parking_lot

* refactor(cli): batch telemetry events via background flusher
2026-04-27 14:09:27 -04:00
hussufo 62241b3d96 feat(cli): add PostHog telemetry tracking 2026-04-27 14:09:26 -04:00
junhsss d1b6b51065 fix: cargo deny 2026-04-24 01:30:22 +09:00
junhsss ed9be01313 fix: clippy 2026-04-23 17:45:50 +09:00
junhsss a08bd80164 docs: add demo gif 2026-04-23 17:22:58 +09:00
junhsss 09a59a8cc7 chore: update README 2026-04-23 16:01:01 +09:00
junhsss df925cf13e feat: shell completion 2026-04-23 13:19:02 +09:00
nibzard 4c365844b7 feat: support Pi coding agent
Detect Pi via ~/.pi/ and install the Steel skill to the shared
~/.agents/skills/steel-browser/SKILL.md path Pi scans as a fallback.
Pi follows the same Agent Skills standard as Claude Code and Codex,
so SKILL_CONTENT is reused verbatim.
2026-04-22 17:24:07 +02:00
junhsss 1b45f6b0e4 chore: canonicalize install command 2026-04-22 21:15:26 +09:00
junhsss bd93d308a1 chore: remove stale refs 2026-04-22 21:12:06 +09:00
junhsss f6f304b06e feat: support Codex and OpenCode 2026-04-22 21:02:43 +09:00
junhsss 8dcfba7b17 fix: upgrade rustls-webpki to resolve RUSTSEC-2026-0098/0099 v0.3.8 2026-04-16 21:41:16 +09:00
junhsss 5106df35a1 chore: bump version 2026-04-16 21:36:30 +09:00
junhsss 140692b548 feat: simplify --agent flow 2026-04-16 21:35:01 +09:00
junhsss c046ecac51 fix: forge command 2026-04-14 22:28:45 +09:00
junhsss 5c93d80299 feat: always print agent guide in --agent mode 2026-04-14 20:20:22 +09:00
junhsss 451d32c54d fix: deps 2026-04-14 15:30:35 +09:00
dependabot[bot] d2f06df01b chore(deps): bump aes from 0.8.4 to 0.9.0 (#71)
Bumps [aes](https://github.com/RustCrypto/block-ciphers) from 0.8.4 to 0.9.0.
- [Commits](https://github.com/RustCrypto/block-ciphers/compare/aes-v0.8.4...aes-v0.9.0)

---
updated-dependencies:
- dependency-name: aes
  dependency-version: 0.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 23:46:21 +09:00