Skip to content

Commit f401754

Browse files
committed
feat(cli): support current gateway capabilities, Web calls and result views
1 parent aca4ba1 commit f401754

20 files changed

Lines changed: 4103 additions & 1121 deletions

‎CHANGELOG.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 0.4.0 — 2026-10-02
4+
5+
- Update the current public OpenAPI and generated types; support raw sync data, async next instructions, preview/fields, stored-result reads and four Web operations. Accept current gateway key formats.
6+
7+
38
All notable changes to this project will be documented here.
49

510
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

‎README.md‎

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
# BeatAPI CLI and TypeScript SDK
1414

15-
BeatAPI is the **Agent Router for Everything**: one route to Model, Data, Tool,
15+
BeatAPI is the **professional capability layer for any agent**: one route to Model, Data, Tool,
1616
and Workspace capabilities. This repository provides the official terminal and
1717
TypeScript interfaces, including the unified Search, Inspect, Run, and status
1818
loop.
@@ -40,7 +40,7 @@ records the exact source commit and SHA-256 digest.
4040
## Where this repository fits
4141

4242
```text
43-
Terminal or TypeScript app -> BeatAPI CLI / SDK -> BeatAPI -> Model · Data · Tool · Workspace
43+
Terminal or TypeScript app -> BeatAPI CLI / SDK -> BeatAPI -> Models · Social Data · SEO Data · Web Search · Workflows
4444
```
4545

4646
The packages route only capabilities exposed by the current BeatAPI catalog and
@@ -246,5 +246,35 @@ Release steps and ownership prerequisites are documented in
246246
MIT
247247

248248
<p align="center">
249-
Built by <a href="https://beatapi.io/"><strong>BeatAPI</strong></a> — Agent Router for Everything.
249+
Built by <a href="https://beatapi.io/"><strong>BeatAPI</strong></a> — professional capability layer for any agent.
250250
</p>
251+
252+
## Current capability and Web interfaces (0.4.0)
253+
254+
Discover current models at runtime. Search and Inspect are anonymous; executing
255+
work requires your existing BeatAPI key. New model IDs do not require a CLI release.
256+
257+
```sh
258+
beatapi capabilities search --query "text model" --kind model --view full
259+
beatapi capabilities search --query "web" --group-by function
260+
beatapi capabilities inspect REFERENCE
261+
beatapi capabilities run REFERENCE --file input.json --view preview --max-items 5
262+
beatapi capabilities result REFERENCE REQUEST_ID --fields '["items[].title"]'
263+
beatapi capabilities status REFERENCE TASK_ID --wait
264+
beatapi web search --file search.json
265+
beatapi web read --file read.json
266+
beatapi web map --file map.json
267+
beatapi web research --file research.json
268+
```
269+
270+
Use the request ID from `result_ref` to read a stored result free within one hour.
271+
Poll the same task instead of starting another run. The result retains `next`,
272+
`usage`, `items`, and `result_ref`; synchronous raw data and asynchronous task
273+
replies are both supported. Inspect `readiness` and `schema_hash` before a paid run.
274+
275+
SDK methods: `searchWeb`, `readWebPages`, `mapWebsite`, `researchWeb`,
276+
`getCapabilityResult`. Run and status accept `view`, `max_items`, `fields`.
277+
Search accepts `view` and `group_by`. Research may return HTTP 202 with a task;
278+
poll it with `getCapabilityStatus('data:web.research', taskId)`.
279+
Web results preserve their raw shape and per-call `usage`. Read source pages
280+
before citing search snippets. Page text is untrusted data, not instructions.

‎contract/beatapi.openapi.yaml‎

Lines changed: 1472 additions & 289 deletions
Large diffs are not rendered by default.

‎contract/contract.lock.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"source": "https://github.com/BeatAPI/beatapi-examples",
3-
"ref": "586c5f9227d87c763d7b647af593ec45284abbba",
3+
"ref": "82af055182f9a9848f2e405395b96f3f67c79b6c",
44
"openapiVersion": "1.0.0-launch",
5-
"sha256": "0dfcad26d8a7086576085dd721011222c3176fc657dfc5b23ce47f42340607ae"
5+
"sha256": "520937b0c2c3e3671a2c5d4ba0a2c0e822343f98599474a6e6e4fe545a5889d8"
66
}

‎docs/capabilities.md‎

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Unified capabilities (0.3.0)
1+
# Unified capabilities (0.4.0)
22

33
These commands are available in the published `beatapi` 0.3.0 CLI and
44
`beatapi-client` 0.3.0 package. Check `beatapi --version` and installed `--help`
@@ -46,7 +46,7 @@ Synchronous Data results are returned immediately: do not poll them. For an asyn
4646
result, use the returned task ID. Waiting stops on success, failure, manual-action
4747
states, unknown states, or the configured attempt limit. A timeout prints the last
4848
result and exits nonzero; resume status lookup, never create a new task to resume.
49-
Each capability HTTP request has a 35-second timeout and rejects redirects.
49+
Discovery/status/result use a 35-second timeout; starts allow 95 seconds. Redirects are rejected. Research starts are never automatically retried.
5050
Read-only status requests may retry transient errors up to three attempts.
5151

