diff --git a/docs/mcp/mcp-server-reference.md b/docs/mcp/mcp-server-reference.md index b1597fe..265ca8e 100644 --- a/docs/mcp/mcp-server-reference.md +++ b/docs/mcp/mcp-server-reference.md @@ -3,8 +3,8 @@ @@ -59,7 +59,7 @@ At startup, the server resolves the daemon base URL in this order: The discovery helper still checks a `daemon.port` file before falling back to the default URL. -`antd` writes `ant/sdk/daemon.port`, while `antd-mcp` reads `ant/daemon.port`. Treat `ANTD_BASE_URL` as the reliable configuration path unless you have already confirmed port-file discovery works in your environment. +`antd` writes the port file to `ant/sdk/daemon.port` and `antd-mcp` reads from the same path, so port-file discovery works without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` explicitly when you want a fixed URL regardless of port-file state, or when you are running `antd-mcp` against a daemon on a different host. ## Claude Desktop configuration @@ -202,7 +202,13 @@ Examples: ```json { "healthy": true, - "network": "local" + "network": "local", + "version": "0.6.1", + "evm_network": "local", + "uptime_seconds": 42, + "build_commit": "529280c3", + "payment_token_address": "", + "payment_vault_address": "" } ``` diff --git a/docs/rust/library-reference.md b/docs/rust/library-reference.md index cea88d9..6fd607b 100644 --- a/docs/rust/library-reference.md +++ b/docs/rust/library-reference.md @@ -3,8 +3,8 @@ @@ -121,7 +121,7 @@ async fn main() -> Result<(), Box> { The native Rust library exposes both wave-batch and Merkle-batch external payment helpers. -For wave-batch uploads, `data_prepare_upload`, `file_prepare_upload`, and `finalize_upload` prepare the upload, collect quotes, and later store the chunks after an external signer returns transaction hashes. +For wave-batch uploads, `data_prepare_upload`, `data_prepare_upload_with_visibility`, `file_prepare_upload`, and `finalize_upload` prepare the upload, collect quotes, and later store the chunks after an external signer returns transaction hashes. Use `data_prepare_upload_with_visibility(content, Visibility::Public)` to bundle the DataMap chunk into the same payment batch and receive its network address in the `FileUploadResult` after finalize. For Merkle batches, `prepare_merkle_batch_external` and `finalize_merkle_batch` expose the low-level batch helpers, while `finalize_upload_merkle` completes a prepared upload from the winning pool hash. Progress-aware variants such as `file_prepare_upload_with_progress`, `finalize_upload_with_progress`, and `finalize_upload_merkle_with_progress` are also available when you need UI feedback during long-running uploads. @@ -138,6 +138,7 @@ For Merkle batches, `prepare_merkle_batch_external` and `finalize_merkle_batch` | `ant_core::data::PreparedUpload` | Two-phase upload state used by external-signer flows | | `ant_core::data::ExternalPaymentInfo` | External payment details for prepared uploads | | `ant_core::data::PreparedMerkleBatch` | Prepared Merkle batch data for external signing | +| `ant_core::data::Visibility` | Upload visibility: `Private` (DataMap returned to caller) or `Public` (DataMap bundled into payment batch and stored on-network) | ## External signer example diff --git a/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md b/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md index 5b7d5c4..79841fb 100644 --- a/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md +++ b/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md @@ -3,15 +3,15 @@ @@ -25,7 +25,13 @@ Checks daemon health and network selection. | Name | Type | Description | |------|------|-------------| | `status` | string | Expected `ok` on success | -| `network` | string | Current network name | +| `network` | string | Network name: `default`, `local`, or `alpha` | +| `version` | string | antd crate version (e.g. `0.4.0`) | +| `evm_network` | string | EVM preset: `arbitrum-one`, `arbitrum-sepolia`, `local`, or `custom` | +| `uptime_seconds` | uint64 | Seconds since the daemon process started | +| `build_commit` | string | Short git SHA captured at build time, or empty if built outside a git checkout | +| `payment_token_address` | string | Payment token contract address, or empty if unconfigured | +| `payment_vault_address` | string | Payment vault contract address, or empty if unconfigured | ## Data Service @@ -139,7 +145,7 @@ The proto files define these shared shapes: | Message | Fields | |------|--------| | `Cost` | `atto_tokens` | -| `HealthCheckResponse` | `status`, `network` | +| `HealthCheckResponse` | `status`, `network`, `version`, `evm_network`, `uptime_seconds`, `build_commit`, `payment_token_address`, `payment_vault_address` | | `PutPublicDataResponse` | `cost`, `address` | | `PutPrivateDataResponse` | `cost`, `data_map` | | `UploadPublicResponse` | `address`, `storage_cost_atto`, `gas_cost_wei`, `chunks_stored`, `payment_mode_used` | diff --git a/docs/sdk/reference/rest-api.md b/docs/sdk/reference/rest-api.md index 8d67796..b310a5f 100644 --- a/docs/sdk/reference/rest-api.md +++ b/docs/sdk/reference/rest-api.md @@ -3,8 +3,8 @@ @@ -25,10 +25,18 @@ Returns daemon health and the selected network. ```json { "status": "ok", - "network": "default" + "network": "default", + "version": "0.6.1", + "evm_network": "arbitrum-one", + "uptime_seconds": 12345, + "build_commit": "529280c3", + "payment_token_address": "0xde817De9d8AC8C3aA10C3Ed0EE5FCB6C53cE7B0a", + "payment_vault_address": "0x607483B50C5F06c25cDC316b6d1E071084EeC9f5" } ``` +All six fields (`version`, `evm_network`, `uptime_seconds`, `build_commit`, `payment_token_address`, `payment_vault_address`) are always present. On a local devnet, `payment_token_address` and `payment_vault_address` may be empty strings, and `build_commit` is empty when the binary was built outside a git checkout. + **Example:** ```bash @@ -495,6 +503,7 @@ Prepares an in-memory data upload for external signing. | Name | Type | Required | Description | |------|------|----------|-------------| | `data` | string | Yes | Base64-encoded payload | +| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` returns `501` on this endpoint. Use `/v1/upload/prepare` with a file path for public external-signer uploads. | **Response:** @@ -569,6 +578,7 @@ Prepares a file upload for external signing. | Name | Type | Required | Description | |------|------|----------|-------------| | `path` | string | Yes | Local file path | +| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` bundles the serialized DataMap chunk into the same payment batch and stores it on-network; its address is returned on finalize via `data_map_address`. | **Response:** Same `payment_type`-based shape as `POST /v1/data/prepare` @@ -603,11 +613,12 @@ Provide `tx_hashes` when the prepare response returned `payment_type: "wave_batc { "data_map": "", "address": "<64_hex_address>", + "data_map_address": "<64_hex_address>", "chunks_stored": } ``` -The `address` field is only present when `store_data_map` is `true`. +`address` is only present when `store_data_map` is `true`; that path uses the daemon's own wallet to store the DataMap. `data_map_address` is only present when the upload was prepared with `visibility:"public"`; it is the network address of the bundled DataMap chunk whose payment was included in the same external-signer batch as the data chunks. **Examples:** @@ -632,6 +643,7 @@ curl -X POST http://localhost:8082/v1/upload/finalize \ | `404` | Not found | Check the address or `upload_id` | | `413` | Payload too large | Split the upload or switch to file/directory endpoints | | `500` | Internal server error | Check daemon logs and retry | +| `501` | Not implemented | `visibility:"public"` is not supported on `/v1/data/prepare`; use `/v1/upload/prepare` with a file path instead | | `502` | Network unreachable | Confirm the daemon can reach the Autonomi network | | `503` | Service unavailable | Configure a wallet before calling wallet or write endpoints | diff --git a/skills/start/CHANGELOG.md b/skills/start/CHANGELOG.md index a915158..c71ab32 100644 --- a/skills/start/CHANGELOG.md +++ b/skills/start/CHANGELOG.md @@ -4,6 +4,20 @@ All notable changes to this skill are recorded here. ## [Unreleased] +## [0.1.4-draft] - 2026-05-11 + +### Changed +- Updated health check expected shape to include the six new required fields added in antd v0.6.1: `version`, `evm_network`, `uptime_seconds`, `build_commit`, `payment_token_address`, `payment_vault_address`. +- Corrected the MCP daemon-discovery note: both `antd` and `antd-mcp` now use `ant/sdk/daemon.port`, so port-file discovery works without `ANTD_BASE_URL`. + +### Verified Against +- ant-sdk: 529280c32c024c92b68436abb6ace956c8da66ba +- ant-client: 6cada1d6b318a93e52ea6c34aa4b68fc2782c946 +- ant-node: 0c2f2c97aa0b7a2f1000aaa4a3a2a2d629da4e5d +- ant-protocol: 8955144bd2473d1bb5f3b6753061eb104b552070 +- self_encryption: 5f9d1646231da7ca2ce60e84d010acfb6d9c29d0 +- evmlib: 225acbb1af613193bcc8264b6ede4d7e4a7ac607 + ## [0.1.3-draft] - 2026-05-02 ### Changed diff --git a/skills/start/SKILL.md b/skills/start/SKILL.md index 41a0916..a54b681 100644 --- a/skills/start/SKILL.md +++ b/skills/start/SKILL.md @@ -8,7 +8,7 @@ description: | in Rust with `ant-core`, or expose Autonomi through an MCP-compatible client. Do not use for Autonomi 1.0, the MaidSafe-era network, `ant-quic`, or general EVM work that is not part of building on Autonomi. -version: 0.1.3-draft +version: 0.1.4-draft license: MIT repository: https://github.com/WithAutonomi/autonomi-developer-docs homepage: https://docs.autonomi.com/developers @@ -29,13 +29,13 @@ keywords: - read-only # Verification block. Re-verify before changing stable claims or examples. -verified_date: 2026-05-02 +verified_date: "2026-05-11" verification_mode: current-merged-truth verified_commits: - ant-sdk: d7652ec3da82dfbe2107778e5223dc413d95815b - ant-client: 71ad53b047f7fc6b55e73ce6008d0a834feebbd6 - ant-node: 23aee15cae33a17257ba833b2b98ed8a7a12e684 - ant-protocol: 65651f3a3243af8299a3e8d63385cba846ef88a4 + ant-sdk: 529280c32c024c92b68436abb6ace956c8da66ba + ant-client: 6cada1d6b318a93e52ea6c34aa4b68fc2782c946 + ant-node: 0c2f2c97aa0b7a2f1000aaa4a3a2a2d629da4e5d + ant-protocol: 8955144bd2473d1bb5f3b6753061eb104b552070 self_encryption: 5f9d1646231da7ca2ce60e84d010acfb6d9c29d0 evmlib: 225acbb1af613193bcc8264b6ede4d7e4a7ac607 @@ -118,11 +118,17 @@ Expected shape: ```json { "status": "ok", - "network": "default" + "network": "default", + "version": "0.6.1", + "evm_network": "arbitrum-one", + "uptime_seconds": 12345, + "build_commit": "529280c3", + "payment_token_address": "0x...", + "payment_vault_address": "0x..." } ``` -Treat `network` as environment-dependent. On a local devnet, it is typically `local` instead of `default`. +Treat `network` as environment-dependent. On a local devnet, it is typically `local` instead of `default`, and the payment address fields may be empty strings. If the user is on a non-default host or port, ask for the base URL instead of assuming `localhost:8082`. @@ -264,7 +270,7 @@ Run the editable install from an `ant-sdk` checkout root. - `daemon.port` - `http://127.0.0.1:8082` -`ANTD_BASE_URL` is the reliable MCP setup path because `antd` writes `ant/sdk/daemon.port` while `antd-mcp` reads `ant/daemon.port`. +`antd` writes the port file to `ant/sdk/daemon.port` and `antd-mcp` reads from the same path, so port-file discovery works without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` when you need a fixed URL or when running against a daemon on a different host. Do not memorize MCP tool names or schemas in this skill. Fetch the MCP server reference when the task is MCP-specific. diff --git a/skills/start/version.json b/skills/start/version.json index ec9dedf..6ba012d 100644 --- a/skills/start/version.json +++ b/skills/start/version.json @@ -1,17 +1,17 @@ { "skill": "start", - "version": "0.1.3-draft", - "published_date": "2026-05-02", + "version": "0.1.4-draft", + "published_date": "2026-05-11", "status": "draft", "canonical_skill_url": "https://raw.githubusercontent.com/WithAutonomi/autonomi-developer-docs/main/skills/start/SKILL.md", "canonical_docs_url": "https://docs.autonomi.com/developers", "repository": "https://github.com/WithAutonomi/autonomi-developer-docs", "verification_mode": "current-merged-truth", "verified_commits": { - "ant-sdk": "d7652ec3da82dfbe2107778e5223dc413d95815b", - "ant-client": "71ad53b047f7fc6b55e73ce6008d0a834feebbd6", - "ant-node": "23aee15cae33a17257ba833b2b98ed8a7a12e684", - "ant-protocol": "65651f3a3243af8299a3e8d63385cba846ef88a4", + "ant-sdk": "529280c32c024c92b68436abb6ace956c8da66ba", + "ant-client": "6cada1d6b318a93e52ea6c34aa4b68fc2782c946", + "ant-node": "0c2f2c97aa0b7a2f1000aaa4a3a2a2d629da4e5d", + "ant-protocol": "8955144bd2473d1bb5f3b6753061eb104b552070", "self_encryption": "5f9d1646231da7ca2ce60e84d010acfb6d9c29d0", "evmlib": "225acbb1af613193bcc8264b6ede4d7e4a7ac607" },