@cascade-fyi/sati-sdk 0.6.0 → 0.7.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 +29 -0
- package/README.md +11 -9
- package/dist/index.cjs +644 -14
- package/dist/index.d.cts +410 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +410 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +643 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ 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.7.0] - 2026-02-12
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Convenience methods on `Sati` class** - high-level API for feedback, search, and reputation without needing sati-agent0-sdk:
|
|
13
|
+
- `giveFeedback(params)` - submit feedback with a single call (schema auto-resolution, content building, signing)
|
|
14
|
+
- `prepareFeedback(params)` / `submitPreparedFeedback(params)` - browser wallet flow (user signs SIWS message, server submits)
|
|
15
|
+
- `revokeFeedback(params)` - close a compressed feedback attestation
|
|
16
|
+
- `searchFeedback(options?)` - query and filter feedbacks with parsed content, timestamps, and optional tx signatures
|
|
17
|
+
- `getReputationSummary(agentMint, tags?)` - aggregate feedback scores with optional tag filtering
|
|
18
|
+
- `searchAgents(options?)` - list agents with name/owner/active/endpoint filters and optional feedback stats
|
|
19
|
+
- `searchValidations(agentMint)` - query validation attestations with parsed timestamps
|
|
20
|
+
- `createAgentBuilder(name, description, image)` - factory for `SatiAgentBuilder`
|
|
21
|
+
- **`SatiAgentBuilder` class** - fluent builder for agent registration using native Solana types:
|
|
22
|
+
- `setMCP(url, version?, meta?)` / `setA2A(url, version?, meta?)` - configure protocol endpoints with explicit capability metadata
|
|
23
|
+
- `setWallet(address)` / `setActive(active)` / `setX402Support(x402)` / `setSupportedTrust(trusts)`
|
|
24
|
+
- `register(opts)` / `registerWithUri(opts)` - on-chain registration with pluggable `MetadataUploader`
|
|
25
|
+
- `update(opts)` / `updateUri(opts)` - update existing agent metadata
|
|
26
|
+
- **`FeedbackCache`** - TTL cache for feedback queries, reducing redundant RPC calls (moved from sati-agent0-sdk)
|
|
27
|
+
- **Config accessors** on `Sati` class: `deployedConfig`, `feedbackPublicSchema`, `feedbackSchema`, `validationSchema`, `lookupTable`
|
|
28
|
+
- **New types**: `GiveFeedbackParams`, `GiveFeedbackResult`, `PreparedFeedbackData`, `FeedbackSearchOptions`, `ParsedFeedback`, `ReputationSummary`, `AgentSearchOptions`, `AgentSearchResult`, `ParsedValidation`, `SatiWarning`
|
|
29
|
+
- `signer` and `onWarning` options in `SATIClientOptions`
|
|
30
|
+
- `buildRegistrationFile()` accepts optional `endpoints` parameter for pre-built endpoint arrays
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- sati-sdk is now the primary full-featured SDK (was low-level only); sati-agent0-sdk becomes a thin type-conversion wrapper
|
|
35
|
+
|
|
8
36
|
## [0.6.0] - 2026-02-12
|
|
9
37
|
|
|
10
38
|
### Added
|
|
@@ -116,6 +144,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
116
144
|
- Compressed attestation storage via Light Protocol
|
|
117
145
|
- Basic querying via Photon RPC
|
|
118
146
|
|
|
147
|
+
[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
148
|
[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
149
|
[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
150
|
[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
|
|
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
|
-
|
|
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.
|
|
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
|