From 00664aeb7f8ff781b65cf7d9cc2aeb3670460502 Mon Sep 17 00:00:00 2001 From: zylon-ci Date: Fri, 23 Oct 2026 10:54:48 +0200 Subject: [PATCH 1/3] chore(main): release 2.0.0 --- .../.release-please-manifest.json | 2 +- CHANGELOG.md | 94 +++++++++++++++++++ pyproject.toml | 2 +- version.txt | 2 +- 4 files changed, 97 insertions(+), 3 deletions(-) diff --git a/.github/release_please/.release-please-manifest.json b/.github/release_please/.release-please-manifest.json index a8f7122450..65f558e71b 100644 --- a/.github/release_please/.release-please-manifest.json +++ b/.github/release_please/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.0.1" + ".": "2.0.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 12ce92ace1..4ef534541a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,99 @@ # Changelog +## [2.0.0](https://github.com/zylon-ai/private-gpt/compare/v1.0.1...v2.0.0) (2026-10-23) + + +### ⚠ BREAKING CHANGES + +* **observability:** configure Phoenix/Opik with observability.exporters (or PGPT_OBSERVABILITY_EXPORTERS__*) and mode: otel. + +### Features + +* add code execution ui ([#2289](https://github.com/zylon-ai/private-gpt/issues/2289)) ([bfd2633](https://github.com/zylon-ai/private-gpt/commit/bfd2633d89468d9038abd2079474d80c2c466c8e)) +* add compatibility with skill creator ([#2342](https://github.com/zylon-ai/private-gpt/issues/2342)) ([cdf4d33](https://github.com/zylon-ai/private-gpt/commit/cdf4d332dfb44de4736f26014501e45f9309e2dc)) +* add db2 native connection ([#2292](https://github.com/zylon-ai/private-gpt/issues/2292)) ([0426d91](https://github.com/zylon-ai/private-gpt/commit/0426d91ba13b9b74af494059bfce5fd0fd9e1ea7)) +* add new health check ([23bcf16](https://github.com/zylon-ai/private-gpt/commit/23bcf16876efcf1f6a101159038acfbdb9db6b4f)) +* add reader overrides ([#2317](https://github.com/zylon-ai/private-gpt/issues/2317)) ([5219fc6](https://github.com/zylon-ai/private-gpt/commit/5219fc65754e28d2f9860eaaa8459395a6fb8d61)) +* add validation skill endpoint + skill prompt ([#2272](https://github.com/zylon-ai/private-gpt/issues/2272)) ([42a6c04](https://github.com/zylon-ai/private-gpt/commit/42a6c047d0c63ae862bf4981d1adf9d359df646b)) +* add websearch in a sandbox ([#2300](https://github.com/zylon-ai/private-gpt/issues/2300)) ([576589b](https://github.com/zylon-ai/private-gpt/commit/576589bdc5970813d60d3dd3295a6d6c9d5f8e8f)) +* ai docs ([#2330](https://github.com/zylon-ai/private-gpt/issues/2330)) ([f9e32c5](https://github.com/zylon-ai/private-gpt/commit/f9e32c50354571b3eb3916faa59c56fa4ba13586)) +* allow to attach files as Anthropic does ([#2265](https://github.com/zylon-ai/private-gpt/issues/2265)) ([4cca7d0](https://github.com/zylon-ai/private-gpt/commit/4cca7d0b97007f720d62c32d8ccce350f54a64e3)) +* anthropic server tool results ([#2319](https://github.com/zylon-ai/private-gpt/issues/2319)) ([a17ce76](https://github.com/zylon-ai/private-gpt/commit/a17ce76fc833bb5d064c97d8c92cf509f4c5b59e)) +* bump mcp to 2.0 ([#2320](https://github.com/zylon-ai/private-gpt/issues/2320)) ([94710b9](https://github.com/zylon-ai/private-gpt/commit/94710b9272b70d5e78c9cba3a17351c10511f628)) +* **chat:** describe images embedded in attached documents ([#2418](https://github.com/zylon-ai/private-gpt/issues/2418)) ([ff410fe](https://github.com/zylon-ai/private-gpt/commit/ff410fed574b8b2eab4e2f4c53d99e7065e5cdef)) +* code execution v2 ([#2278](https://github.com/zylon-ai/private-gpt/issues/2278)) ([f2cffd1](https://github.com/zylon-ai/private-gpt/commit/f2cffd1ab93be08175c19613cd65e90d64130b38)) +* code execution v4 ([#2295](https://github.com/zylon-ai/private-gpt/issues/2295)) ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* **code-execution:** clean and bound bash/view output before it reaches the model ([#2415](https://github.com/zylon-ai/private-gpt/issues/2415)) ([e0e13f3](https://github.com/zylon-ai/private-gpt/commit/e0e13f30aeaf2c182ddf18b3bbb9ebd33eb52261)) +* control docs parser ([#2273](https://github.com/zylon-ai/private-gpt/issues/2273)) ([78a1e8b](https://github.com/zylon-ai/private-gpt/commit/78a1e8b9f64a1c2b2dc5223f800519a62cf0d8a6)) +* database query history ([#2375](https://github.com/zylon-ai/private-gpt/issues/2375)) ([84a0e4e](https://github.com/zylon-ai/private-gpt/commit/84a0e4e475bfdf167cfeb11aaf2df7a2a6b328d1)) +* fix erros when you add a invalid document ([#2373](https://github.com/zylon-ai/private-gpt/issues/2373)) ([db3032e](https://github.com/zylon-ai/private-gpt/commit/db3032e6f4757780dce568641c3e6cb21ebecb21)) +* improve docs pipeline ([#2332](https://github.com/zylon-ai/private-gpt/issues/2332)) ([d8d8f05](https://github.com/zylon-ai/private-gpt/commit/d8d8f05ca9e7662f9031a02814234aa974287539)) +* improve web search ([#2274](https://github.com/zylon-ai/private-gpt/issues/2274)) ([5d60141](https://github.com/zylon-ai/private-gpt/commit/5d60141f08f9f4a274915c5149049aa832b4d8de)) +* land attachments in the sandbox and let the backend write to the agent workspace ([#2404](https://github.com/zylon-ai/private-gpt/issues/2404)) ([4d7f36e](https://github.com/zylon-ai/private-gpt/commit/4d7f36e53d46c51acdf74edc934235ac7cdb5e64)) +* **observability:** vendor-neutral OpenTelemetry tracing ([#2417](https://github.com/zylon-ai/private-gpt/issues/2417)) ([0f6a2de](https://github.com/zylon-ai/private-gpt/commit/0f6a2de226374a7ccc7ac5e739054be8da9929d9)) +* refresh mcp ([#2338](https://github.com/zylon-ai/private-gpt/issues/2338)) ([53ec2ad](https://github.com/zylon-ai/private-gpt/commit/53ec2ad3e704f1ff9ea47198937d463b42fbe639)) +* remove transformation for markdown format ([#2363](https://github.com/zylon-ai/private-gpt/issues/2363)) ([de8be4a](https://github.com/zylon-ai/private-gpt/commit/de8be4a59cb857acdb20478e319c782c8bdbb21c)) +* resumable chat worker + tool worker + async tokenizer ([#2298](https://github.com/zylon-ai/private-gpt/issues/2298)) ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) + + +### Bug Fixes + +* async_playwright for test ([5d60141](https://github.com/zylon-ai/private-gpt/commit/5d60141f08f9f4a274915c5149049aa832b4d8de)) +* **auth:** replace assert with explicit check in authenticated dependency ([#2398](https://github.com/zylon-ai/private-gpt/issues/2398)) ([3cefd53](https://github.com/zylon-ai/private-gpt/commit/3cefd532cb6cccf65065af5e873c44bdca71e4d4)) +* avoid duplicating deltas ([#2321](https://github.com/zylon-ai/private-gpt/issues/2321)) ([b6be07c](https://github.com/zylon-ai/private-gpt/commit/b6be07c2aef58e0a7cade77dfbfdca1331c2e16c)) +* change sql prompt ([#2313](https://github.com/zylon-ai/private-gpt/issues/2313)) ([ae31dc1](https://github.com/zylon-ai/private-gpt/commit/ae31dc1db9fc375ad1750ce9a018a483766db148)) +* chat engine ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* chat engine ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* **chat:** Claude Code/OpenCode correctness and /v1/messages latency (prefix cache 48→95%, overhead 2.7→0.3 s) ([#2400](https://github.com/zylon-ai/private-gpt/issues/2400)) ([463d396](https://github.com/zylon-ai/private-gpt/commit/463d396ef0afa6f6394a601c9ead98e2f9f0a4f8)) +* **chat:** stop long chats from stalling the chat worker during condensation ([#2407](https://github.com/zylon-ai/private-gpt/issues/2407)) ([6aa4fa3](https://github.com/zylon-ai/private-gpt/commit/6aa4fa3fef55867c02f0e9d282edef4e3b25688c)) +* **citations:** keep text after an unclosed bracket ([#2414](https://github.com/zylon-ai/private-gpt/issues/2414)) ([41d75d4](https://github.com/zylon-ai/private-gpt/commit/41d75d4dc896e6a9affac26680a21907870e3668)) +* clarify the system-message misuse error ([#2379](https://github.com/zylon-ai/private-gpt/issues/2379)) ([395bcf2](https://github.com/zylon-ai/private-gpt/commit/395bcf27e59f5b1c91630844c14cc009ae4e36c4)) +* context stack ([#2323](https://github.com/zylon-ai/private-gpt/issues/2323)) ([0216db9](https://github.com/zylon-ai/private-gpt/commit/0216db9f4adfc21ddbf54fdae21bd3f610a5472f)) +* CVE-2026-44209 security vulnerability ([#2283](https://github.com/zylon-ai/private-gpt/issues/2283)) ([4641db3](https://github.com/zylon-ai/private-gpt/commit/4641db358c9655ecf0e345be9350e5533f5c6950)) +* extended thinking ([#2333](https://github.com/zylon-ai/private-gpt/issues/2333)) ([e4344ae](https://github.com/zylon-ai/private-gpt/commit/e4344ae741d1f4ddcceb2ea1465321486216bf0f)) +* fix deps ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* fix deps ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* improve perf ([#2322](https://github.com/zylon-ai/private-gpt/issues/2322)) ([e534667](https://github.com/zylon-ai/private-gpt/commit/e534667c98a9c67736c2392fe94b6da31cc90be6)) +* keep model download lock PID when acquisition fails ([#2362](https://github.com/zylon-ai/private-gpt/issues/2362)) ([9e9ba08](https://github.com/zylon-ai/private-gpt/commit/9e9ba08bbc9f86b807d5f488de78adfde93ddc0b)) +* local resource in sql biulder when code execution is enabled ([#2365](https://github.com/zylon-ai/private-gpt/issues/2365)) ([60b3fce](https://github.com/zylon-ai/private-gpt/commit/60b3fce7e1d0b96044b7544a552a8a9e859ba51b)) +* loop ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* loop ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* mcp oauth error ([#2325](https://github.com/zylon-ai/private-gpt/issues/2325)) ([f672481](https://github.com/zylon-ai/private-gpt/commit/f672481277eebc7e4d6409f5557c81f415dabc65)) +* **mcp:** emit original tool names as display metadata ([#2408](https://github.com/zylon-ai/private-gpt/issues/2408)) ([4a5cb68](https://github.com/zylon-ai/private-gpt/commit/4a5cb6863a13de1ae6176659b45efc5c925b11b7)) +* mypy ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* mypy ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* mypy ([5d60141](https://github.com/zylon-ai/private-gpt/commit/5d60141f08f9f4a274915c5149049aa832b4d8de)) +* openai compatibility ([#2340](https://github.com/zylon-ai/private-gpt/issues/2340)) ([7d9081b](https://github.com/zylon-ai/private-gpt/commit/7d9081b12d81d477928b84a95cd5778d86be3891)) +* point update-openapi-spec make target at the actual script path ([#2393](https://github.com/zylon-ai/private-gpt/issues/2393)) ([5f2547a](https://github.com/zylon-ai/private-gpt/commit/5f2547a6e4f44656e925700ac33410ccb0d9a284)) +* prepare stable version ([#2318](https://github.com/zylon-ai/private-gpt/issues/2318)) ([e7b579e](https://github.com/zylon-ai/private-gpt/commit/e7b579e3e3bb8d806a68ae0ba42601a7ed7587c0)) +* random bugs ([#2301](https://github.com/zylon-ai/private-gpt/issues/2301)) ([091d5f7](https://github.com/zylon-ai/private-gpt/commit/091d5f7020bf5612190c4b3220935918dee83f7b)) +* random bugs v3 ([#2307](https://github.com/zylon-ai/private-gpt/issues/2307)) ([cdf0b35](https://github.com/zylon-ai/private-gpt/commit/cdf0b35b77a04d5875012255155d4f075a454221)) +* refactor ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* refactor ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* refresh flag exception ([#2341](https://github.com/zylon-ai/private-gpt/issues/2341)) ([ab89a0d](https://github.com/zylon-ai/private-gpt/commit/ab89a0d67bf6a30481081bdc7c487b484d82f91b)) +* reject invalid skill metadata ([#2374](https://github.com/zylon-ai/private-gpt/issues/2374)) ([65b9b2b](https://github.com/zylon-ai/private-gpt/commit/65b9b2b6b880a607ebf53cf4f2ac023ff9f5a0e0)) +* remove parent chat job ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* remove parent chat job ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* remove pub sub ([#2328](https://github.com/zylon-ai/private-gpt/issues/2328)) ([4269d7e](https://github.com/zylon-ai/private-gpt/commit/4269d7e04b20b00f4ef76a71c8e23bf818a63011)) +* remove tool result ([#2327](https://github.com/zylon-ai/private-gpt/issues/2327)) ([a5c6d24](https://github.com/zylon-ai/private-gpt/commit/a5c6d241b27f9b66ab18d91b07d23f76b978befd)) +* revert usleess changes ([21d42fd](https://github.com/zylon-ai/private-gpt/commit/21d42fd97aface1854ef8a4c1d7b1c8d7f9a9f6f)) +* revert usleess changes ([cd8ca22](https://github.com/zylon-ai/private-gpt/commit/cd8ca2214ac832162a3ee9b91fb2f87b49a75c09)) +* serialize access to the embedded Qdrant client ([#2394](https://github.com/zylon-ai/private-gpt/issues/2394)) ([42398f8](https://github.com/zylon-ai/private-gpt/commit/42398f8e076369d91887a7f78f9577054fc248c8)), closes [#2392](https://github.com/zylon-ai/private-gpt/issues/2392) +* split celery task in two (parser & store), and reuse in the attach documents ([#2326](https://github.com/zylon-ai/private-gpt/issues/2326)) ([3acd63d](https://github.com/zylon-ai/private-gpt/commit/3acd63d4b5011b0bff6ffe2df4f30d9a028335ba)) +* support Windows model download locking ([#2352](https://github.com/zylon-ai/private-gpt/issues/2352)) ([f31b550](https://github.com/zylon-ai/private-gpt/commit/f31b550ab63aac0b7b454e7f553dd87869c9d696)) +* tabular sandbox ([#2359](https://github.com/zylon-ai/private-gpt/issues/2359)) ([0658140](https://github.com/zylon-ai/private-gpt/commit/065814007608a95a6160102c370f6ea52ba290d6)) +* **tabular:** force-close sandbox after analysis to avoid leaks ([#2357](https://github.com/zylon-ai/private-gpt/issues/2357)) ([39b3a79](https://github.com/zylon-ai/private-gpt/commit/39b3a79b3cc21f0a7a025323e7df667d2f7f1935)) +* **tldr:** never leave a condensation block open on the client ([#2387](https://github.com/zylon-ai/private-gpt/issues/2387)) ([4d88c7f](https://github.com/zylon-ai/private-gpt/commit/4d88c7f1f0dea7d84955c5dafaf2f6e1d1d4223f)) +* **tools:** check {name, artifact_id} refs in knowledge_search and tabular analysis ([#2412](https://github.com/zylon-ai/private-gpt/issues/2412)) ([cba9ba0](https://github.com/zylon-ai/private-gpt/commit/cba9ba0b3cae6e8b36929c8db0033e474acf7eb9)) +* update fern & resolve fern preview ([#2288](https://github.com/zylon-ai/private-gpt/issues/2288)) ([f3d24b5](https://github.com/zylon-ai/private-gpt/commit/f3d24b54138360429ee637ee9645e1eb957b0992)) +* use ARQ liveness and recover stale chat jobs ([23bcf16](https://github.com/zylon-ai/private-gpt/commit/23bcf16876efcf1f6a101159038acfbdb9db6b4f)) +* worker health ([#2358](https://github.com/zylon-ai/private-gpt/issues/2358)) ([23bcf16](https://github.com/zylon-ai/private-gpt/commit/23bcf16876efcf1f6a101159038acfbdb9db6b4f)) + + +### Performance Improvements + +* **ingest:** count node tokens in batches instead of one call per node ([#2409](https://github.com/zylon-ai/private-gpt/issues/2409)) ([5c9ebed](https://github.com/zylon-ai/private-gpt/commit/5c9ebedf22bddd2f9da7b3125259992b7e0d89d2)) + ## [1.0.1](https://github.com/zylon-ai/private-gpt/compare/v1.0.0...v1.0.1) (2026-06-16) diff --git a/pyproject.toml b/pyproject.toml index 744bbb9a94..a4e23c6f43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "private-gpt" -version = "1.0.1" +version = "2.0.0" description = "Private GPT" authors = [{ name = "Zylon", email = "hi@zylon.ai" }] requires-python = ">=3.11,<3.12" diff --git a/version.txt b/version.txt index 7dea76edb3..227cea2156 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.0.1 +2.0.0 From db171407682d662f5051b271bdda800cdc04acde Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 08:55:31 +0000 Subject: [PATCH 2/3] build: update uv.lock for 2.0.0 --- uv.lock | 68 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/uv.lock b/uv.lock index df21f2abb0..e66dbc71a9 100644 --- a/uv.lock +++ b/uv.lock @@ -492,7 +492,7 @@ name = "coloredlogs" version = "15.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "humanfriendly" }, + { name = "humanfriendly", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload-time = "2021-06-11T10:22:45.202Z" } wheels = [ @@ -605,7 +605,7 @@ name = "cuda-bindings" version = "13.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cuda-pathfinder" }, + { name = "cuda-pathfinder", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/e0/a9/3a8241c6e19483ac1f1dcf5c10238205dcb8a6e9d0d4d4709240dff28ff4/cuda_bindings-13.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:721104c603f059780d287969be3d194a18d0cc3b713ed9049065a1107706759d", size = 5730273, upload-time = "2026-03-11T00:12:37.18Z" }, @@ -630,37 +630,37 @@ wheels = [ [package.optional-dependencies] cublas = [ - { name = "nvidia-cublas" }, + { name = "nvidia-cublas", marker = "sys_platform == 'linux'" }, ] cudart = [ - { name = "nvidia-cuda-runtime" }, + { name = "nvidia-cuda-runtime", marker = "sys_platform == 'linux'" }, ] cufft = [ - { name = "nvidia-cufft" }, + { name = "nvidia-cufft", marker = "sys_platform == 'linux'" }, ] cufile = [ - { name = "nvidia-cufile" }, + { name = "nvidia-cufile", marker = "sys_platform == 'linux'" }, ] cupti = [ - { name = "nvidia-cuda-cupti" }, + { name = "nvidia-cuda-cupti", marker = "sys_platform == 'linux'" }, ] curand = [ - { name = "nvidia-curand" }, + { name = "nvidia-curand", marker = "sys_platform == 'linux'" }, ] cusolver = [ - { name = "nvidia-cusolver" }, + { name = "nvidia-cusolver", marker = "sys_platform == 'linux'" }, ] cusparse = [ - { name = "nvidia-cusparse" }, + { name = "nvidia-cusparse", marker = "sys_platform == 'linux'" }, ] nvjitlink = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform == 'linux'" }, ] nvrtc = [ - { name = "nvidia-cuda-nvrtc" }, + { name = "nvidia-cuda-nvrtc", marker = "sys_platform == 'linux'" }, ] nvtx = [ - { name = "nvidia-nvtx" }, + { name = "nvidia-nvtx", marker = "sys_platform == 'linux'" }, ] [[package]] @@ -1290,7 +1290,7 @@ name = "humanfriendly" version = "10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pyreadline3" }, + { name = "pyreadline3", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload-time = "2021-09-17T21:40:43.31Z" } wheels = [ @@ -1334,8 +1334,8 @@ name = "ibm-db-sa" version = "0.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ibm-db" }, - { name = "sqlalchemy" }, + { name = "ibm-db", marker = "platform_machine != 'aarch64' or sys_platform != 'linux'" }, + { name = "sqlalchemy", marker = "platform_machine != 'aarch64' or sys_platform != 'linux'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7d/9d/2d6a1ba44af4a6ee411a61e18dbaa735f5d63880e159b877658b17ba4ea3/ibm_db_sa-0.4.4.tar.gz", hash = "sha256:f2567853fd095821964d6a6880e54fddee249d68cc835a3fd0c7d1cdd6a01055", size = 45207, upload-time = "2026-03-18T06:49:20.86Z" } wheels = [ @@ -2375,7 +2375,7 @@ name = "nvidia-cudnn-cu13" version = "9.19.0.56" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas" }, + { name = "nvidia-cublas", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/f1/84/26025437c1e6b61a707442184fa0c03d083b661adf3a3eecfd6d21677740/nvidia_cudnn_cu13-9.19.0.56-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:6ed29ffaee1176c612daf442e4dd6cfeb6a0caa43ddcbeb59da94953030b1be4", size = 433781201, upload-time = "2026-02-03T20:40:53.805Z" }, @@ -2387,7 +2387,7 @@ name = "nvidia-cufft" version = "12.0.0.61" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", size = 214053554, upload-time = "2025-09-04T08:31:38.196Z" }, @@ -2417,9 +2417,9 @@ name = "nvidia-cusolver" version = "12.0.4.66" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-cublas" }, - { name = "nvidia-cusparse" }, - { name = "nvidia-nvjitlink" }, + { name = "nvidia-cublas", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, + { name = "nvidia-cusparse", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", size = 223467760, upload-time = "2025-09-04T08:33:04.222Z" }, @@ -2431,7 +2431,7 @@ name = "nvidia-cusparse" version = "12.6.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "nvidia-nvjitlink" }, + { name = "nvidia-nvjitlink", marker = "sys_platform != 'darwin' and sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", size = 162155568, upload-time = "2025-09-04T08:33:42.864Z" }, @@ -2491,12 +2491,12 @@ resolution-markers = [ "sys_platform == 'win32'", ] dependencies = [ - { name = "coloredlogs" }, - { name = "flatbuffers" }, - { name = "numpy" }, - { name = "packaging" }, - { name = "protobuf" }, - { name = "sympy" }, + { name = "coloredlogs", marker = "sys_platform == 'win32'" }, + { name = "flatbuffers", marker = "sys_platform == 'win32'" }, + { name = "numpy", marker = "sys_platform == 'win32'" }, + { name = "packaging", marker = "sys_platform == 'win32'" }, + { name = "protobuf", marker = "sys_platform == 'win32'" }, + { name = "sympy", marker = "sys_platform == 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/12/f1/cefacac137f7bb7bfba57c50c478150fcd3c54aca72762ac2c05ce0532c1/onnxruntime-1.20.1-cp311-cp311-win32.whl", hash = "sha256:a19bc6e8c70e2485a1725b3d517a2319603acc14c1f1a017dda0afe6d4665b41", size = 9813977, upload-time = "2024-11-21T00:49:00.519Z" }, @@ -2513,10 +2513,10 @@ resolution-markers = [ "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')", ] dependencies = [ - { name = "flatbuffers" }, - { name = "numpy" }, - { name = "packaging" }, - { name = "protobuf" }, + { name = "flatbuffers", marker = "sys_platform != 'win32'" }, + { name = "numpy", marker = "sys_platform != 'win32'" }, + { name = "packaging", marker = "sys_platform != 'win32'" }, + { name = "protobuf", marker = "sys_platform != 'win32'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/c1/00/dccf702195572df51a40784fc939304595a0ae3577537d3b5be79273151a/onnxruntime-1.25.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:5cf58ec7601120bb4370f0b868f794d3e3626db7b1b1dba366c27874b224e9de", size = 17762805, upload-time = "2026-04-27T22:00:45.336Z" }, @@ -3016,7 +3016,7 @@ name = "pexpect" version = "4.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ptyprocess" }, + { name = "ptyprocess", marker = "sys_platform != 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ @@ -3148,7 +3148,7 @@ wheels = [ [[package]] name = "private-gpt" -version = "1.0.1" +version = "2.0.0" source = { editable = "." } dependencies = [ { name = "arq" }, From 5f9816139f8d732cf80a6a45858fb0bbe9105a55 Mon Sep 17 00:00:00 2001 From: Zylon CI Date: Fri, 23 Oct 2026 08:56:32 +0000 Subject: [PATCH 3/3] docs: update OpenAPI spec for 2.0.0 --- fern/openapi/openapi.json | 4674 +++++++++++++++++++++++++------------ 1 file changed, 3145 insertions(+), 1529 deletions(-) diff --git a/fern/openapi/openapi.json b/fern/openapi/openapi.json index 40ae2f075d..8ddc7a375a 100644 --- a/fern/openapi/openapi.json +++ b/fern/openapi/openapi.json @@ -3,7 +3,7 @@ "info": { "title": "Private-GPT API", "description": "PrivateGPT -built by Zylon- is a production-ready AI project that allows you to ask questions about your documents using the power\nof Large Language Models (LLMs), even in scenarios without an Internet connection. 100% private, no data leaves your\nexecution environment at any point.", - "version": "1.0.1" + "version": "2.0.0" }, "paths": { "/v1/messages": { @@ -1934,7 +1934,7 @@ "description": "Parse a file using the document readers and return its content as markdown text or a structured content tree, without ingesting it into the knowledge base.", "operationId": "convert_content_v1_artifacts_convert_post", "requestBody": { - "description": "Request body for converting a file to markdown or structured tree.\n\nInput Types:\n* file: Base64-encoded file content \u2014 set 'file_name' in metadata to specify the extension\n* uri: Remote URL or S3 URI pointing to the file\n* text: Plain text or markdown content\n\nFormat Options:\n* markdown (default): Returns parsed content as a flat markdown string\n* object: Returns a hierarchical content tree with typed nodes\n\nReader Selection:\n* Omit 'reader' to use the default reader for the detected file type\n* Use GET /v1/artifacts/readers to list available readers and their supported extensions", + "description": "Request body for converting a file to markdown or structured tree.\n\nInput Types:\n* file: Base64-encoded file content \u2014 set 'file_name' in metadata to specify the extension\n* uri: Remote URL or S3 URI pointing to the file\n* text: Plain text or markdown content\n\nFormat Options:\n* markdown (default): Returns parsed content as a flat markdown string\n* object: Returns a hierarchical content tree with typed nodes\n\nTransformations:\n* 'execute_transformations' defaults to False - the transformation pipeline is skipped since this endpoint is meant as a lightweight preview/conversion, not ingestion\n* Set it to True to get a fully chunked content tree when using format='object'\n\nReader Selection:\n* Omit 'reader' to use the default reader for the detected file type\n* Use GET /v1/artifacts/readers to list available readers and their supported extensions", "content": { "application/json": { "schema": { @@ -4114,7 +4114,7 @@ "Files" ], "summary": "Upload a file", - "description": "Upload a file into the session's uploads directory. By default the file is stored under `uploads/{filename}` within the session scope; pass `path` to push it to a custom object-storage-style key (e.g. `data/2024/report.pdf`), relative to the uploads mount (`/mnt/user-data/uploads/` inside the sandbox). The relative path is returned as the file ID. Uploading a file to an existing key overwrites it.", + "description": "Upload into the session filesystem. By default the file goes to the uploads mount (`/mnt/user-data/uploads/`). A top-level `outputs/` key selects the deliverables mount (`/mnt/user-data/outputs/`) and a top-level `workspace/` key the agent's working directory (`/home/agent/workspace/`); custom nested keys such as `data/2024/report.pdf` remain on the uploads mount.The relative path is returned as the file ID. Uploading a file to an existing key overwrites it.", "operationId": "upload_file_v1_files_post", "parameters": [ { @@ -4144,13 +4144,13 @@ "type": "null" } ], - "description": "Object-storage-style key for the uploaded file, relative to the uploads mount. Defaults to `uploads/{filename}`. Nested keys are supported and parent directories are created automatically. May be prefixed with `uploads/` for convenience. Must be relative (no leading `/`), must not contain `..` components, and must not end with `/`.", + "description": "Object-storage-style session key. Defaults to `{filename}` on the uploads mount. A top-level `outputs/` prefix selects the outputs mount. Other nested keys are supported and parent directories are created automatically. Must be relative (no leading `/`), must not contain `..` components, and must not end with `/`.", "examples": [ "data/2024/report.pdf" ], "title": "Path" }, - "description": "Object-storage-style key for the uploaded file, relative to the uploads mount. Defaults to `uploads/{filename}`. Nested keys are supported and parent directories are created automatically. May be prefixed with `uploads/` for convenience. Must be relative (no leading `/`), must not contain `..` components, and must not end with `/`." + "description": "Object-storage-style session key. Defaults to `{filename}` on the uploads mount. A top-level `outputs/` prefix selects the outputs mount. Other nested keys are supported and parent directories are created automatically. Must be relative (no leading `/`), must not contain `..` components, and must not end with `/`." }, { "name": "namespace", @@ -4210,7 +4210,7 @@ "Files" ], "summary": "Delete all files matching a prefix (bulk delete)", - "description": "S3/blob-style bulk delete: remove every uploaded file whose key starts with *prefix* (e.g. `data/2024/` deletes all files in that virtual folder). Only upload-side files are affected; sandbox output files cannot be bulk-deleted. Returns the count of files actually removed. Anthropic SDK callers can reach this via `client.beta.files.with_raw_response` or a plain `httpx` call with `extra_query={...prefix: data/2024/...}`.", + "description": "S3/blob-style bulk delete: remove every uploaded file whose key starts with *prefix* (e.g. `data/2024/` deletes all files in that virtual folder). Workspace and sandbox output files are deleted individually through the file-ID endpoint. Returns the count of files actually removed. Anthropic SDK callers can reach this via `client.beta.files.with_raw_response` or a plain `httpx` call with `extra_query={...prefix: data/2024/...}`.", "operationId": "delete_by_prefix_v1_files_delete", "parameters": [ { @@ -4440,7 +4440,7 @@ "Files" ], "summary": "Put a file at a specific path (object-storage style)", - "description": "S3/blob-style put-object: store the raw request body at the given key. The key is relative to the session's uploads mount (`/mnt/user-data/uploads/` inside the sandbox) and may be nested, e.g. `data/2024/report.pdf`; an explicit `uploads/` prefix is accepted and normalized away. Parent directories are created automatically and existing keys are overwritten. The response is the same `FileMetadata` as `POST /v1/files`, so the returned `id` can be used with the other file endpoints.", + "description": "S3/blob-style put-object into the session filesystem. Ordinary keys go to the uploads mount (`/mnt/user-data/uploads/`). A top-level `outputs/` key goes to the outputs mount (`/mnt/user-data/outputs/`) and a top-level `workspace/` key to the agent's working directory (`/home/agent/workspace/`). Parent directories are created automatically and existing keys are overwritten. The response is the same `FileMetadata` as `POST /v1/files`, so the returned `id` can be used with the other file endpoints.", "operationId": "put_file_v1_files__file_id__put", "parameters": [ { @@ -5229,6 +5229,209 @@ "title": "BaseNode", "description": "Base node Object.\n\nGeneric abstract interface for retrievable nodes" }, + "BashCodeExecutionResultBlock": { + "properties": { + "type": { + "type": "string", + "const": "bash_code_execution_result", + "title": "Type", + "default": "bash_code_execution_result", + "description": "type field." + }, + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "stdout": { + "type": "string", + "title": "Stdout", + "description": "Standard output from the bash command." + }, + "stderr": { + "type": "string", + "title": "Stderr", + "description": "Standard error output from the bash command." + }, + "return_code": { + "type": "integer", + "title": "Return Code", + "description": "Exit code of the bash command. 0 indicates success." + }, + "content": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/BashExecutionFileEntry" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Content", + "description": "Files created during execution." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "return_code", + "stderr", + "stdout", + "type" + ], + "title": "BashCodeExecutionResultBlock", + "description": "BashCodeExecutionResultBlock schema." + }, + "BashCodeExecutionToolResultBlock": { + "properties": { + "type": { + "type": "string", + "const": "bash_code_execution_tool_result", + "title": "Type", + "default": "bash_code_execution_tool_result", + "description": "type field." + }, + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "cache_control": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } + } + }, + { + "type": "null" + } + ], + "title": "Cache Control", + "description": "cache control field." + }, + "tool_use_id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "title": "Tool Use Id", + "description": "ID of the ToolUseBlock this result answers" + }, + "content": { + "anyOf": [ + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + } + ], + "title": "Content", + "description": "content field." + }, + "is_error": { + "type": "boolean", + "title": "Is Error", + "default": false, + "description": "is error field." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "content", + "tool_use_id", + "type" + ], + "title": "BashCodeExecutionToolResultBlock", + "description": "BashCodeExecutionToolResultBlock schema." + }, + "BashExecutionFileEntry": { + "properties": { + "type": { + "type": "string", + "const": "bash_code_execution_output", + "title": "Type", + "description": "type field." + }, + "file_id": { + "type": "string", + "title": "File Id", + "description": "Identifier for the created file, retrievable via the Files API." + } + }, + "type": "object", + "required": [ + "type", + "file_id" + ], + "title": "BashExecutionFileEntry", + "description": "A file created during bash code execution, retrievable via the Files API." + }, "BinaryBlock": { "properties": { "type": { @@ -6414,6 +6617,27 @@ }, { "$ref": "#/components/schemas/TLDRBlock" + }, + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchResultBlock" } ] }, @@ -6491,6 +6715,83 @@ "title": "Citations", "description": "Configuration for citation generation in AI responses." }, + "CodeExecutionToolResultErrorBlock": { + "properties": { + "type": { + "type": "string", + "enum": [ + "bash_code_execution_tool_result_error", + "text_editor_code_execution_tool_result_error" + ], + "title": "Type", + "description": "type field." + }, + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "error_code": { + "type": "string", + "enum": [ + "unavailable", + "execution_time_exceeded", + "invalid_tool_input", + "too_many_requests", + "output_file_too_large", + "file_not_found" + ], + "title": "Error Code", + "description": "error code field." + }, + "detail": { + "anyOf": [ + { + "$ref": "#/components/schemas/ErrorDetail" + }, + { + "type": "null" + } + ], + "description": "[Zylon extension] Real error detail from the execution environment." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "error_code", + "type" + ], + "title": "CodeExecutionToolResultErrorBlock", + "description": "CodeExecutionToolResultErrorBlock schema." + }, "CompletionInput": { "properties": { "model": { @@ -7217,6 +7518,12 @@ "markdown", "object" ] + }, + "execute_transformations": { + "type": "boolean", + "title": "Execute Transformations", + "description": "Whether to run the transformation pipeline (chunking, tokenization, tree building, etc.) on the parsed content. Defaults to False because this endpoint is meant as a lightweight preview/conversion of a file, and transformations are costly and only needed to obtain a fully structured 'object' content tree. Set to True to get a chunked tree when using format='object'; with format='markdown' this has no practical effect since only the flat parsed text is returned.", + "default": false } }, "type": "object", @@ -8102,16 +8409,54 @@ } ] }, - "FileArtifact": { + "ErrorDetail": { "properties": { - "type": { - "type": "string", - "const": "file", - "title": "Type", - "description": "Input type discriminator", - "default": "file" - }, - "value": { + "code": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Code", + "description": "Detailed error code" + }, + "explanation": { + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Explanation", + "description": "Explanation text or structured validation output" + } + }, + "type": "object", + "title": "ErrorDetail", + "description": "ErrorDetail schema." + }, + "FileArtifact": { + "properties": { + "type": { + "type": "string", + "const": "file", + "title": "Type", + "description": "Input type discriminator", + "default": "file" + }, + "value": { "type": "string", "title": "Value", "description": "Base64 encoded file content" @@ -9154,6 +9499,65 @@ "title": "Authorization Token", "description": "The authorization token to use when connecting to the MCP server." }, + "refresh_token": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Refresh Token", + "description": "The OAuth refresh token used to renew the authorization token." + }, + "client_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Id", + "description": "The OAuth client ID associated with the refresh token." + }, + "client_secret": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Client Secret", + "description": "The optional OAuth client secret associated with the client ID." + }, + "token_endpoint_auth_method": { + "anyOf": [ + { + "type": "string", + "enum": [ + "none", + "client_secret_basic", + "client_secret_post" + ] + }, + { + "type": "null" + } + ], + "title": "Token Endpoint Auth Method", + "description": "The authentication method registered for the OAuth token endpoint. Defaults to client_secret_basic when a client secret is provided." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": "Opaque metadata copied into internal MCP events." + }, "tool_configuration": { "$ref": "#/components/schemas/McpServerToolConfig", "description": "Configuration for tool filtering from the MCP server" @@ -9269,8 +9673,44 @@ { "$ref": "#/components/schemas/TLDRBlock" }, + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchResultBlock" + }, { "$ref": "#/components/schemas/ToolResultBlock" + }, + { + "$ref": "#/components/schemas/ServerToolResultBlock" + }, + { + "$ref": "#/components/schemas/BashCodeExecutionToolResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionToolResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchToolResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchToolResultBlock" } ] }, @@ -9410,14 +9850,53 @@ { "$ref": "#/components/schemas/TLDRBlock" }, + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchResultBlock" + }, { "$ref": "#/components/schemas/ToolResultBlock" + }, + { + "$ref": "#/components/schemas/ServerToolResultBlock" + }, + { + "$ref": "#/components/schemas/BashCodeExecutionToolResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionToolResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchToolResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchToolResultBlock" } ], "discriminator": { "propertyName": "type", "mapping": { "audio": "#/components/schemas/AudioBlock-Input", + "bash_code_execution_result": "#/components/schemas/BashCodeExecutionResultBlock-Input", + "bash_code_execution_tool_result": "#/components/schemas/BashCodeExecutionToolResultBlock-Input", + "bash_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", "binary": "#/components/schemas/BinaryBlock-Input", "container_upload": "#/components/schemas/ContainerUploadBlock-Input", "document": "#/components/schemas/DocumentBlock-Input", @@ -9428,13 +9907,23 @@ "resource": "#/components/schemas/ResourceBlock-Input", "resource_link": "#/components/schemas/ResourceLinkBlock-Input", "search_result": "#/components/schemas/SearchResultBlock-Input", + "server_tool_result": "#/components/schemas/ServerToolResultBlock-Input", "server_tool_use": "#/components/schemas/ServerToolUseBlock-Input", "source": "#/components/schemas/SourceBlock-Input", "text": "#/components/schemas/TextBlock-Input", + "text_editor_code_execution_create_result": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock-Input", + "text_editor_code_execution_str_replace_result": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock-Input", + "text_editor_code_execution_tool_result": "#/components/schemas/TextEditorCodeExecutionToolResultBlock-Input", + "text_editor_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "text_editor_code_execution_view_result": "#/components/schemas/TextEditorCodeExecutionViewResultBlock-Input", "thinking": "#/components/schemas/ThinkingBlock-Input", "tldr": "#/components/schemas/TLDRBlock-Input", "tool_result": "#/components/schemas/ToolResultBlock-Input", - "tool_use": "#/components/schemas/ToolUseBlock-Input" + "tool_use": "#/components/schemas/ToolUseBlock-Input", + "web_fetch_result": "#/components/schemas/WebFetchResultBlock-Input", + "web_fetch_tool_result": "#/components/schemas/WebFetchToolResultBlock-Input", + "web_search_result": "#/components/schemas/WebSearchResultBlock-Input", + "web_search_tool_result": "#/components/schemas/WebSearchToolResultBlock-Input" } } }, @@ -10687,7 +11176,7 @@ "properties": { "tool_id": { "type": "string", - "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", + "pattern": "^[a-zA-Z0-9_]+$", "title": "Tool Id", "description": "Server tool identifier." }, @@ -10711,7 +11200,7 @@ "properties": { "tool_id": { "type": "string", - "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", + "pattern": "^[a-zA-Z0-9_]+$", "title": "Tool Id", "description": "Server tool identifier." }, @@ -10731,34 +11220,13 @@ "title": "ServerToolCaller20260120", "description": "ServerToolCaller20260120 schema." }, - "ServerToolUsage": { - "properties": { - "web_fetch_requests": { - "type": "integer", - "title": "Web Fetch Requests", - "description": "Number of web fetch requests used." - }, - "web_search_requests": { - "type": "integer", - "title": "Web Search Requests", - "description": "Number of web search requests used." - } - }, - "type": "object", - "required": [ - "web_fetch_requests", - "web_search_requests" - ], - "title": "ServerToolUsage", - "description": "Usage counters for server-side tools." - }, - "ServerToolUseBlock": { + "ServerToolResultBlock": { "properties": { "type": { "type": "string", - "const": "server_tool_use", + "const": "server_tool_result", "title": "Type", - "default": "server_tool_use", + "default": "server_tool_result", "description": "type field." }, "start_timestamp": { @@ -10815,131 +11283,1383 @@ "title": "Cache Control", "description": "cache control field." }, - "id": { - "type": "string", - "pattern": "^srvtoolu_[a-zA-Z0-9_]+$", - "title": "Id", - "description": "Unique identifier for this server tool use" - }, - "name": { + "tool_use_id": { "type": "string", - "enum": [ - "web_search", - "web_fetch", - "code_execution", - "bash_code_execution", - "text_editor_code_execution", - "tool_search_tool_regex", - "tool_search_tool_bm25" - ], - "title": "Name", - "description": "Name of the server tool being called" - }, - "input": { - "additionalProperties": true, - "type": "object", - "title": "ServerToolUseInput", - "description": "Input payload for the server tool call" + "pattern": "^[a-zA-Z0-9_-]+$", + "title": "Tool Use Id", + "description": "ID of the ToolUseBlock this result answers" }, - "caller": { + "content": { "anyOf": [ { - "oneOf": [ - { - "$ref": "#/components/schemas/DirectCaller" - }, - { - "$ref": "#/components/schemas/ServerToolCaller" - }, - { - "$ref": "#/components/schemas/ServerToolCaller20260120" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "code_execution_20250825": "#/components/schemas/ServerToolCaller", - "code_execution_20260120": "#/components/schemas/ServerToolCaller20260120", - "direct": "#/components/schemas/DirectCaller" - } - } + "type": "string" }, { - "type": "null" - } - ], - "title": "Caller", - "description": "caller field." - } - }, - "additionalProperties": true, - "type": "object", - "required": [ - "id", - "input", - "name", - "type" - ], - "title": "ServerToolUseBlock", - "description": "Represents a server-side (built-in) tool call initiated by the model." - }, - "SkillArtifact": { - "properties": { - "type": { - "type": "string", - "const": "skill", - "title": "Type", - "description": "Input type discriminator", - "default": "skill" - }, - "skill_filter": { - "$ref": "#/components/schemas/SkillFilter", - "description": "Skill filter declaring the collection and optional skill_or_version_ids whitelist." - } - }, - "type": "object", - "required": [ - "skill_filter" - ], - "title": "SkillArtifact", - "description": "Input for skill activation using SkillFilter." - }, - "SkillDeletedResponse": { - "properties": { - "id": { - "type": "string", - "title": "Id", - "description": "Deleted skill identifier." - }, - "type": { - "type": "string", - "const": "skill_deleted", - "title": "Type", - "description": "Deleted object type.", - "default": "skill_deleted" - } - }, - "type": "object", - "required": [ - "id" + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/TextBlock" + }, + { + "$ref": "#/components/schemas/ImageBlock" + }, + { + "$ref": "#/components/schemas/AudioBlock" + }, + { + "$ref": "#/components/schemas/BinaryBlock" + }, + { + "$ref": "#/components/schemas/LocalResourceBlock" + }, + { + "$ref": "#/components/schemas/ResourceLinkBlock" + }, + { + "$ref": "#/components/schemas/ResourceBlock" + }, + { + "$ref": "#/components/schemas/SourceBlock" + }, + { + "$ref": "#/components/schemas/ThinkingBlock" + }, + { + "$ref": "#/components/schemas/RedactedThinkingBlock" + }, + { + "$ref": "#/components/schemas/ToolUseBlock" + }, + { + "$ref": "#/components/schemas/ServerToolUseBlock" + }, + { + "$ref": "#/components/schemas/ContainerUploadBlock" + }, + { + "$ref": "#/components/schemas/DocumentBlock" + }, + { + "$ref": "#/components/schemas/SearchResultBlock" + }, + { + "$ref": "#/components/schemas/MidConvSystemBlock" + }, + { + "$ref": "#/components/schemas/TLDRBlock" + }, + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchResultBlock" + }, + { + "$ref": "#/components/schemas/ToolReferenceBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "audio": "#/components/schemas/AudioBlock-Input", + "bash_code_execution_result": "#/components/schemas/BashCodeExecutionResultBlock-Input", + "bash_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "binary": "#/components/schemas/BinaryBlock-Input", + "container_upload": "#/components/schemas/ContainerUploadBlock-Input", + "document": "#/components/schemas/DocumentBlock-Input", + "image": "#/components/schemas/ImageBlock-Input", + "local_resource": "#/components/schemas/LocalResourceBlock-Input", + "mid_conv_system": "#/components/schemas/MidConvSystemBlock-Input", + "redacted_thinking": "#/components/schemas/RedactedThinkingBlock-Input", + "resource": "#/components/schemas/ResourceBlock-Input", + "resource_link": "#/components/schemas/ResourceLinkBlock-Input", + "search_result": "#/components/schemas/SearchResultBlock-Input", + "server_tool_use": "#/components/schemas/ServerToolUseBlock-Input", + "source": "#/components/schemas/SourceBlock-Input", + "text": "#/components/schemas/TextBlock-Input", + "text_editor_code_execution_create_result": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock-Input", + "text_editor_code_execution_str_replace_result": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock-Input", + "text_editor_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "text_editor_code_execution_view_result": "#/components/schemas/TextEditorCodeExecutionViewResultBlock-Input", + "thinking": "#/components/schemas/ThinkingBlock-Input", + "tldr": "#/components/schemas/TLDRBlock-Input", + "tool_reference": "#/components/schemas/ToolReferenceBlock-Input", + "tool_use": "#/components/schemas/ToolUseBlock-Input", + "web_fetch_result": "#/components/schemas/WebFetchResultBlock-Input", + "web_search_result": "#/components/schemas/WebSearchResultBlock-Input" + } + } + }, + "type": "array" + } + ], + "title": "Content", + "description": "Tool execution result", + "default": "" + }, + "is_error": { + "type": "boolean", + "title": "Is Error", + "description": "Whether the tool result indicates an error.", + "default": false + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "tool_use_id", + "type" + ], + "title": "ServerToolResultBlock", + "description": "Default result produced by a server-executed tool." + }, + "ServerToolUsage": { + "properties": { + "web_fetch_requests": { + "type": "integer", + "title": "Web Fetch Requests", + "description": "Number of web fetch requests used." + }, + "web_search_requests": { + "type": "integer", + "title": "Web Search Requests", + "description": "Number of web search requests used." + } + }, + "type": "object", + "required": [ + "web_fetch_requests", + "web_search_requests" + ], + "title": "ServerToolUsage", + "description": "Usage counters for server-side tools." + }, + "ServerToolUseBlock": { + "properties": { + "type": { + "type": "string", + "const": "server_tool_use", + "title": "Type", + "default": "server_tool_use", + "description": "type field." + }, + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "cache_control": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } + } + }, + { + "type": "null" + } + ], + "title": "Cache Control", + "description": "cache control field." + }, + "id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_]+$", + "title": "Id", + "description": "Unique identifier for this server tool use" + }, + "name": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "title": "Name", + "description": "Name of the server tool being called" + }, + "raw_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Raw Name", + "description": "Original tool name before model-facing normalization" + }, + "input": { + "additionalProperties": true, + "type": "object", + "title": "ServerToolUseInput", + "description": "Input payload for the server tool call" + }, + "caller": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/DirectCaller" + }, + { + "$ref": "#/components/schemas/ServerToolCaller" + }, + { + "$ref": "#/components/schemas/ServerToolCaller20260120" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "code_execution_20250825": "#/components/schemas/ServerToolCaller", + "code_execution_20260120": "#/components/schemas/ServerToolCaller20260120", + "direct": "#/components/schemas/DirectCaller" + } + } + }, + { + "type": "null" + } + ], + "title": "Caller", + "description": "caller field." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "id", + "input", + "name", + "type" + ], + "title": "ServerToolUseBlock", + "description": "Represents a server-side (built-in) tool call initiated by the model." + }, + "SkillArtifact": { + "properties": { + "type": { + "type": "string", + "const": "skill", + "title": "Type", + "description": "Input type discriminator", + "default": "skill" + }, + "skill_filter": { + "$ref": "#/components/schemas/SkillFilter", + "description": "Skill filter declaring the collection and optional skill_or_version_ids whitelist." + } + }, + "type": "object", + "required": [ + "skill_filter" + ], + "title": "SkillArtifact", + "description": "Input for skill activation using SkillFilter." + }, + "SkillDeletedResponse": { + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Deleted skill identifier." + }, + "type": { + "type": "string", + "const": "skill_deleted", + "title": "Type", + "description": "Deleted object type.", + "default": "skill_deleted" + } + }, + "type": "object", + "required": [ + "id" + ], + "title": "SkillDeletedResponse", + "description": "Deletion marker returned after a skill is removed." + }, + "SkillFilter": { + "properties": { + "collection": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "title": "Collection", + "description": "Tenant collection boundary used to recover skills." + }, + "skill_or_version_ids": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Skill Or Version Ids", + "description": "Optional whitelist of identifiers inside collection. Each item may be a skill id (resolved to latest version) or a skill version id." + } + }, + "type": "object", + "required": [ + "collection" + ], + "title": "SkillFilter", + "description": "Collection-scoped filter used to resolve active skills and versions." + }, + "SkillResponse": { + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Unique skill identifier." + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At", + "description": "Creation timestamp." + }, + "display_title": { + "type": "string", + "title": "Display Title", + "description": "Human display title." + }, + "latest_version": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Latest Version", + "description": "Latest version token for this skill." + }, + "source": { + "type": "string", + "enum": [ + "custom", + "anthropic", + "zylon" + ], + "title": "Source", + "description": "Source of the skill." + }, + "type": { + "type": "string", + "const": "skill", + "title": "Type", + "description": "Object type.", + "default": "skill" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "title": "Updated At", + "description": "Update timestamp." + }, + "collection": { + "type": "string", + "title": "Collection", + "description": "Tenant identifier (org_id boundary)." + }, + "loading": { + "type": "string", + "enum": [ + "eager", + "lazy" + ], + "title": "Loading", + "description": "Instruction loading strategy." + }, + "readonly": { + "type": "boolean", + "title": "Readonly", + "description": "Readonly flag." + } + }, + "type": "object", + "required": [ + "id", + "created_at", + "display_title", + "source", + "updated_at", + "collection", + "loading", + "readonly" + ], + "title": "SkillResponse", + "description": "Serialized skill object returned by skills endpoints." + }, + "SkillValidationError": { + "properties": { + "code": { + "type": "string", + "title": "Code", + "description": "Uppercase error code identifying the failure kind." + }, + "message": { + "type": "string", + "title": "Message", + "description": "Human-readable description of the error." + }, + "params": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Params", + "description": "Optional i18n interpolation parameters (e.g. {'size': '10'})." + } + }, + "type": "object", + "required": [ + "code", + "message" + ], + "title": "SkillValidationError", + "description": "A single structured validation error with stable code and message." + }, + "SkillValidationResponse": { + "properties": { + "valid": { + "type": "boolean", + "title": "Valid", + "description": "Whether the skill payload would be accepted." + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name", + "description": "Parsed skill name from SKILL.md frontmatter (when valid)." + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Description", + "description": "Parsed skill description from SKILL.md frontmatter (when valid)." + }, + "errors": { + "items": { + "$ref": "#/components/schemas/SkillValidationError" + }, + "type": "array", + "title": "Errors", + "description": "Validation errors (when invalid)." + } + }, + "type": "object", + "required": [ + "valid" + ], + "title": "SkillValidationResponse", + "description": "Result of a dry-run skill validation.", + "examples": [ + { + "description": "Helps sales reps draft outreach.", + "errors": [], + "name": "sales-ops-helper", + "valid": true + }, + { + "errors": [ + { + "code": "INVALID_FRONTMATTER", + "message": "SKILL.md must start with YAML frontmatter" + } + ], + "valid": false + } + ] + }, + "SkillVersionDeletedResponse": { + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Deleted version token." + }, + "type": { + "type": "string", + "const": "skill_version_deleted", + "title": "Type", + "description": "Deleted object type.", + "default": "skill_version_deleted" + } + }, + "type": "object", + "required": [ + "id" + ], + "title": "SkillVersionDeletedResponse", + "description": "Deletion marker returned after a skill version is removed." + }, + "SkillVersionResponse": { + "properties": { + "id": { + "type": "string", + "title": "Id", + "description": "Unique skill version identifier." + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At", + "description": "Creation timestamp." + }, + "description": { + "type": "string", + "title": "Description", + "description": "Skill version description from frontmatter." + }, + "directory": { + "type": "string", + "title": "Directory", + "description": "Top-level directory name for this version." + }, + "name": { + "type": "string", + "title": "Name", + "description": "Skill name from frontmatter." + }, + "skill_id": { + "type": "string", + "title": "Skill Id", + "description": "Parent skill identifier." + }, + "type": { + "type": "string", + "const": "skill_version", + "title": "Type", + "description": "Object type.", + "default": "skill_version" + }, + "version": { + "type": "string", + "title": "Version", + "description": "Version token." + } + }, + "type": "object", + "required": [ + "id", + "created_at", + "description", + "directory", + "name", + "skill_id", + "version" + ], + "title": "SkillVersionResponse", + "description": "Serialized skill version object returned by version endpoints." + }, + "SourceBlock": { + "properties": { + "type": { + "type": "string", + "const": "source", + "title": "Type", + "default": "source", + "description": "type field." + }, + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "sources": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/Chunk" + }, + { + "$ref": "#/components/schemas/Website" + } + ] + }, + "type": "array", + "title": "Sources", + "description": "Document chunks used as context for this response" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "sources", + "type" + ], + "title": "SourceBlock", + "description": "Document chunks surfaced as RAG context attribution." + }, + "SqlDatabaseArtifact": { + "properties": { + "type": { + "type": "string", + "const": "sql_database", + "title": "Type", + "description": "Input type discriminator", + "default": "sql_database" + }, + "connection_string": { + "type": "string", + "title": "Connection String", + "description": "SQL database connection string" + }, + "schemas": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Schemas", + "description": "List of specific schemas to include, if None includes all non-system schemas" + }, + "ssl": { + "type": "boolean", + "title": "Ssl", + "description": "Whether to use SSL for the database connection", + "default": false + }, + "enable_tables": { + "type": "boolean", + "title": "Enable Tables", + "description": "Whether to include tables in the inspection", + "default": true + }, + "enable_views": { + "type": "boolean", + "title": "Enable Views", + "description": "Whether to include views in the inspection", + "default": true + }, + "enable_functions": { + "type": "boolean", + "title": "Enable Functions", + "description": "Whether to include functions in the inspection", + "default": true + }, + "enable_procedures": { + "type": "boolean", + "title": "Enable Procedures", + "description": "Whether to include stored procedures in the inspection", + "default": true + }, + "description": { + "type": "string", + "title": "Description", + "description": "Optional description of the database", + "default": "" + } + }, + "type": "object", + "required": [ + "connection_string" + ], + "title": "SqlDatabaseArtifact", + "description": "Input for SQL database content." + }, + "StreamMetadata": { + "properties": { + "message_id": { + "type": "string", + "title": "Message Id", + "description": "Unique identifier for the stream" + }, + "status": { + "$ref": "#/components/schemas/StreamStatus", + "description": "Current status of the stream" + }, + "created_at": { + "type": "string", + "format": "date-time", + "title": "Created At", + "description": "Timestamp when the stream was created" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "title": "Updated At", + "description": "Timestamp when the stream was last updated" + }, + "completed_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Completed At", + "description": "Timestamp when the stream was completed, if applicable" + }, + "error_message": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Error Message", + "description": "Error message if the stream encountered an error" + }, + "stream_type": { + "type": "string", + "title": "Stream Type", + "description": "Type of the stream, used for categorization", + "default": "default" + }, + "metadata": { + "additionalProperties": true, + "type": "object", + "title": "Metadata", + "description": "Additional metadata associated with the stream" + } + }, + "type": "object", + "required": [ + "message_id", + "status", + "created_at", + "updated_at" + ], + "title": "StreamMetadata", + "description": "Stream metadata and status information for asynchronous chat completions", + "examples": [ + { + "created_at": "2025-07-10T09:11:16.003615Z", + "message_id": "msg_async_12345", + "metadata": {}, + "status": "pending", + "stream_type": "default", + "updated_at": "2025-07-10T09:11:16.003615Z" + }, + { + "created_at": "2025-07-10T09:11:16.003615Z", + "message_id": "msg_async_67890", + "metadata": { + "tokens_processed": 156, + "tools_used": [ + "security_scanner" + ] + }, + "status": "processing", + "stream_type": "default", + "updated_at": "2025-07-10T09:11:20.123456Z" + } + ] + }, + "StreamStatus": { + "type": "string", + "enum": [ + "pending", + "processing", + "completed", + "failed", + "cancelled", + "error" + ], + "title": "StreamStatus", + "description": "Enumeration of possible stream statuses." + }, + "System": { + "properties": { + "use_default_prompt": { + "type": "boolean", + "title": "Use Default Prompt", + "description": "Deprecated: legacy toggle for built-in default prompt injection. Use system.prompt to control per-category prompt injection.", + "default": false, + "deprecated": true + }, + "text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Text", + "description": "System prompt to use for the chat completion" + }, + "citations": { + "$ref": "#/components/schemas/Citations", + "description": "Citation configuration for source attribution in responses", + "default": { + "enabled": false + } + }, + "extensions": { + "items": { + "$ref": "#/components/schemas/SystemExtensions" + }, + "type": "array", + "title": "Extensions", + "description": "Set of enabled extensions" + }, + "blob_visibility": { + "$ref": "#/components/schemas/BlobVisibilityMode", + "description": "Controls how blobs are exposed: binary (raw data), internal (private S3 URI), or public (public S3 URL)", + "default": "public" + }, + "prompt": { + "$ref": "#/components/schemas/PromptConfig", + "description": "Controls which platform-level prompt features are injected." + } + }, + "type": "object", + "title": "System", + "description": "System message configuration for AI behavior and prompting." + }, + "SystemExtensions": { + "type": "string", + "enum": [ + "zylon" + ], + "title": "SystemExtensions", + "description": "Enumeration of supported system extensions." + }, + "TLDRBlock": { + "properties": { + "type": { + "type": "string", + "const": "tldr", + "title": "Type", + "default": "tldr", + "description": "type field." + }, + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "content": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/TextBlock" + }, + { + "$ref": "#/components/schemas/ImageBlock" + }, + { + "$ref": "#/components/schemas/AudioBlock" + }, + { + "$ref": "#/components/schemas/BinaryBlock" + }, + { + "$ref": "#/components/schemas/LocalResourceBlock" + }, + { + "$ref": "#/components/schemas/ResourceLinkBlock" + }, + { + "$ref": "#/components/schemas/ResourceBlock" + }, + { + "$ref": "#/components/schemas/SourceBlock" + }, + { + "$ref": "#/components/schemas/ThinkingBlock" + }, + { + "$ref": "#/components/schemas/RedactedThinkingBlock" + }, + { + "$ref": "#/components/schemas/ToolUseBlock" + }, + { + "$ref": "#/components/schemas/ServerToolUseBlock" + }, + { + "$ref": "#/components/schemas/ContainerUploadBlock" + }, + { + "$ref": "#/components/schemas/DocumentBlock" + }, + { + "$ref": "#/components/schemas/SearchResultBlock" + }, + { + "$ref": "#/components/schemas/MidConvSystemBlock" + } + ] + }, + "type": "array", + "title": "Content", + "description": "content field." + }, + "tldr_side": { + "type": "string", + "enum": [ + "left", + "right" + ], + "title": "Tldr Side", + "default": "left", + "description": "tldr side field." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "type" + ], + "title": "TLDRBlock", + "description": "Condensed summary block." + }, + "TabularDataAnalysisBody": { + "properties": { + "query": { + "type": "string", + "title": "Query", + "description": "The analysis question or prompt related to tabular data.", + "examples": [ + "Show average revenue by department over the last 3 quarters." + ] + }, + "context_filter": { + "$ref": "#/components/schemas/ContextFilter", + "description": "Filters to select specific context from ingested documents." + } + }, + "type": "object", + "required": [ + "query", + "context_filter" + ], + "title": "TabularDataAnalysisBody", + "description": "Request body for tabular data analysis using the tool." + }, + "Task": { + "properties": { + "task_id": { + "type": "string", + "title": "Task Id", + "description": "Unique identifier for the asynchronous task, used to track progress and retrieve results", + "examples": [ + "123e4567-e89b-12d3-a456-426614174000", + "revoked" + ] + } + }, + "type": "object", + "required": [ + "task_id" + ], + "title": "Task", + "description": "Represents an asynchronous task that has been queued.", + "examples": [ + { + "task_id": "123e4567-e89b-12d3-a456-426614174000" + }, + { + "task_id": "456e7890-e89b-12d3-a456-426614174001" + } + ] + }, + "TaskStatus_IngestResponse_": { + "properties": { + "task_id": { + "type": "string", + "title": "Task Id", + "description": "Unique identifier of the task being monitored", + "examples": [ + "123e4567-e89b-12d3-a456-426614174000" + ] + }, + "task_status": { + "type": "string", + "title": "Task Status", + "description": "Current execution status of the task. Common values: PENDING, SUCCESS, FAILURE, REVOKED", + "examples": [ + "PENDING", + "SUCCESS", + "FAILURE", + "REVOKED" + ] + }, + "task_result": { + "anyOf": [ + { + "$ref": "#/components/schemas/IngestResponse" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Task Result", + "description": "Task execution result. Contains typed result data on success, error message string on failure, or None for pending/deletion tasks", + "examples": [ + null, + "File format not supported", + { + "data": [], + "model": "private-gpt", + "object": "list" + } + ] + } + }, + "type": "object", + "required": [ + "task_id", + "task_status", + "task_result" + ], + "title": "TaskStatus[IngestResponse]", + "description": "Represents the status of an asynchronous task, including its ID, status, and result.", + "examples": [ + { + "task_id": "123e4567-e89b-12d3-a456-426614174000", + "task_result": { + "data": [ + { + "artifact": "annual_report", + "doc_metadata": { + "file_name": "report.pdf", + "pages": 45 + }, + "object": "ingest.document" + } + ], + "model": "private-gpt", + "object": "list" + }, + "task_status": "SUCCESS" + }, + { + "task_id": "456e7890-e89b-12d3-a456-426614174001", + "task_status": "PENDING" + }, + { + "task_id": "789e0123-e89b-12d3-a456-426614174002", + "task_result": "URI resource could not be accessed", + "task_status": "FAILURE" + } + ] + }, + "TaskStatus_NoneType_": { + "properties": { + "task_id": { + "type": "string", + "title": "Task Id", + "description": "Unique identifier of the task being monitored", + "examples": [ + "123e4567-e89b-12d3-a456-426614174000" + ] + }, + "task_status": { + "type": "string", + "title": "Task Status", + "description": "Current execution status of the task. Common values: PENDING, SUCCESS, FAILURE, REVOKED", + "examples": [ + "PENDING", + "SUCCESS", + "FAILURE", + "REVOKED" + ] + }, + "task_result": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Task Result", + "description": "Task execution result. Contains typed result data on success, error message string on failure, or None for pending/deletion tasks", + "examples": [ + null, + "File format not supported", + { + "data": [], + "model": "private-gpt", + "object": "list" + } + ] + } + }, + "type": "object", + "required": [ + "task_id", + "task_status", + "task_result" + ], + "title": "TaskStatus[NoneType]", + "description": "Represents the status of an asynchronous task, including its ID, status, and result.", + "examples": [ + { + "task_id": "123e4567-e89b-12d3-a456-426614174000", + "task_result": { + "data": [ + { + "artifact": "annual_report", + "doc_metadata": { + "file_name": "report.pdf", + "pages": 45 + }, + "object": "ingest.document" + } + ], + "model": "private-gpt", + "object": "list" + }, + "task_status": "SUCCESS" + }, + { + "task_id": "456e7890-e89b-12d3-a456-426614174001", + "task_status": "PENDING" + }, + { + "task_id": "789e0123-e89b-12d3-a456-426614174002", + "task_result": "URI resource could not be accessed", + "task_status": "FAILURE" + } + ] + }, + "TextArtifact": { + "properties": { + "type": { + "type": "string", + "const": "text", + "title": "Type", + "description": "Input type discriminator", + "default": "text" + }, + "value": { + "type": "string", + "title": "Value", + "description": "Plain text content" + } + }, + "type": "object", + "required": [ + "value" ], - "title": "SkillDeletedResponse", - "description": "Deletion marker returned after a skill is removed." + "title": "TextArtifact", + "description": "Input for plain text content." }, - "SkillFilter": { + "TextBlock": { "properties": { - "collection": { + "type": { "type": "string", - "maxLength": 255, - "minLength": 1, - "title": "Collection", - "description": "Tenant collection boundary used to recover skills." + "const": "text", + "title": "Type", + "default": "text", + "description": "type field." }, - "skill_or_version_ids": { + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "cache_control": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } + } + }, + { + "type": "null" + } + ], + "title": "Cache Control", + "description": "cache control field." + }, + "text": { + "type": "string", + "title": "Text", + "description": "Text payload for this block.", + "default": "" + }, + "citations": { "anyOf": [ { "items": { - "type": "string" + "$ref": "#/components/schemas/ZylonCitation" }, "type": "array" }, @@ -10947,292 +12667,392 @@ "type": "null" } ], - "title": "Skill Or Version Ids", - "description": "Optional whitelist of identifiers inside collection. Each item may be a skill id (resolved to latest version) or a skill version id." + "title": "Citations", + "default": [], + "description": "citations field." } }, + "additionalProperties": true, "type": "object", "required": [ - "collection" + "type" ], - "title": "SkillFilter", - "description": "Collection-scoped filter used to resolve active skills and versions." + "title": "TextBlock", + "description": "Plain-text content block." }, - "SkillResponse": { + "TextEditorCodeExecutionCreateResultBlock": { "properties": { - "id": { - "type": "string", - "title": "Id", - "description": "Unique skill identifier." - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At", - "description": "Creation timestamp." - }, - "display_title": { + "type": { "type": "string", - "title": "Display Title", - "description": "Human display title." + "const": "text_editor_code_execution_create_result", + "title": "Type", + "default": "text_editor_code_execution_create_result", + "description": "type field." }, - "latest_version": { + "start_timestamp": { "anyOf": [ { - "type": "string" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "title": "Latest Version", - "description": "Latest version token for this skill." + "title": "Start Timestamp", + "description": "start timestamp field." }, - "source": { - "type": "string", - "enum": [ - "custom", - "anthropic", - "zylon" + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } ], - "title": "Source", - "description": "Source of the skill." - }, - "type": { - "type": "string", - "const": "skill", - "title": "Type", - "description": "Object type.", - "default": "skill" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "title": "Updated At", - "description": "Update timestamp." - }, - "collection": { - "type": "string", - "title": "Collection", - "description": "Tenant identifier (org_id boundary)." + "title": "Stop Timestamp", + "description": "stop timestamp field." }, - "loading": { - "type": "string", - "enum": [ - "eager", - "lazy" - ], - "title": "Loading", - "description": "Instruction loading strategy." + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." }, - "readonly": { + "is_file_update": { "type": "boolean", - "title": "Readonly", - "description": "Readonly flag." + "title": "Is File Update", + "default": false, + "description": "is file update field." } }, + "additionalProperties": true, "type": "object", "required": [ - "id", - "created_at", - "display_title", - "source", - "updated_at", - "collection", - "loading", - "readonly" + "type" ], - "title": "SkillResponse", - "description": "Serialized skill object returned by skills endpoints." + "title": "TextEditorCodeExecutionCreateResultBlock", + "description": "TextEditorCodeExecutionCreateResultBlock schema." }, - "SkillValidationError": { + "TextEditorCodeExecutionStrReplaceResultBlock": { "properties": { - "code": { + "type": { "type": "string", - "title": "Code", - "description": "Uppercase error code identifying the failure kind." + "const": "text_editor_code_execution_str_replace_result", + "title": "Type", + "default": "text_editor_code_execution_str_replace_result", + "description": "type field." }, - "message": { + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." + }, + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "old_start": { + "type": "integer", + "title": "Old Start", + "default": 0, + "description": "old start field." + }, + "old_lines": { + "type": "integer", + "title": "Old Lines", + "default": 0, + "description": "old lines field." + }, + "new_start": { + "type": "integer", + "title": "New Start", + "default": 0, + "description": "new start field." + }, + "new_lines": { + "type": "integer", + "title": "New Lines", + "default": 0, + "description": "new lines field." + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array", + "title": "Lines", + "description": "lines field." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "type" + ], + "title": "TextEditorCodeExecutionStrReplaceResultBlock", + "description": "TextEditorCodeExecutionStrReplaceResultBlock schema." + }, + "TextEditorCodeExecutionToolResultBlock": { + "properties": { + "type": { "type": "string", - "title": "Message", - "description": "Human-readable description of the error." + "const": "text_editor_code_execution_tool_result", + "title": "Type", + "default": "text_editor_code_execution_tool_result", + "description": "type field." }, - "params": { + "start_timestamp": { "anyOf": [ { - "additionalProperties": { - "type": "string" - }, - "type": "object" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "title": "Params", - "description": "Optional i18n interpolation parameters (e.g. {'size': '10'})." - } - }, - "type": "object", - "required": [ - "code", - "message" - ], - "title": "SkillValidationError", - "description": "A single structured validation error with stable code and message." - }, - "SkillValidationResponse": { - "properties": { - "valid": { - "type": "boolean", - "title": "Valid", - "description": "Whether the skill payload would be accepted." + "title": "Start Timestamp", + "description": "start timestamp field." }, - "name": { + "stop_timestamp": { "anyOf": [ { - "type": "string" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "title": "Name", - "description": "Parsed skill name from SKILL.md frontmatter (when valid)." + "title": "Stop Timestamp", + "description": "stop timestamp field." }, - "description": { + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "cache_control": { "anyOf": [ { - "type": "string" + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } + } }, { "type": "null" } ], - "title": "Description", - "description": "Parsed skill description from SKILL.md frontmatter (when valid)." + "title": "Cache Control", + "description": "cache control field." }, - "errors": { - "items": { - "$ref": "#/components/schemas/SkillValidationError" - }, - "type": "array", - "title": "Errors", - "description": "Validation errors (when invalid)." - } - }, - "type": "object", - "required": [ - "valid" - ], - "title": "SkillValidationResponse", - "description": "Result of a dry-run skill validation.", - "examples": [ - { - "description": "Helps sales reps draft outreach.", - "errors": [], - "name": "sales-ops-helper", - "valid": true + "tool_use_id": { + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "title": "Tool Use Id", + "description": "ID of the ToolUseBlock this result answers" }, - { - "errors": [ + "content": { + "oneOf": [ { - "code": "INVALID_FRONTMATTER", - "message": "SKILL.md must start with YAML frontmatter" + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" } ], - "valid": false - } - ] - }, - "SkillVersionDeletedResponse": { - "properties": { - "id": { - "type": "string", - "title": "Id", - "description": "Deleted version token." + "title": "Content", + "discriminator": { + "propertyName": "type", + "mapping": { + "bash_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "text_editor_code_execution_create_result": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock-Input", + "text_editor_code_execution_str_replace_result": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock-Input", + "text_editor_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "text_editor_code_execution_view_result": "#/components/schemas/TextEditorCodeExecutionViewResultBlock-Input" + } + }, + "description": "content field." }, - "type": { - "type": "string", - "const": "skill_version_deleted", - "title": "Type", - "description": "Deleted object type.", - "default": "skill_version_deleted" + "is_error": { + "type": "boolean", + "title": "Is Error", + "default": false, + "description": "is error field." } }, + "additionalProperties": true, "type": "object", "required": [ - "id" + "content", + "tool_use_id", + "type" ], - "title": "SkillVersionDeletedResponse", - "description": "Deletion marker returned after a skill version is removed." + "title": "TextEditorCodeExecutionToolResultBlock", + "description": "TextEditorCodeExecutionToolResultBlock schema." }, - "SkillVersionResponse": { + "TextEditorCodeExecutionViewResultBlock": { "properties": { - "id": { + "type": { "type": "string", - "title": "Id", - "description": "Unique skill version identifier." + "const": "text_editor_code_execution_view_result", + "title": "Type", + "default": "text_editor_code_execution_view_result", + "description": "type field." }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At", - "description": "Creation timestamp." + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." }, - "description": { - "type": "string", - "title": "Description", - "description": "Skill version description from frontmatter." + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." }, - "directory": { - "type": "string", - "title": "Directory", - "description": "Top-level directory name for this version." + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." }, - "name": { + "file_type": { "type": "string", - "title": "Name", - "description": "Skill name from frontmatter." + "const": "text", + "title": "File Type", + "default": "text", + "description": "file type field." }, - "skill_id": { + "content": { "type": "string", - "title": "Skill Id", - "description": "Parent skill identifier." + "title": "Content", + "description": "content field." }, - "type": { - "type": "string", - "const": "skill_version", - "title": "Type", - "description": "Object type.", - "default": "skill_version" + "num_lines": { + "type": "integer", + "title": "Num Lines", + "description": "num lines field." }, - "version": { - "type": "string", - "title": "Version", - "description": "Version token." + "start_line": { + "type": "integer", + "title": "Start Line", + "description": "start line field." + }, + "total_lines": { + "type": "integer", + "title": "Total Lines", + "description": "total lines field." } }, + "additionalProperties": true, "type": "object", "required": [ - "id", - "created_at", - "description", - "directory", - "name", - "skill_id", - "version" + "content", + "num_lines", + "start_line", + "total_lines", + "type" ], - "title": "SkillVersionResponse", - "description": "Serialized skill version object returned by version endpoints." + "title": "TextEditorCodeExecutionViewResultBlock", + "description": "TextEditorCodeExecutionViewResultBlock schema." + }, + "Thinking": { + "properties": { + "enabled": { + "type": "boolean", + "title": "Enabled", + "description": "Enable reasoning capabilities for the model, allowing it to think step-by-step", + "default": false + }, + "effort": { + "anyOf": [ + { + "type": "string", + "enum": [ + "low", + "medium", + "high", + "max", + "xhigh" + ] + }, + { + "type": "null" + } + ], + "title": "Effort", + "description": "Deprecated. Use output_config.effort instead. Kept for backward compatibility with legacy clients.", + "deprecated": true + } + }, + "type": "object", + "title": "Thinking", + "description": "Configuration for AI reasoning and step-by-step thinking capabilities." }, - "SourceBlock": { + "ThinkingBlock": { "properties": { "type": { "type": "string", - "const": "source", + "const": "thinking", "title": "Type", - "default": "source", + "default": "thinking", "description": "type field." }, "start_timestamp": { @@ -11267,50 +13087,44 @@ "title": "Meta", "description": " meta field." }, - "sources": { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/Chunk" - }, - { - "$ref": "#/components/schemas/Website" + "cache_control": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } } - ] - }, - "type": "array", - "title": "Sources", - "description": "Document chunks used as context for this response" - } - }, - "additionalProperties": true, - "type": "object", - "required": [ - "sources", - "type" - ], - "title": "SourceBlock", - "description": "Document chunks surfaced as RAG context attribution." - }, - "SqlDatabaseArtifact": { - "properties": { - "type": { + }, + { + "type": "null" + } + ], + "title": "Cache Control", + "description": "cache control field." + }, + "thinking": { "type": "string", - "const": "sql_database", - "title": "Type", - "description": "Input type discriminator", - "default": "sql_database" + "title": "Thinking", + "description": "Thinking payload", + "default": "" }, - "connection_string": { + "signature": { "type": "string", - "title": "Connection String", - "description": "SQL database connection string" + "title": "Signature", + "description": "Anthropic reasoning signature required for extended thinking compatibility" }, - "schemas": { + "citations": { "anyOf": [ { "items": { - "type": "string" + "$ref": "#/components/schemas/ZylonCitation" }, "type": "array" }, @@ -11318,170 +13132,74 @@ "type": "null" } ], - "title": "Schemas", - "description": "List of specific schemas to include, if None includes all non-system schemas" - }, - "ssl": { - "type": "boolean", - "title": "Ssl", - "description": "Whether to use SSL for the database connection", - "default": false - }, - "enable_tables": { - "type": "boolean", - "title": "Enable Tables", - "description": "Whether to include tables in the inspection", - "default": true - }, - "enable_views": { - "type": "boolean", - "title": "Enable Views", - "description": "Whether to include views in the inspection", - "default": true - }, - "enable_functions": { - "type": "boolean", - "title": "Enable Functions", - "description": "Whether to include functions in the inspection", - "default": true - }, - "enable_procedures": { - "type": "boolean", - "title": "Enable Procedures", - "description": "Whether to include stored procedures in the inspection", - "default": true - }, - "description": { - "type": "string", - "title": "Description", - "description": "Optional description of the database", - "default": "" + "title": "Citations", + "default": [], + "description": "citations field." } }, + "additionalProperties": true, "type": "object", "required": [ - "connection_string" + "signature", + "type" ], - "title": "SqlDatabaseArtifact", - "description": "Input for SQL database content." + "title": "ThinkingBlock", + "description": "Extended thinking block containing the model's reasoning process." }, - "StreamMetadata": { + "ThinkingCapabilityOutput": { "properties": { - "message_id": { - "type": "string", - "title": "Message Id", - "description": "Unique identifier for the stream" - }, - "status": { - "$ref": "#/components/schemas/StreamStatus", - "description": "Current status of the stream" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "Created At", - "description": "Timestamp when the stream was created" - }, - "updated_at": { - "type": "string", - "format": "date-time", - "title": "Updated At", - "description": "Timestamp when the stream was last updated" - }, - "completed_at": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ], - "title": "Completed At", - "description": "Timestamp when the stream was completed, if applicable" - }, - "error_message": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Error Message", - "description": "Error message if the stream encountered an error" - }, - "stream_type": { - "type": "string", - "title": "Stream Type", - "description": "Type of the stream, used for categorization", - "default": "default" + "supported": { + "type": "boolean", + "title": "Supported", + "description": "Whether thinking is supported." }, - "metadata": { - "additionalProperties": true, - "type": "object", - "title": "Metadata", - "description": "Additional metadata associated with the stream" + "types": { + "$ref": "#/components/schemas/ThinkingTypesOutput", + "description": "Thinking type support configuration." } }, "type": "object", "required": [ - "message_id", - "status", - "created_at", - "updated_at" + "supported", + "types" ], - "title": "StreamMetadata", - "description": "Stream metadata and status information for asynchronous chat completions", - "examples": [ - { - "created_at": "2025-07-10T09:11:16.003615Z", - "message_id": "msg_async_12345", - "metadata": {}, - "status": "pending", - "stream_type": "default", - "updated_at": "2025-07-10T09:11:16.003615Z" + "title": "ThinkingCapabilityOutput", + "description": "ThinkingCapabilityOutput schema." + }, + "ThinkingTypesOutput": { + "properties": { + "adaptive": { + "$ref": "#/components/schemas/CapabilitySupportOutput", + "description": "Support for thinking type \"adaptive\"." }, - { - "created_at": "2025-07-10T09:11:16.003615Z", - "message_id": "msg_async_67890", - "metadata": { - "tokens_processed": 156, - "tools_used": [ - "security_scanner" - ] - }, - "status": "processing", - "stream_type": "default", - "updated_at": "2025-07-10T09:11:20.123456Z" + "enabled": { + "$ref": "#/components/schemas/CapabilitySupportOutput", + "description": "Support for thinking type \"enabled\"." } - ] - }, - "StreamStatus": { - "type": "string", - "enum": [ - "pending", - "processing", - "completed", - "failed", - "cancelled", - "error" + }, + "type": "object", + "required": [ + "adaptive", + "enabled" ], - "title": "StreamStatus", - "description": "Enumeration of possible stream statuses." - }, - "System": { - "properties": { - "use_default_prompt": { - "type": "boolean", - "title": "Use Default Prompt", - "description": "Deprecated: legacy toggle for built-in default prompt injection. Use system.prompt to control per-category prompt injection.", - "default": false, - "deprecated": true + "title": "ThinkingTypesOutput", + "description": "ThinkingTypesOutput schema." + }, + "ToolChoice": { + "properties": { + "type": { + "type": "string", + "enum": [ + "auto", + "any", + "tool", + "none" + ], + "title": "Type", + "description": "Tool selection strategy", + "default": "auto" }, - "text": { + "name": { "anyOf": [ { "type": "string" @@ -11490,53 +13208,37 @@ "type": "null" } ], - "title": "Text", - "description": "System prompt to use for the chat completion" - }, - "citations": { - "$ref": "#/components/schemas/Citations", - "description": "Citation configuration for source attribution in responses", - "default": { - "enabled": false - } - }, - "extensions": { - "items": { - "$ref": "#/components/schemas/SystemExtensions" - }, - "type": "array", - "title": "Extensions", - "description": "Set of enabled extensions" + "title": "Name", + "description": "Name of the tool to use if not auto-selecting" }, - "blob_visibility": { - "$ref": "#/components/schemas/BlobVisibilityMode", - "description": "Controls how blobs are exposed: binary (raw data), internal (private S3 URI), or public (public S3 URL)", - "default": "public" + "disable_parallel_tool_use": { + "type": "boolean", + "title": "Disable Parallel Tool Use", + "description": "When true, prevents the AI from using multiple tools simultaneously", + "default": false }, - "prompt": { - "$ref": "#/components/schemas/PromptConfig", - "description": "Controls which platform-level prompt features are injected." + "validation_mode": { + "type": "string", + "enum": [ + "eager", + "lazy" + ], + "title": "Validation Mode", + "description": "Tool validation mode. 'eager' validates tool calls before execution, 'lazy' validates if tool call is made.", + "default": "lazy" } }, "type": "object", - "title": "System", - "description": "System message configuration for AI behavior and prompting." - }, - "SystemExtensions": { - "type": "string", - "enum": [ - "zylon" - ], - "title": "SystemExtensions", - "description": "Enumeration of supported system extensions." + "title": "ToolChoice", + "description": "Configuration for tool selection behavior during AI interactions." }, - "TLDRBlock": { + "ToolReferenceBlock": { "properties": { "type": { "type": "string", - "const": "tldr", + "const": "tool_reference", "title": "Type", - "default": "tldr", + "default": "tool_reference", "description": "type field." }, "start_timestamp": { @@ -11571,6 +13273,48 @@ "title": "Meta", "description": " meta field." }, + "cache_control": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } + } + }, + { + "type": "null" + } + ], + "title": "Cache Control", + "description": "cache control field." + }, + "tool_name": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "pattern": "^[a-zA-Z0-9_-]{1,256}$", + "title": "Tool Name", + "description": "Tool name reference." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "tool_name", + "type" + ], + "title": "ToolReferenceBlock", + "description": "Reference to a tool name used inside tool_result payloads." + }, + "ToolResponse": { + "properties": { "content": { "items": { "anyOf": [ @@ -11618,279 +13362,81 @@ }, { "$ref": "#/components/schemas/SearchResultBlock" - }, - { - "$ref": "#/components/schemas/MidConvSystemBlock" - } - ] - }, - "type": "array", - "title": "Content", - "description": "content field." - }, - "tldr_side": { - "type": "string", - "enum": [ - "left", - "right" - ], - "title": "Tldr Side", - "default": "left", - "description": "tldr side field." - } - }, - "additionalProperties": true, - "type": "object", - "required": [ - "type" - ], - "title": "TLDRBlock", - "description": "Condensed summary block." - }, - "TabularDataAnalysisBody": { - "properties": { - "query": { - "type": "string", - "title": "Query", - "description": "The analysis question or prompt related to tabular data.", - "examples": [ - "Show average revenue by department over the last 3 quarters." - ] - }, - "context_filter": { - "$ref": "#/components/schemas/ContextFilter", - "description": "Filters to select specific context from ingested documents." - } - }, - "type": "object", - "required": [ - "query", - "context_filter" - ], - "title": "TabularDataAnalysisBody", - "description": "Request body for tabular data analysis using the tool." - }, - "Task": { - "properties": { - "task_id": { - "type": "string", - "title": "Task Id", - "description": "Unique identifier for the asynchronous task, used to track progress and retrieve results", - "examples": [ - "123e4567-e89b-12d3-a456-426614174000", - "revoked" - ] - } - }, - "type": "object", - "required": [ - "task_id" - ], - "title": "Task", - "description": "Represents an asynchronous task that has been queued.", - "examples": [ - { - "task_id": "123e4567-e89b-12d3-a456-426614174000" - }, - { - "task_id": "456e7890-e89b-12d3-a456-426614174001" - } - ] - }, - "TaskStatus_IngestResponse_": { - "properties": { - "task_id": { - "type": "string", - "title": "Task Id", - "description": "Unique identifier of the task being monitored", - "examples": [ - "123e4567-e89b-12d3-a456-426614174000" - ] - }, - "task_status": { - "type": "string", - "title": "Task Status", - "description": "Current execution status of the task. Common values: PENDING, SUCCESS, FAILURE, REVOKED", - "examples": [ - "PENDING", - "SUCCESS", - "FAILURE", - "REVOKED" - ] - }, - "task_result": { - "anyOf": [ - { - "$ref": "#/components/schemas/IngestResponse" - }, - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Task Result", - "description": "Task execution result. Contains typed result data on success, error message string on failure, or None for pending/deletion tasks", - "examples": [ - null, - "File format not supported", - { - "data": [], - "model": "private-gpt", - "object": "list" - } - ] - } - }, - "type": "object", - "required": [ - "task_id", - "task_status", - "task_result" - ], - "title": "TaskStatus[IngestResponse]", - "description": "Represents the status of an asynchronous task, including its ID, status, and result.", - "examples": [ - { - "task_id": "123e4567-e89b-12d3-a456-426614174000", - "task_result": { - "data": [ + }, { - "artifact": "annual_report", - "doc_metadata": { - "file_name": "report.pdf", - "pages": 45 - }, - "object": "ingest.document" + "$ref": "#/components/schemas/MidConvSystemBlock" + }, + { + "$ref": "#/components/schemas/TLDRBlock" + }, + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchResultBlock" } - ], - "model": "private-gpt", - "object": "list" + ] }, - "task_status": "SUCCESS" - }, - { - "task_id": "456e7890-e89b-12d3-a456-426614174001", - "task_status": "PENDING" - }, - { - "task_id": "789e0123-e89b-12d3-a456-426614174002", - "task_result": "URI resource could not be accessed", - "task_status": "FAILURE" - } - ] - }, - "TaskStatus_NoneType_": { - "properties": { - "task_id": { - "type": "string", - "title": "Task Id", - "description": "Unique identifier of the task being monitored", - "examples": [ - "123e4567-e89b-12d3-a456-426614174000" - ] - }, - "task_status": { - "type": "string", - "title": "Task Status", - "description": "Current execution status of the task. Common values: PENDING, SUCCESS, FAILURE, REVOKED", - "examples": [ - "PENDING", - "SUCCESS", - "FAILURE", - "REVOKED" - ] + "type": "array", + "title": "Content", + "description": "List of content blocks generated by the tool. Blocks can include plain text, citations, source attributions, or images." }, - "task_result": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Task Result", - "description": "Task execution result. Contains typed result data on success, error message string on failure, or None for pending/deletion tasks", - "examples": [ - null, - "File format not supported", - { - "data": [], - "model": "private-gpt", - "object": "list" - } - ] + "is_error": { + "type": "boolean", + "title": "Is Error", + "description": "True if the tool encountered an error during execution.", + "default": false } }, "type": "object", "required": [ - "task_id", - "task_status", - "task_result" + "content" ], - "title": "TaskStatus[NoneType]", - "description": "Represents the status of an asynchronous task, including its ID, status, and result.", + "title": "ToolResponse", + "description": "Response returned from tool-based operations.", "examples": [ { - "task_id": "123e4567-e89b-12d3-a456-426614174000", - "task_result": { - "data": [ - { - "artifact": "annual_report", - "doc_metadata": { - "file_name": "report.pdf", - "pages": 45 - }, - "object": "ingest.document" - } - ], - "model": "private-gpt", - "object": "list" - }, - "task_status": "SUCCESS" - }, - { - "task_id": "456e7890-e89b-12d3-a456-426614174001", - "task_status": "PENDING" + "content": [ + { + "text": "The analysis shows that Q4 revenue increased by 25% compared to Q3.", + "type": "text" + } + ], + "is_error": false }, { - "task_id": "789e0123-e89b-12d3-a456-426614174002", - "task_result": "URI resource could not be accessed", - "task_status": "FAILURE" + "content": [ + { + "text": "Unable to connect to the database.", + "type": "text" + } + ], + "is_error": true } ] }, - "TextArtifact": { - "properties": { - "type": { - "type": "string", - "const": "text", - "title": "Type", - "description": "Input type discriminator", - "default": "text" - }, - "value": { - "type": "string", - "title": "Value", - "description": "Plain text content" - } - }, - "type": "object", - "required": [ - "value" - ], - "title": "TextArtifact", - "description": "Input for plain text content." - }, - "TextBlock": { + "ToolResultBlock": { "properties": { "type": { "type": "string", - "const": "text", + "const": "tool_result", "title": "Type", - "default": "text", + "default": "tool_result", "description": "type field." }, "start_timestamp": { @@ -11947,149 +13493,230 @@ "title": "Cache Control", "description": "cache control field." }, - "text": { + "tool_use_id": { "type": "string", - "title": "Text", - "description": "Text payload for this block.", - "default": "" + "pattern": "^[a-zA-Z0-9_-]+$", + "title": "Tool Use Id", + "description": "ID of the ToolUseBlock this result answers" }, - "citations": { + "content": { "anyOf": [ + { + "type": "string" + }, { "items": { - "$ref": "#/components/schemas/ZylonCitation" + "oneOf": [ + { + "$ref": "#/components/schemas/TextBlock" + }, + { + "$ref": "#/components/schemas/ImageBlock" + }, + { + "$ref": "#/components/schemas/AudioBlock" + }, + { + "$ref": "#/components/schemas/BinaryBlock" + }, + { + "$ref": "#/components/schemas/LocalResourceBlock" + }, + { + "$ref": "#/components/schemas/ResourceLinkBlock" + }, + { + "$ref": "#/components/schemas/ResourceBlock" + }, + { + "$ref": "#/components/schemas/SourceBlock" + }, + { + "$ref": "#/components/schemas/ThinkingBlock" + }, + { + "$ref": "#/components/schemas/RedactedThinkingBlock" + }, + { + "$ref": "#/components/schemas/ToolUseBlock" + }, + { + "$ref": "#/components/schemas/ServerToolUseBlock" + }, + { + "$ref": "#/components/schemas/ContainerUploadBlock" + }, + { + "$ref": "#/components/schemas/DocumentBlock" + }, + { + "$ref": "#/components/schemas/SearchResultBlock" + }, + { + "$ref": "#/components/schemas/MidConvSystemBlock" + }, + { + "$ref": "#/components/schemas/TLDRBlock" + }, + { + "$ref": "#/components/schemas/BashCodeExecutionResultBlock" + }, + { + "$ref": "#/components/schemas/CodeExecutionToolResultErrorBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionViewResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock" + }, + { + "$ref": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock" + }, + { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + { + "$ref": "#/components/schemas/WebFetchResultBlock" + }, + { + "$ref": "#/components/schemas/ToolReferenceBlock" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "audio": "#/components/schemas/AudioBlock-Input", + "bash_code_execution_result": "#/components/schemas/BashCodeExecutionResultBlock-Input", + "bash_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "binary": "#/components/schemas/BinaryBlock-Input", + "container_upload": "#/components/schemas/ContainerUploadBlock-Input", + "document": "#/components/schemas/DocumentBlock-Input", + "image": "#/components/schemas/ImageBlock-Input", + "local_resource": "#/components/schemas/LocalResourceBlock-Input", + "mid_conv_system": "#/components/schemas/MidConvSystemBlock-Input", + "redacted_thinking": "#/components/schemas/RedactedThinkingBlock-Input", + "resource": "#/components/schemas/ResourceBlock-Input", + "resource_link": "#/components/schemas/ResourceLinkBlock-Input", + "search_result": "#/components/schemas/SearchResultBlock-Input", + "server_tool_use": "#/components/schemas/ServerToolUseBlock-Input", + "source": "#/components/schemas/SourceBlock-Input", + "text": "#/components/schemas/TextBlock-Input", + "text_editor_code_execution_create_result": "#/components/schemas/TextEditorCodeExecutionCreateResultBlock-Input", + "text_editor_code_execution_str_replace_result": "#/components/schemas/TextEditorCodeExecutionStrReplaceResultBlock-Input", + "text_editor_code_execution_tool_result_error": "#/components/schemas/CodeExecutionToolResultErrorBlock-Input", + "text_editor_code_execution_view_result": "#/components/schemas/TextEditorCodeExecutionViewResultBlock-Input", + "thinking": "#/components/schemas/ThinkingBlock-Input", + "tldr": "#/components/schemas/TLDRBlock-Input", + "tool_reference": "#/components/schemas/ToolReferenceBlock-Input", + "tool_use": "#/components/schemas/ToolUseBlock-Input", + "web_fetch_result": "#/components/schemas/WebFetchResultBlock-Input", + "web_search_result": "#/components/schemas/WebSearchResultBlock-Input" + } + } }, "type": "array" - }, - { - "type": "null" } ], - "title": "Citations", - "default": [], - "description": "citations field." + "title": "Content", + "description": "Tool execution result", + "default": "" + }, + "is_error": { + "type": "boolean", + "title": "Is Error", + "description": "Whether the tool result indicates an error.", + "default": false } }, "additionalProperties": true, "type": "object", "required": [ + "tool_use_id", "type" ], - "title": "TextBlock", - "description": "Plain-text content block." - }, - "Thinking": { - "properties": { - "enabled": { - "type": "boolean", - "title": "Enabled", - "description": "Enable reasoning capabilities for the model, allowing it to think step-by-step", - "default": false - }, - "effort": { - "anyOf": [ - { - "type": "string", - "enum": [ - "low", - "medium", - "high", - "max", - "xhigh" - ] - }, - { - "type": "null" - } - ], - "title": "Effort", - "description": "Deprecated. Use output_config.effort instead. Kept for backward compatibility with legacy clients.", - "deprecated": true - } - }, - "type": "object", - "title": "Thinking", - "description": "Configuration for AI reasoning and step-by-step thinking capabilities." + "title": "ToolResultBlock", + "description": "Shared interface for results produced by tool-use blocks." }, - "ThinkingBlock": { + "ToolSpecBody": { "properties": { - "type": { + "name": { "type": "string", - "const": "thinking", - "title": "Type", - "default": "thinking", - "description": "type field." + "title": "Name", + "description": "Unique name identifier for the tool" }, - "start_timestamp": { + "type": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Start Timestamp", - "description": "start timestamp field." + "title": "Type", + "description": "Type of the tool, use to identify internal tools database_query_v1 or semantic_search_v1" }, - "stop_timestamp": { + "description": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Stop Timestamp", - "description": "stop timestamp field." - }, - "_meta": { - "additionalProperties": true, - "type": "object", - "title": "Meta", - "description": " meta field." + "title": "Description", + "description": "Human-readable description of what the tool does" }, - "cache_control": { + "inputSchema": { "anyOf": [ { - "oneOf": [ - { - "$ref": "#/components/schemas/CacheControlEphemeral" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "ephemeral": "#/components/schemas/CacheControlEphemeral" - } - } + "additionalProperties": true, + "type": "object" }, { "type": "null" } ], - "title": "Cache Control", - "description": "cache control field." - }, - "thinking": { - "type": "string", - "title": "Thinking", - "description": "Thinking payload", - "default": "" - }, - "signature": { - "type": "string", - "title": "Signature", - "description": "Anthropic reasoning signature required for extended thinking compatibility" + "title": "Inputschema", + "description": "JSON schema defining the input parameters the tool accepts" }, - "citations": { + "context": { "anyOf": [ { "items": { - "$ref": "#/components/schemas/ZylonCitation" + "oneOf": [ + { + "$ref": "#/components/schemas/FileArtifact" + }, + { + "$ref": "#/components/schemas/UriArtifact" + }, + { + "$ref": "#/components/schemas/TextArtifact" + }, + { + "$ref": "#/components/schemas/IngestedArtifact" + }, + { + "$ref": "#/components/schemas/SqlDatabaseArtifact" + }, + { + "$ref": "#/components/schemas/SkillArtifact" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "file": "#/components/schemas/FileArtifact", + "ingested_artifact": "#/components/schemas/IngestedArtifact", + "skill": "#/components/schemas/SkillArtifact", + "sql_database": "#/components/schemas/SqlDatabaseArtifact", + "text": "#/components/schemas/TextArtifact", + "uri": "#/components/schemas/UriArtifact" + } + } }, "type": "array" }, @@ -12097,74 +13724,16 @@ "type": "null" } ], - "title": "Citations", - "default": [], - "description": "citations field." - } - }, - "additionalProperties": true, - "type": "object", - "required": [ - "signature", - "type" - ], - "title": "ThinkingBlock", - "description": "Extended thinking block containing the model's reasoning process." - }, - "ThinkingCapabilityOutput": { - "properties": { - "supported": { - "type": "boolean", - "title": "Supported", - "description": "Whether thinking is supported." - }, - "types": { - "$ref": "#/components/schemas/ThinkingTypesOutput", - "description": "Thinking type support configuration." - } - }, - "type": "object", - "required": [ - "supported", - "types" - ], - "title": "ThinkingCapabilityOutput", - "description": "ThinkingCapabilityOutput schema." - }, - "ThinkingTypesOutput": { - "properties": { - "adaptive": { - "$ref": "#/components/schemas/CapabilitySupportOutput", - "description": "Support for thinking type \"adaptive\"." + "title": "Context", + "description": "Additional context or metadata for the tool" }, - "enabled": { - "$ref": "#/components/schemas/CapabilitySupportOutput", - "description": "Support for thinking type \"enabled\"." - } - }, - "type": "object", - "required": [ - "adaptive", - "enabled" - ], - "title": "ThinkingTypesOutput", - "description": "ThinkingTypesOutput schema." - }, - "ToolChoice": { - "properties": { - "type": { - "type": "string", - "enum": [ - "auto", - "any", - "tool", - "none" - ], - "title": "Type", - "description": "Tool selection strategy", - "default": "auto" + "deferLoading": { + "type": "boolean", + "title": "Deferloading", + "description": "When true, hide this tool from the model until at least one skill is loaded in the current conversation.", + "default": false }, - "name": { + "instructions": { "anyOf": [ { "type": "string" @@ -12173,37 +13742,25 @@ "type": "null" } ], - "title": "Name", - "description": "Name of the tool to use if not auto-selecting" - }, - "disable_parallel_tool_use": { - "type": "boolean", - "title": "Disable Parallel Tool Use", - "description": "When true, prevents the AI from using multiple tools simultaneously", - "default": false - }, - "validation_mode": { - "type": "string", - "enum": [ - "eager", - "lazy" - ], - "title": "Validation Mode", - "description": "Tool validation mode. 'eager' validates tool calls before execution, 'lazy' validates if tool call is made.", - "default": "lazy" + "title": "Instructions", + "description": "Optional instructions injected into the system prompt when this tool is available. For internal tools a default template is used; providing a value here overrides that default. Set to an empty string to disable." } }, + "additionalProperties": true, "type": "object", - "title": "ToolChoice", - "description": "Configuration for tool selection behavior during AI interactions." + "required": [ + "name" + ], + "title": "ToolSpecBody", + "description": "Definition for a tool the client can call." }, - "ToolReferenceBlock": { + "ToolUseBlock": { "properties": { "type": { "type": "string", - "const": "tool_reference", + "const": "tool_use", "title": "Type", - "default": "tool_reference", + "default": "tool_use", "description": "type field." }, "start_timestamp": { @@ -12260,395 +13817,414 @@ "title": "Cache Control", "description": "cache control field." }, - "tool_name": { + "id": { "type": "string", - "maxLength": 256, + "pattern": "^[a-zA-Z0-9_-]+$", + "title": "Id", + "description": "Unique identifier for this tool use" + }, + "name": { + "type": "string", + "maxLength": 200, "minLength": 1, - "pattern": "^[a-zA-Z0-9_-]{1,256}$", - "title": "Tool Name", - "description": "Tool name reference." + "title": "Name", + "description": "Name of the tool being called" + }, + "raw_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Raw Name", + "description": "Original tool name before model-facing normalization" + }, + "input": { + "additionalProperties": true, + "type": "object", + "title": "ToolUseInput", + "description": "Input payload for the tool call" + }, + "caller": { + "anyOf": [ + { + "oneOf": [ + { + "$ref": "#/components/schemas/DirectCaller" + }, + { + "$ref": "#/components/schemas/ServerToolCaller" + }, + { + "$ref": "#/components/schemas/ServerToolCaller20260120" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "code_execution_20250825": "#/components/schemas/ServerToolCaller", + "code_execution_20260120": "#/components/schemas/ServerToolCaller20260120", + "direct": "#/components/schemas/DirectCaller" + } + } + }, + { + "type": "null" + } + ], + "title": "Caller", + "description": "caller field." } }, "additionalProperties": true, "type": "object", "required": [ - "tool_name", + "id", + "input", + "name", "type" ], - "title": "ToolReferenceBlock", - "description": "Reference to a tool name used inside tool_result payloads." + "title": "ToolUseBlock", + "description": "Shared interface for model-initiated tool calls." }, - "ToolResponse": { + "URIBinarySource": { "properties": { - "content": { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/TextBlock" - }, - { - "$ref": "#/components/schemas/ImageBlock" - }, - { - "$ref": "#/components/schemas/AudioBlock" - }, - { - "$ref": "#/components/schemas/BinaryBlock" - }, - { - "$ref": "#/components/schemas/LocalResourceBlock" - }, - { - "$ref": "#/components/schemas/ResourceLinkBlock" - }, - { - "$ref": "#/components/schemas/ResourceBlock" - }, - { - "$ref": "#/components/schemas/SourceBlock" - }, - { - "$ref": "#/components/schemas/ThinkingBlock" - }, - { - "$ref": "#/components/schemas/RedactedThinkingBlock" - }, - { - "$ref": "#/components/schemas/ToolUseBlock" - }, - { - "$ref": "#/components/schemas/ServerToolUseBlock" - }, - { - "$ref": "#/components/schemas/ContainerUploadBlock" - }, - { - "$ref": "#/components/schemas/DocumentBlock" - }, - { - "$ref": "#/components/schemas/SearchResultBlock" - }, - { - "$ref": "#/components/schemas/MidConvSystemBlock" - }, - { - "$ref": "#/components/schemas/TLDRBlock" - } - ] - }, - "type": "array", - "title": "Content", - "description": "List of content blocks generated by the tool. Blocks can include plain text, citations, source attributions, or images." + "type": { + "type": "string", + "const": "url", + "title": "Type", + "description": "type field." }, - "is_error": { - "type": "boolean", - "title": "Is Error", - "description": "True if the tool encountered an error during execution.", - "default": false + "uri": { + "type": "string", + "title": "Uri", + "description": "Publicly reachable URI" } }, + "additionalProperties": true, "type": "object", "required": [ - "content" + "type", + "uri" ], - "title": "ToolResponse", - "description": "Response returned from tool-based operations.", - "examples": [ - { - "content": [ + "title": "URIBinarySource", + "description": "URI source payload for arbitrary binary data." + }, + "URLDocumentSource": { + "properties": { + "type": { + "type": "string", + "const": "url", + "title": "Type", + "default": "url", + "description": "type field." + }, + "url": { + "type": "string", + "title": "Url", + "description": "url field." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "url" + ], + "title": "URLDocumentSource", + "description": "URLDocumentSource schema." + }, + "URLSource": { + "properties": { + "type": { + "type": "string", + "const": "url", + "title": "Type", + "description": "type field." + }, + "url": { + "type": "string", + "title": "Url", + "description": "Publicly reachable URL" + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "type", + "url" + ], + "title": "URLSource", + "description": "Shared URL source payload (accepts url/uri input)." + }, + "UriArtifact": { + "properties": { + "type": { + "type": "string", + "const": "uri", + "title": "Type", + "description": "Input type discriminator", + "default": "uri" + }, + "value": { + "type": "string", + "title": "Value", + "description": "URI to download from" + } + }, + "type": "object", + "required": [ + "value" + ], + "title": "UriArtifact", + "description": "Input for remote URIs." + }, + "Usage": { + "properties": { + "cache_creation": { + "anyOf": [ { - "text": "The analysis shows that Q4 revenue increased by 25% compared to Q3.", - "type": "text" + "$ref": "#/components/schemas/CacheCreation" + }, + { + "type": "null" + } + ], + "description": "Cache creation details, when present." + }, + "cache_creation_input_tokens": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } ], - "is_error": false + "title": "Cache Creation Input Tokens", + "description": "Number of input tokens written to cache." }, - { - "content": [ + "cache_read_input_tokens": { + "anyOf": [ { - "text": "Unable to connect to the database.", - "type": "text" + "type": "integer" + }, + { + "type": "null" } ], - "is_error": true - } - ] - }, - "ToolResultBlock": { - "properties": { - "type": { - "type": "string", - "const": "tool_result", - "title": "Type", - "default": "tool_result", - "description": "type field." + "title": "Cache Read Input Tokens", + "description": "Number of input tokens read from cache." }, - "start_timestamp": { + "inference_geo": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Start Timestamp", - "description": "start timestamp field." + "title": "Inference Geo", + "description": "Inference region code, when available." }, - "stop_timestamp": { + "input_tokens": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "integer" }, { "type": "null" } ], - "title": "Stop Timestamp", - "description": "stop timestamp field." + "title": "Input Tokens", + "description": "Input token count for this response." }, - "_meta": { - "additionalProperties": true, - "type": "object", - "title": "Meta", - "description": " meta field." + "output_tokens": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Output Tokens", + "description": "Output token count for this response." }, - "cache_control": { + "output_tokens_details": { "anyOf": [ { - "oneOf": [ - { - "$ref": "#/components/schemas/CacheControlEphemeral" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "ephemeral": "#/components/schemas/CacheControlEphemeral" - } - } + "$ref": "#/components/schemas/OutputTokensDetails" }, { "type": "null" } ], - "title": "Cache Control", - "description": "cache control field." + "description": "Breakdown of output tokens by category." }, - "tool_use_id": { - "type": "string", - "pattern": "^[a-zA-Z0-9_-]+$", - "title": "Tool Use Id", - "description": "ID of the ToolUseBlock this result answers" + "server_tool_use": { + "anyOf": [ + { + "$ref": "#/components/schemas/ServerToolUsage" + }, + { + "type": "null" + } + ], + "description": "Usage counters for server-side tool calls." }, - "content": { + "service_tier": { "anyOf": [ { - "type": "string" + "type": "string", + "enum": [ + "standard", + "priority", + "batch" + ] }, { - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/TextBlock" - }, - { - "$ref": "#/components/schemas/ImageBlock" - }, - { - "$ref": "#/components/schemas/AudioBlock" - }, - { - "$ref": "#/components/schemas/BinaryBlock" - }, - { - "$ref": "#/components/schemas/LocalResourceBlock" - }, - { - "$ref": "#/components/schemas/ResourceLinkBlock" - }, - { - "$ref": "#/components/schemas/ResourceBlock" - }, - { - "$ref": "#/components/schemas/SourceBlock" - }, - { - "$ref": "#/components/schemas/ThinkingBlock" - }, - { - "$ref": "#/components/schemas/RedactedThinkingBlock" - }, - { - "$ref": "#/components/schemas/ToolUseBlock" - }, - { - "$ref": "#/components/schemas/ServerToolUseBlock" - }, - { - "$ref": "#/components/schemas/ContainerUploadBlock" - }, - { - "$ref": "#/components/schemas/DocumentBlock" - }, - { - "$ref": "#/components/schemas/SearchResultBlock" - }, - { - "$ref": "#/components/schemas/MidConvSystemBlock" - }, - { - "$ref": "#/components/schemas/TLDRBlock" - }, - { - "$ref": "#/components/schemas/ToolReferenceBlock" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "audio": "#/components/schemas/AudioBlock-Input", - "binary": "#/components/schemas/BinaryBlock-Input", - "container_upload": "#/components/schemas/ContainerUploadBlock-Input", - "document": "#/components/schemas/DocumentBlock-Input", - "image": "#/components/schemas/ImageBlock-Input", - "local_resource": "#/components/schemas/LocalResourceBlock-Input", - "mid_conv_system": "#/components/schemas/MidConvSystemBlock-Input", - "redacted_thinking": "#/components/schemas/RedactedThinkingBlock-Input", - "resource": "#/components/schemas/ResourceBlock-Input", - "resource_link": "#/components/schemas/ResourceLinkBlock-Input", - "search_result": "#/components/schemas/SearchResultBlock-Input", - "server_tool_use": "#/components/schemas/ServerToolUseBlock-Input", - "source": "#/components/schemas/SourceBlock-Input", - "text": "#/components/schemas/TextBlock-Input", - "thinking": "#/components/schemas/ThinkingBlock-Input", - "tldr": "#/components/schemas/TLDRBlock-Input", - "tool_reference": "#/components/schemas/ToolReferenceBlock-Input", - "tool_use": "#/components/schemas/ToolUseBlock-Input" - } - } - }, - "type": "array" + "type": "null" } ], - "title": "Content", - "description": "Tool execution result", - "default": "" + "title": "Service Tier", + "description": "Service tier used for this response." + } + }, + "type": "object", + "title": "Usage", + "description": "Token usage statistics." + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location", + "description": "loc field." }, - "is_error": { - "type": "boolean", - "title": "Is Error", - "description": "Whether the tool result indicates an error.", - "default": false + "msg": { + "type": "string", + "title": "Message", + "description": "msg field." + }, + "type": { + "type": "string", + "title": "Error Type", + "description": "type field." + }, + "input": { + "title": "ValidationErrorInput", + "description": "input field." + }, + "ctx": { + "type": "object", + "title": "Context", + "description": "ctx field." + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "description": "ValidationError schema." + }, + "WebFetchBody": { + "properties": { + "url": { + "type": "string", + "title": "Url", + "description": "The URL of the web page to fetch and extract content from.", + "examples": [ + "https://example.com/article" + ] } }, - "additionalProperties": true, "type": "object", "required": [ - "tool_use_id", - "type" + "url" ], - "title": "ToolResultBlock", - "description": "Result produced by a prior tool_use block." + "title": "WebFetchBody", + "description": "Request body for web content fetching using the tool." }, - "ToolSpecBody": { + "WebFetchResultBlock": { "properties": { - "name": { - "type": "string", - "title": "Name", - "description": "Unique name identifier for the tool" - }, "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], + "type": "string", + "const": "web_fetch_result", "title": "Type", - "description": "Type of the tool, use to identify internal tools database_query_v1 or semantic_search_v1" + "default": "web_fetch_result", + "description": "type field." }, - "description": { + "start_timestamp": { "anyOf": [ { - "type": "string" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "title": "Description", - "description": "Human-readable description of what the tool does" + "title": "Start Timestamp", + "description": "start timestamp field." }, - "inputSchema": { + "stop_timestamp": { "anyOf": [ { - "additionalProperties": true, - "type": "object" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "title": "Inputschema", - "description": "JSON schema defining the input parameters the tool accepts" + "title": "Stop Timestamp", + "description": "stop timestamp field." }, - "context": { + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "url": { + "type": "string", + "title": "Url", + "description": "url field." + }, + "content": { + "$ref": "#/components/schemas/DocumentBlock", + "description": "content field." + }, + "retrieved_at": { "anyOf": [ { - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/FileArtifact" - }, - { - "$ref": "#/components/schemas/UriArtifact" - }, - { - "$ref": "#/components/schemas/TextArtifact" - }, - { - "$ref": "#/components/schemas/IngestedArtifact" - }, - { - "$ref": "#/components/schemas/SqlDatabaseArtifact" - }, - { - "$ref": "#/components/schemas/SkillArtifact" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "file": "#/components/schemas/FileArtifact", - "ingested_artifact": "#/components/schemas/IngestedArtifact", - "skill": "#/components/schemas/SkillArtifact", - "sql_database": "#/components/schemas/SqlDatabaseArtifact", - "text": "#/components/schemas/TextArtifact", - "uri": "#/components/schemas/UriArtifact" - } - } - }, - "type": "array" + "type": "string" }, { "type": "null" } ], - "title": "Context", - "description": "Additional context or metadata for the tool" - }, - "deferLoading": { - "type": "boolean", - "title": "Deferloading", - "description": "When true, hide this tool from the model until at least one skill is loaded in the current conversation.", - "default": false + "title": "Retrieved At", + "description": "ISO-8601 timestamp of when the page was fetched." }, - "instructions": { + "markdown": { "anyOf": [ { "type": "string" @@ -12657,25 +14233,27 @@ "type": "null" } ], - "title": "Instructions", - "description": "Optional instructions injected into the system prompt when this tool is available. For internal tools a default template is used; providing a value here overrides that default. Set to an empty string to disable." + "title": "Markdown", + "description": "[Zylon extension] Raw markdown content before DocumentBlock wrapping." } }, "additionalProperties": true, "type": "object", "required": [ - "name" + "content", + "type", + "url" ], - "title": "ToolSpecBody", - "description": "Definition for a tool the client can call." + "title": "WebFetchResultBlock", + "description": "Fetched page content from web_fetch.\n\nMirrors Anthropic's web_fetch_tool_result content shape:\n``url`` + ``content`` (a document block)." }, - "ToolUseBlock": { + "WebFetchToolResultBlock": { "properties": { "type": { "type": "string", - "const": "tool_use", + "const": "web_fetch_tool_result", "title": "Type", - "default": "tool_use", + "default": "web_fetch_tool_result", "description": "type field." }, "start_timestamp": { @@ -12732,196 +14310,206 @@ "title": "Cache Control", "description": "cache control field." }, - "id": { + "tool_use_id": { "type": "string", "pattern": "^[a-zA-Z0-9_-]+$", - "title": "Id", - "description": "Unique identifier for this tool use" - }, - "name": { - "type": "string", - "maxLength": 200, - "minLength": 1, - "title": "Name", - "description": "Name of the tool being called" - }, - "input": { - "additionalProperties": true, - "type": "object", - "title": "ToolUseInput", - "description": "Input payload for the tool call" + "title": "Tool Use Id", + "description": "ID of the ToolUseBlock this result answers" }, - "caller": { + "content": { "anyOf": [ { - "oneOf": [ - { - "$ref": "#/components/schemas/DirectCaller" - }, - { - "$ref": "#/components/schemas/ServerToolCaller" - }, - { - "$ref": "#/components/schemas/ServerToolCaller20260120" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "code_execution_20250825": "#/components/schemas/ServerToolCaller", - "code_execution_20260120": "#/components/schemas/ServerToolCaller20260120", - "direct": "#/components/schemas/DirectCaller" - } - } + "$ref": "#/components/schemas/WebFetchResultBlock" }, { - "type": "null" + "$ref": "#/components/schemas/WebFetchToolResultErrorBlock" } ], - "title": "Caller", - "description": "caller field." + "title": "Content", + "description": "content field." + }, + "is_error": { + "type": "boolean", + "title": "Is Error", + "default": false, + "description": "is error field." } }, "additionalProperties": true, "type": "object", "required": [ - "id", - "input", - "name", + "content", + "tool_use_id", "type" ], - "title": "ToolUseBlock", - "description": "Represents a model-initiated tool call." + "title": "WebFetchToolResultBlock", + "description": "Anthropic-shaped result for an internally-executed web_fetch call.\n\n``anthropic`` mode: emitted as-is.\n``zylon`` mode: downgrades to ToolResultBlock with a TextBlock of the markdown." }, - "URIBinarySource": { + "WebFetchToolResultErrorBlock": { "properties": { "type": { "type": "string", - "const": "url", + "const": "web_fetch_tool_result_error", "title": "Type", + "default": "web_fetch_tool_result_error", "description": "type field." }, - "uri": { - "type": "string", - "title": "Uri", - "description": "Publicly reachable URI" - } - }, - "additionalProperties": true, - "type": "object", - "required": [ - "type", - "uri" - ], - "title": "URIBinarySource", - "description": "URI source payload for arbitrary binary data." - }, - "URLDocumentSource": { - "properties": { - "type": { - "type": "string", - "const": "url", - "title": "Type", - "default": "url", - "description": "type field." + "start_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Start Timestamp", + "description": "start timestamp field." }, - "url": { + "stop_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Stop Timestamp", + "description": "stop timestamp field." + }, + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "error_code": { "type": "string", - "title": "Url", - "description": "url field." + "enum": [ + "invalid_tool_input", + "url_too_long", + "url_not_allowed", + "url_not_in_prior_context", + "url_not_accessible", + "unsupported_content_type", + "too_many_requests", + "max_uses_exceeded", + "unavailable" + ], + "title": "Error Code", + "description": "error code field." + }, + "detail": { + "anyOf": [ + { + "$ref": "#/components/schemas/ErrorDetail" + }, + { + "type": "null" + } + ], + "description": "[Zylon extension] Real error detail from the execution environment." } }, "additionalProperties": true, "type": "object", "required": [ - "url" + "error_code", + "type" ], - "title": "URLDocumentSource", - "description": "URLDocumentSource schema." + "title": "WebFetchToolResultErrorBlock", + "description": "Mirrors Anthropic's web_fetch_tool_result_error content block." }, - "URLSource": { + "WebSearchQueryBody": { "properties": { - "type": { - "type": "string", - "const": "url", - "title": "Type", - "description": "type field." - }, - "url": { + "query": { "type": "string", - "title": "Url", - "description": "Publicly reachable URL" + "title": "Query", + "description": "The natural language query to search the web.", + "examples": [ + "Latest news on AI advancements" + ] } }, - "additionalProperties": true, "type": "object", "required": [ - "type", - "url" + "query" ], - "title": "URLSource", - "description": "Shared URL source payload (accepts url/uri input)." + "title": "WebSearchQueryBody", + "description": "Request body for web search using the tool." }, - "UriArtifact": { + "WebSearchResultBlock": { "properties": { "type": { "type": "string", - "const": "uri", + "const": "web_search_result", "title": "Type", - "description": "Input type discriminator", - "default": "uri" + "default": "web_search_result", + "description": "type field." }, - "value": { - "type": "string", - "title": "Value", - "description": "URI to download from" - } - }, - "type": "object", - "required": [ - "value" - ], - "title": "UriArtifact", - "description": "Input for remote URIs." - }, - "Usage": { - "properties": { - "cache_creation": { + "start_timestamp": { "anyOf": [ { - "$ref": "#/components/schemas/CacheCreation" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "description": "Cache creation details, when present." + "title": "Start Timestamp", + "description": "start timestamp field." }, - "cache_creation_input_tokens": { + "stop_timestamp": { "anyOf": [ { - "type": "integer" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "title": "Cache Creation Input Tokens", - "description": "Number of input tokens written to cache." + "title": "Stop Timestamp", + "description": "stop timestamp field." }, - "cache_read_input_tokens": { + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "url": { + "type": "string", + "title": "Url", + "description": "url field." + }, + "title": { + "type": "string", + "title": "Title", + "description": "title field." + }, + "encrypted_content": { + "type": "string", + "title": "Encrypted Content", + "description": "encrypted content field." + }, + "page_age": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Cache Read Input Tokens", - "description": "Number of input tokens read from cache." + "title": "Page Age", + "description": "page age field." }, - "inference_geo": { + "content": { "anyOf": [ { "type": "string" @@ -12930,158 +14518,186 @@ "type": "null" } ], - "title": "Inference Geo", - "description": "Inference region code, when available." + "title": "Content", + "description": "[Zylon extension] Plain-text result content. Mirrors encrypted_content for Zylon consumers." }, - "input_tokens": { + "description": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Input Tokens", - "description": "Input token count for this response." + "title": "Description", + "description": "[Zylon extension] Short description or snippet from the search provider." }, - "output_tokens": { + "favicon_url": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Output Tokens", - "description": "Output token count for this response." + "title": "Favicon Url", + "description": "[Zylon extension] URL of the website favicon." + } + }, + "additionalProperties": true, + "type": "object", + "required": [ + "encrypted_content", + "title", + "type", + "url" + ], + "title": "WebSearchResultBlock", + "description": "Result from a single web search hit.\n\nMirrors Anthropic's WebSearchResultBlock.\n``encrypted_content`` is filled with the actual result text (Zylon executes\nlocally, so there is no encrypted payload). ``content`` is a Zylon extension\nthat carries the same text in plain form; Anthropic-only clients should use\n``encrypted_content``." + }, + "WebSearchToolResultBlock": { + "properties": { + "type": { + "type": "string", + "const": "web_search_tool_result", + "title": "Type", + "default": "web_search_tool_result", + "description": "type field." }, - "output_tokens_details": { + "start_timestamp": { "anyOf": [ { - "$ref": "#/components/schemas/OutputTokensDetails" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "description": "Breakdown of output tokens by category." + "title": "Start Timestamp", + "description": "start timestamp field." }, - "server_tool_use": { + "stop_timestamp": { "anyOf": [ { - "$ref": "#/components/schemas/ServerToolUsage" + "type": "string", + "format": "date-time" }, { "type": "null" } ], - "description": "Usage counters for server-side tool calls." + "title": "Stop Timestamp", + "description": "stop timestamp field." }, - "service_tier": { + "_meta": { + "additionalProperties": true, + "type": "object", + "title": "Meta", + "description": " meta field." + }, + "cache_control": { "anyOf": [ { - "type": "string", - "enum": [ - "standard", - "priority", - "batch" - ] + "oneOf": [ + { + "$ref": "#/components/schemas/CacheControlEphemeral" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "ephemeral": "#/components/schemas/CacheControlEphemeral" + } + } }, { "type": "null" } ], - "title": "Service Tier", - "description": "Service tier used for this response." - } - }, - "type": "object", - "title": "Usage", - "description": "Token usage statistics." - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "type": "array", - "title": "Location", - "description": "loc field." - }, - "msg": { - "type": "string", - "title": "Message", - "description": "msg field." + "title": "Cache Control", + "description": "cache control field." }, - "type": { + "tool_use_id": { "type": "string", - "title": "Error Type", - "description": "type field." + "pattern": "^[a-zA-Z0-9_-]+$", + "title": "Tool Use Id", + "description": "ID of the ToolUseBlock this result answers" }, - "input": { - "title": "ValidationErrorInput", - "description": "input field." + "content": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/WebSearchResultBlock" + }, + "type": "array" + }, + { + "$ref": "#/components/schemas/WebSearchToolResultError" + } + ], + "title": "Content", + "description": "content field." }, - "ctx": { - "type": "object", - "title": "Context", - "description": "ctx field." + "is_error": { + "type": "boolean", + "title": "Is Error", + "default": false, + "description": "is error field." } }, + "additionalProperties": true, "type": "object", "required": [ - "loc", - "msg", + "content", + "tool_use_id", "type" ], - "title": "ValidationError", - "description": "ValidationError schema." + "title": "WebSearchToolResultBlock", + "description": "Anthropic-shaped result for an internally-executed web_search call.\n\n``anthropic`` mode: emitted as-is (matches Anthropic wire format).\n``zylon`` mode: downgrades to ToolResultBlock + SourceBlock/TextBlock entries." }, - "WebFetchBody": { + "WebSearchToolResultError": { "properties": { - "url": { + "type": { "type": "string", - "title": "Url", - "description": "The URL of the web page to fetch and extract content from.", - "examples": [ - "https://example.com/article" - ] - } - }, - "type": "object", - "required": [ - "url" - ], - "title": "WebFetchBody", - "description": "Request body for web content fetching using the tool." - }, - "WebSearchQueryBody": { - "properties": { - "query": { + "const": "web_search_tool_result_error", + "title": "Type", + "default": "web_search_tool_result_error", + "description": "type field." + }, + "error_code": { "type": "string", - "title": "Query", - "description": "The natural language query to search the web.", - "examples": [ - "Latest news on AI advancements" - ] + "enum": [ + "invalid_tool_input", + "unavailable", + "max_uses_exceeded", + "too_many_requests", + "query_too_long", + "request_too_large" + ], + "title": "Error Code", + "description": "error code field." + }, + "detail": { + "anyOf": [ + { + "$ref": "#/components/schemas/ErrorDetail" + }, + { + "type": "null" + } + ], + "description": "[Zylon extension] Real error detail from the execution environment." } }, "type": "object", "required": [ - "query" + "error_code" ], - "title": "WebSearchQueryBody", - "description": "Request body for web search using the tool." + "title": "WebSearchToolResultError", + "description": "SDK-compatible error result for a web_search tool call." }, "Website": { "properties": {