@cascade-fyi/sati-sdk 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,47 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.8.0] - 2026-02-12
9
+
10
+ ### Breaking Changes
11
+
12
+ - **Feedback content fields renamed for ERC-8004 alignment**: `score` -> `value`, `tags` -> `tag1`/`tag2`, added `valueDecimals`
13
+ - `GiveFeedbackParams`: `score?` -> `value?`, `tags?` -> `tag1?`/`tag2?`, added `valueDecimals?`
14
+ - `ParsedFeedback`: `score?` -> `value?`, `tags` -> `tag1?`/`tag2?`, added `valueDecimals?`
15
+ - `FeedbackSearchOptions`: `minScore`/`maxScore` -> `minValue`/`maxValue`, `tags?` -> `tag1?`/`tag2?`
16
+ - `ReputationSummary`: `averageScore` -> `averageValue`
17
+ - `FeedbackContent`: `score?` -> `value?`, `tags?` -> `tag1?`/`tag2?`, added `valueDecimals?`
18
+ - **`getReputationSummary` signature changed**: `(agentMint, tags?)` -> `(agentMint, tag1?, tag2?)`
19
+ - **Registration file fields renamed**: `endpoints` -> `services`, `x402support` -> `x402Support`
20
+
21
+ ## [0.7.0] - 2026-02-12
22
+
23
+ ### Added
24
+
25
+ - **Convenience methods on `Sati` class** - high-level API for feedback, search, and reputation without needing sati-agent0-sdk:
26
+ - `giveFeedback(params)` - submit feedback with a single call (schema auto-resolution, content building, signing)
27
+ - `prepareFeedback(params)` / `submitPreparedFeedback(params)` - browser wallet flow (user signs SIWS message, server submits)
28
+ - `revokeFeedback(params)` - close a compressed feedback attestation
29
+ - `searchFeedback(options?)` - query and filter feedbacks with parsed content, timestamps, and optional tx signatures
30
+ - `getReputationSummary(agentMint, tags?)` - aggregate feedback scores with optional tag filtering
31
+ - `searchAgents(options?)` - list agents with name/owner/active/endpoint filters and optional feedback stats
32
+ - `searchValidations(agentMint)` - query validation attestations with parsed timestamps
33
+ - `createAgentBuilder(name, description, image)` - factory for `SatiAgentBuilder`
34
+ - **`SatiAgentBuilder` class** - fluent builder for agent registration using native Solana types:
35
+ - `setMCP(url, version?, meta?)` / `setA2A(url, version?, meta?)` - configure protocol endpoints with explicit capability metadata
36
+ - `setWallet(address)` / `setActive(active)` / `setX402Support(x402)` / `setSupportedTrust(trusts)`
37
+ - `register(opts)` / `registerWithUri(opts)` - on-chain registration with pluggable `MetadataUploader`
38
+ - `update(opts)` / `updateUri(opts)` - update existing agent metadata
39
+ - **`FeedbackCache`** - TTL cache for feedback queries, reducing redundant RPC calls (moved from sati-agent0-sdk)
40
+ - **Config accessors** on `Sati` class: `deployedConfig`, `feedbackPublicSchema`, `feedbackSchema`, `validationSchema`, `lookupTable`
41
+ - **New types**: `GiveFeedbackParams`, `GiveFeedbackResult`, `PreparedFeedbackData`, `FeedbackSearchOptions`, `ParsedFeedback`, `ReputationSummary`, `AgentSearchOptions`, `AgentSearchResult`, `ParsedValidation`, `SatiWarning`
42
+ - `signer` and `onWarning` options in `SATIClientOptions`
43
+ - `buildRegistrationFile()` accepts optional `endpoints` parameter for pre-built endpoint arrays
44
+
45
+ ### Changed
46
+
47
+ - sati-sdk is now the primary full-featured SDK (was low-level only); sati-agent0-sdk becomes a thin type-conversion wrapper
48
+
8
49
  ## [0.6.0] - 2026-02-12
9
50
 
10
51
  ### Added
@@ -116,6 +157,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
116
157
  - Compressed attestation storage via Light Protocol
117
158
  - Basic querying via Photon RPC
118
159
 
160
+ [0.8.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/sati-sdk@0.7.0...@cascade-fyi/sati-sdk@0.8.0
161
+ [0.7.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/sati-sdk@0.6.0...@cascade-fyi/sati-sdk@0.7.0
119
162
  [0.6.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/sati-sdk@0.5.0...@cascade-fyi/sati-sdk@0.6.0
120
163
  [0.5.0]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/sati-sdk@0.4.2...@cascade-fyi/sati-sdk@0.5.0
121
164
  [0.4.2]: https://github.com/cascade-protocol/sati/compare/@cascade-fyi/sati-sdk@0.4.1...@cascade-fyi/sati-sdk@0.4.2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @cascade-fyi/sati-sdk
2
2
 
3
- TypeScript SDK for SATI - Solana Agent Trust Infrastructure.
3
+ Low-level TypeScript SDK for [SATI](https://github.com/cascade-protocol/sati) - the [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004) agent identity standard on Solana. Raw attestations, custom schemas, compression, encryption.
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,11 +18,8 @@ pnpm add @solana/kit @solana-program/token-2022 @coral-xyz/anchor
18
18
  ```typescript
19
19
  import { Sati, Outcome } from "@cascade-fyi/sati-sdk";
20
20
 
21
- // Initialize client
22
- const sati = new Sati({
23
- network: "devnet",
24
- photonRpcUrl: "https://devnet.helius-rpc.com?api-key=YOUR_KEY", // For compressed attestations
25
- });
21
+ // Initialize client (uses hosted Photon proxy by default - no API keys needed)
22
+ const sati = new Sati({ network: "devnet" });
26
23
 
27
24
  // Register an agent
28
25
  const { mint, memberNumber, signature } = await sati.registerAgent({
@@ -57,9 +54,13 @@ console.log(result.memberNumber); // Registry member number
57
54
  Upload a registration file to IPFS and register in one flow:
58
55
 
59
56
  ```typescript
60
- import { createPinataUploader } from "@cascade-fyi/sati-sdk";
57
+ import { createSatiUploader, createPinataUploader } from "@cascade-fyi/sati-sdk";
58
+
59
+ // Zero config (uses hosted uploader - no API keys needed)
60
+ const uploader = createSatiUploader();
61
61
 
62
- const uploader = createPinataUploader(process.env.PINATA_JWT!);
62
+ // Or bring your own Pinata account
63
+ // const uploader = createPinataUploader(process.env.PINATA_JWT!);
63
64
 
64
65
  // Build + upload registration file, then register
65
66
  const uri = await sati.uploadRegistrationFile(
@@ -309,12 +310,13 @@ const result = await sati.closeReputationScore({
309
310
 
310
311
  ## Querying Attestations with Photon
311
312
 
312
- SATI uses Light Protocol's compressed accounts. Query via Helius Photon:
313
+ SATI uses Light Protocol's compressed accounts. The `Sati` client handles Photon routing automatically (hosted proxy by default, or pass `photonRpcUrl` for your own endpoint). For direct Photon access:
313
314
 
314
315
  ```typescript
315
316
  import { createPhotonRpc } from "@cascade-fyi/compression-kit";
316
317
  import { SATI_PROGRAM_ADDRESS, FEEDBACK_OFFSETS } from "@cascade-fyi/sati-sdk";
317
318
 
319
+ // Direct Photon access (for advanced use cases)
318
320
  const rpc = createPhotonRpc("https://devnet.helius-rpc.com?api-key=YOUR_KEY");
319
321
 
320
322
  // Query all feedbacks for an agent