Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions .changeset/th-crawl-map-scrape-flags.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/th-knowledge-search.md

This file was deleted.

18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# @smooai/smooth

## 0.20.0

### Minor Changes

- 9fbab21: Extend the `th` agentic-tooling commands against the api-prime crawl/search/knowledge routes:

- **`th crawl crawl <seed>`** — new authed whole-site crawl. Supports `--limit`, `--max-depth` (sent as `maxDiscoveryDepth`), `--extract` (JSON spec verbatim or wrapped as `{"prompt": …}`), `--json`, and `--org`. Default output is a compact `completed/total` summary plus one crawled URL per line.
- **`th crawl map <url>`** — new authed URL-discovery command. Supports `--search`, `--limit`, `--include-subdomains`, `--json`, and `--org`; prints one discovered link per line by default.
- **`th crawl scrape`** — new `--extract <SPEC>` (JSON verbatim or `{"prompt": …}`), `--screenshot` (appends `screenshot` to the formats), and `--render <MODE>` flags. `--extract`/`--render` are authed-only; the free tier surfaces the backend's rejection.
- **`th search --scrape`** — forces `searchDepth: "advanced"` so each result is crawl-enriched with full page content (authed tier; clamped on the free tier).
- **`th api knowledge add-url <url>`** — new authed command that kicks off a crawl→ingest job into the org's knowledge base via `POST /organizations/{org}/knowledge/websites` (`--name` defaults to the URL).

- 59d926b: `th knowledge` — promote knowledge to a top-level command with semantic search.

`th knowledge search "<query>"` runs the SAME retrieval an agent does over the org's OWN knowledge base (embed → dense+sparse hybrid → RRF), returning the most relevant passages. Scope to a single document with `--doc <id>`, cap with `--max`, or get raw JSON with `--json`. It rounds out the agentic-coding trio alongside `th search` (the web) and `th crawl` (a page).

The full knowledge surface (`list` / `show` / `content` / `upload` / `website` / `process` / `update` / `delete`) is now available top-level as `th knowledge` (alias `kb`), same as `th api knowledge`. Backed by the new authed `POST /organizations/:org_id/knowledge/search` endpoint (SMOODEV-2610).

## 0.19.1

### Patch Changes
Expand Down
32 changes: 16 additions & 16 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 15 additions & 15 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ members = ["crates/*"]
exclude = ["crates/smooth-bigsmooth/tests/fixtures"]

[workspace.package]
version = "0.19.1"
version = "0.20.0"
edition = "2021"
license = "MIT"
repository = "https://github.com/SmooAI/smooth"
Expand Down Expand Up @@ -204,20 +204,20 @@ prost-types = "0.13"
smooth-operator = { git = "https://github.com/SmooAI/smooth-operator-core.git", rev = "b43c04fe", package = "smooai-smooth-operator-core" }
# smooth-owned coding-harness extensions to the generic engine (re-homed from
# the engine when it went generic at 0.14.0). See crates/smooth-cast.
smooth-cast = { version = "0.19.1", path = "crates/smooth-cast", package = "smooai-smooth-cast" }
smooth-bigsmooth = { version = "0.19.1", path = "crates/smooth-bigsmooth", package = "smooai-smooth-bigsmooth" }
smooth-policy = { path = "crates/smooth-policy", version = "0.19.1", package = "smooai-smooth-policy" }
smooth-web = { version = "0.19.1", path = "crates/smooth-web", package = "smooai-smooth-web" }
smooth-scribe = { version = "0.19.1", path = "crates/smooth-scribe", package = "smooai-smooth-scribe" }
smooth-narc = { version = "0.19.1", path = "crates/smooth-narc", package = "smooai-smooth-narc" }
smooth-archivist = { version = "0.19.1", path = "crates/smooth-archivist", package = "smooai-smooth-archivist" }
smooth-code = { version = "0.19.1", path = "crates/smooth-code", package = "smooai-smooth-code" }
smooth-pearls = { path = "crates/smooth-pearls", version = "0.19.1", package = "smooai-smooth-pearls" }
smooth-diver = { version = "0.19.1", path = "crates/smooth-diver", package = "smooai-smooth-diver" }
smooth-tunnel = { version = "0.19.1", path = "crates/smooth-tunnel", package = "smooai-smooth-tunnel" }
smooth-bench = { version = "0.19.1", path = "crates/smooth-bench", package = "smooai-smooth-bench" }
smooth-tmux = { version = "0.19.1", path = "crates/smooth-tmux", package = "smooai-smooth-tmux" }
smooth-api-client = { version = "0.19.1", path = "crates/smooth-api-client", package = "smooai-smooth-api-client" }
smooth-cast = { version = "0.20.0", path = "crates/smooth-cast", package = "smooai-smooth-cast" }
smooth-bigsmooth = { version = "0.20.0", path = "crates/smooth-bigsmooth", package = "smooai-smooth-bigsmooth" }
smooth-policy = { path = "crates/smooth-policy", version = "0.20.0", package = "smooai-smooth-policy" }
smooth-web = { version = "0.20.0", path = "crates/smooth-web", package = "smooai-smooth-web" }
smooth-scribe = { version = "0.20.0", path = "crates/smooth-scribe", package = "smooai-smooth-scribe" }
smooth-narc = { version = "0.20.0", path = "crates/smooth-narc", package = "smooai-smooth-narc" }
smooth-archivist = { version = "0.20.0", path = "crates/smooth-archivist", package = "smooai-smooth-archivist" }
smooth-code = { version = "0.20.0", path = "crates/smooth-code", package = "smooai-smooth-code" }
smooth-pearls = { path = "crates/smooth-pearls", version = "0.20.0", package = "smooai-smooth-pearls" }
smooth-diver = { version = "0.20.0", path = "crates/smooth-diver", package = "smooai-smooth-diver" }
smooth-tunnel = { version = "0.20.0", path = "crates/smooth-tunnel", package = "smooai-smooth-tunnel" }
smooth-bench = { version = "0.20.0", path = "crates/smooth-bench", package = "smooai-smooth-bench" }
smooth-tmux = { version = "0.20.0", path = "crates/smooth-tmux", package = "smooai-smooth-tmux" }
smooth-api-client = { version = "0.20.0", path = "crates/smooth-api-client", package = "smooai-smooth-api-client" }
# Cross-runtime client shared library (github.com/SmooAI/client-shared).
# SMOODEV-1464: switched from a local `path = "../client-shared/rust"` dep to
# a rev-pinned git dep. The path form only resolved on a dev laptop, so every
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@smooai/smooth",
"version": "0.19.1",
"version": "0.20.0",
"description": "Security-first AI agent orchestration platform",
"homepage": "https://github.com/SmooAI/smooth#readme",
"bugs": {
Expand Down
Loading