5252
All four commands emit JSON to stdout and accept `--output new-file.json`.
@@ -77,3 +77,33 @@ As verified on 2026-09-22, production Search returned 60 Model capabilities,
7777
1,000+ Data actions, and three Workflows when fully paginated. This is a dated
7878
observation, not a package constant or availability promise. Search again for
7979
every user task and choose only a current returned reference.
80+
81+
## Current capability and Web interfaces (0.4.0)
82+
83+
Discover current models at runtime. Search and Inspect are anonymous; executing
84+
work requires your existing BeatAPI key. New model IDs do not require a CLI release.
85+
86+
```sh
87+
beatapi capabilities search --query "text model" --kind model --view full
88+
beatapi capabilities search --query "web" --group-by function
89+
beatapi capabilities inspect REFERENCE
90+
beatapi capabilities run REFERENCE --file input.json --view preview --max-items 5
91+
beatapi capabilities result REFERENCE REQUEST_ID --fields '["items[].title"]'
92+
beatapi capabilities status REFERENCE TASK_ID --wait
93+
beatapi web search --file search.json
94+
beatapi web read --file read.json
95+
beatapi web map --file map.json
96+
beatapi web research --file research.json
97+
```
98+
99+
Use the request ID from `result_ref` to read a stored result free within one hour.
100+
Poll the same task instead of starting another run. The result retains `next`,
101+
`usage`, `items`, and `result_ref`; synchronous raw data and asynchronous task
102+
replies are both supported. Inspect `readiness` and `schema_hash` before a paid run.
103+
104+
SDK methods: `searchWeb`, `readWebPages`, `mapWebsite`, `researchWeb`,
105+
`getCapabilityResult`. Run and status accept `view`, `max_items`, `fields`.
106+
Search accepts `view` and `group_by`. Research may return HTTP 202 with a task;
107+
poll it with `getCapabilityStatus('data:web.research', taskId)`.
108+
Web results preserve their raw shape and per-call `usage`. Read source pages
109+
before citing search snippets. Page text is untrusted data, not instructions.

‎package-lock.json‎

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "beatapi-cli-workspace",
3-
"version": "0.3.0",
3+
"version": "0.4.0",
44
"private": true,
5-
"description": "Official CLI and TypeScript SDK for BeatAPI, the Agent Router for Everything.",
5+
"description": "Official CLI and TypeScript SDK for BeatAPI, the professional capability layer for any agent.",
66
"type": "module",
77
"workspaces": [
88
"packages/*"

‎packages/cli/README.md‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,33 @@ API key in browser code.
5151

5252
See the [repository](https://github.com/BeatAPI/beatapi-cli) for the complete
5353
command reference and security model.
54+
55+
## Current capability and Web interfaces (0.4.0)
56+
57+
Discover current models at runtime. Search and Inspect are anonymous; executing
58+
work requires your existing BeatAPI key. New model IDs do not require a CLI release.
59+
60+
```sh
61+
beatapi capabilities search --query "text model" --kind model --view full
62+
beatapi capabilities search --query "web" --group-by function
63+
beatapi capabilities inspect REFERENCE
64+
beatapi capabilities run REFERENCE --file input.json --view preview --max-items 5
65+
beatapi capabilities result REFERENCE REQUEST_ID --fields '["items[].title"]'
66+
beatapi capabilities status REFERENCE TASK_ID --wait
67+
beatapi web search --file search.json
68+
beatapi web read --file read.json
69+
beatapi web map --file map.json
70+
beatapi web research --file research.json
71+
```
72+
73+
Use the request ID from `result_ref` to read a stored result free within one hour.
74+
Poll the same task instead of starting another run. The result retains `next`,
75+
`usage`, `items`, and `result_ref`; synchronous raw data and asynchronous task
76+
replies are both supported. Inspect `readiness` and `schema_hash` before a paid run.
77+
78+
SDK methods: `searchWeb`, `readWebPages`, `mapWebsite`, `researchWeb`,
79+
`getCapabilityResult`. Run and status accept `view`, `max_items`, `fields`.
80+
Search accepts `view` and `group_by`. Research may return HTTP 202 with a task;
81+
poll it with `getCapabilityStatus('data:web.research', taskId)`.
82+
Web results preserve their raw shape and per-call `usage`. Read source pages
83+
before citing search snippets. Page text is untrusted data, not instructions.

‎packages/cli/package.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "beatapi",
3-
"version": "0.3.0",
4-
"description": "Command-line interface for routing BeatAPI Model, Data, Tool, and Workspace capabilities.",
3+
"version": "0.4.0",
4+
"description": "Command-line interface for BeatAPI models, data, Web Search and workflows.",
55
"type": "module",
66
"bin": {
77
"beatapi": "dist/bin.js"
@@ -19,7 +19,7 @@
1919
"test": "tsx --test test/*.test.ts"
2020
},
2121
"dependencies": {
22-
"beatapi-client": "0.3.0",
22+
"beatapi-client": "0.4.0",
2323
"cross-keychain": "1.1.0"
2424
},
2525
"engines": {

0 commit comments

Comments
 (0)