44
55Grade = Literal ["A" , "B" , "C" , "D" , "F" ]
66EntityType = Literal ["agent" , "service" , "hybrid" , "wallet" , "bot" , "unknown" ]
7- ReputationStatus = Literal ["unknown" , "known_unscored" , " scored" , "stale" , "indexing " ]
7+ ReputationStatus = Literal ["scored" , "stale" , "known_unscored " ]
88
99
1010class Subject (TypedDict ):
@@ -23,23 +23,26 @@ class Classification(TypedDict):
2323
2424
2525class Score (TypedDict ):
26- value : int | None
26+ value : float | None
2727 grade : Grade | None
2828 scored_at : str | None
2929 status : ReputationStatus
3030 version : str
3131
3232
33- class ChainScore (TypedDict ):
34- value : int | None
33+ class _ChainScoreRequired (TypedDict ):
34+ value : float | None
3535 grade : Grade | None
36- confidence : float | None
37- dimensions : dict [str , float ] | None
3836 scored_at : str | None
3937 status : ReputationStatus
4038 version : str
4139
4240
41+ class ChainScore (_ChainScoreRequired , total = False ):
42+ confidence : float | None
43+ dimensions : dict [str , float ] | None
44+
45+
4346class Identity (TypedDict ):
4447 ens_name : str | None
4548 website_url : str | None
@@ -71,36 +74,27 @@ class Reputation(TypedDict):
7174 last_feedback_at : str | None
7275
7376
74- class EvidenceSummary (TypedDict , total = False ):
75- candidate_tx_count : int
76- confirmed_or_likely_tx : int
77- endpoint_count : int
78- github_stars : int
79- github_url : str | None
80- has_a2a_agent_card : bool
81- has_ens : bool
82- has_github : bool
83- has_website : bool
84- healthy_endpoints : int
85- is_erc8004 : bool
77+ class EvidenceSummary (TypedDict ):
8678 metadata_kind : str | None
87- metadata_quality : str | None
88- multi_chain_count : int
89- reputation_feedback_count : int
90- reputation_trust_avg : float | None
91- reputation_uptime_avg : float | None
92- reputation_activity_avg : float | None
93- reputation_client_count : int
94- verified_tx_count : int
79+ has_a2a_agent_card : bool
80+ website_url : str | None
81+ website_reachable : bool
9582 website_mentions_mcp : bool
9683 website_mentions_x402 : bool
97- website_reachable : bool
98- website_url : str | None
84+ github_url : str | None
85+ github_stars : int | None
86+
87+
88+ class RedactedClassification (TypedDict ):
89+ entity_type : EntityType
9990
10091
101- class OperatorScore (TypedDict ):
102- score : int
92+ class _OperatorScoreRequired (TypedDict ):
93+ score : float
10394 grade : Grade
95+
96+
97+ class OperatorScore (_OperatorScoreRequired , total = False ):
10498 agent_count : int
10599 chains_active : list [str ]
106100
@@ -109,20 +103,23 @@ class AgentSummary(TypedDict):
109103 token_id : int
110104 chain : str
111105 name : str | None
112- score : int
106+ score : float
113107 grade : Grade
114108
115109
116- class ChainEntry (TypedDict ):
110+ class _ChainEntryRequired (TypedDict ):
117111 chain : str
118112 score : ChainScore
119- classification : Classification
113+ classification : Classification | RedactedClassification
114+
115+
116+ class ChainEntry (_ChainEntryRequired , total = False ):
120117 identity : Identity
121118 activity : Activity
122119 evidence_summary : EvidenceSummary
123120
124121
125- class ReputationResponse (TypedDict ):
122+ class _ReputationResponseRequired (TypedDict ):
126123 subject : Subject
127124 score : Score
128125 chains : list [ChainEntry ]
@@ -131,10 +128,10 @@ class ReputationResponse(TypedDict):
131128 updated_at : str | None
132129
133130
134- class ReputationResponseFull (ReputationResponse , total = False ):
131+ class ReputationResponse (_ReputationResponseRequired , total = False ):
132+ reputation : Reputation
135133 operator_score : OperatorScore
136134 agents : list [AgentSummary ]
137- reputation : Reputation
138135
139136
140137class DecisionPolicy (TypedDict , total = False ):
@@ -143,7 +140,7 @@ class DecisionPolicy(TypedDict, total=False):
143140 require_verified_payment_activity : bool
144141
145142
146- class AssessResponse (TypedDict ):
143+ class _AssessResponseRequired (TypedDict ):
147144 subject : Subject
148145 score : Score
149146 chains : list [ChainEntry ]
@@ -153,64 +150,9 @@ class AssessResponse(TypedDict):
153150 data_semantics : str
154151 caveats : list [str ]
155152 updated_at : str | None
153+
154+
155+ class AssessResponse (_AssessResponseRequired , total = False ):
156156 operator_score : OperatorScore | None
157157 reputation : Reputation | None
158158 agents : list [AgentSummary ]
159-
160-
161- class AgentRecord (TypedDict ):
162- chain : str
163- token_id : int
164- owner_address : str
165- agent_wallet : str | None
166- name : str | None
167- description : str | None
168- metadata_quality : str
169- score : int | None
170- grade : Grade | None
171- entity_type : EntityType | None
172- endpoint_count : int
173- website_url : str | None
174- github_url : str | None
175- has_candidate_payment_activity : bool
176- has_verified_payment_activity : bool
177- agents_sharing_owner : int | None
178- updated_at : str
179-
180-
181- class AgentsListResponse (TypedDict ):
182- items : list [AgentRecord ]
183- next_cursor : str | None
184- count : int
185- version : str
186-
187-
188- class StatsPayments (TypedDict ):
189- addresses_with_candidate_payment_activity : int
190- addresses_with_verified_payment_activity : int
191- total_candidate_transactions : int
192- total_verified_transactions : int
193- verification_status_summary : dict [str , int ]
194-
195-
196- class StatsERC8004 (TypedDict ):
197- known_agents : int
198- by_chain : dict [str , int ]
199- metadata_quality_distribution : dict [str , int ]
200-
201-
202- class StatsReputation (TypedDict ):
203- total_addresses : int
204- scored_addresses : int
205- entity_distribution : dict [str , int ]
206- score_distribution : dict [str , int ]
207-
208-
209- class StatsResponse (TypedDict , total = False ):
210- version : str
211- as_of_time : str
212- data_semantics : str
213- erc8004 : StatsERC8004
214- reputation : StatsReputation
215- payments : StatsPayments
216- caveats : list [str ]
0 commit comments