@xpr-agents/sdk 0.1.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/README.md +165 -0
- package/dist/AgentRegistry.d.ts +182 -0
- package/dist/AgentRegistry.js +892 -0
- package/dist/EscrowRegistry.d.ts +253 -0
- package/dist/EscrowRegistry.js +731 -0
- package/dist/FeedbackRegistry.d.ts +83 -0
- package/dist/FeedbackRegistry.js +424 -0
- package/dist/ValidationRegistry.d.ts +115 -0
- package/dist/ValidationRegistry.js +638 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +59 -0
- package/dist/types.d.ts +345 -0
- package/dist/types.js +4 -0
- package/dist/utils.d.ts +79 -0
- package/dist/utils.js +235 -0
- package/package.json +65 -0
package/dist/utils.js
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateTrustScore = calculateTrustScore;
|
|
4
|
+
exports.getTrustRating = getTrustRating;
|
|
5
|
+
exports.validationResultFromNumber = validationResultFromNumber;
|
|
6
|
+
exports.validationResultToNumber = validationResultToNumber;
|
|
7
|
+
exports.disputeStatusFromNumber = disputeStatusFromNumber;
|
|
8
|
+
exports.safeJsonParse = safeJsonParse;
|
|
9
|
+
exports.parseCapabilities = parseCapabilities;
|
|
10
|
+
exports.parseSpecializations = parseSpecializations;
|
|
11
|
+
exports.parseTags = parseTags;
|
|
12
|
+
exports.formatXpr = formatXpr;
|
|
13
|
+
exports.parseXpr = parseXpr;
|
|
14
|
+
exports.safeParseInt = safeParseInt;
|
|
15
|
+
exports.formatTimestamp = formatTimestamp;
|
|
16
|
+
exports.calculateWeightedAverage = calculateWeightedAverage;
|
|
17
|
+
exports.isValidAccountName = isValidAccountName;
|
|
18
|
+
exports.isValidUrl = isValidUrl;
|
|
19
|
+
exports.getKycWeight = getKycWeight;
|
|
20
|
+
/**
|
|
21
|
+
* Calculate trust score for an agent
|
|
22
|
+
* Combines KYC level, stake, reputation, and longevity
|
|
23
|
+
* @param agent - Agent data
|
|
24
|
+
* @param agentScore - Aggregated score from feedback
|
|
25
|
+
* @param kycLevel - KYC verification level (0-4)
|
|
26
|
+
* @param stakeAmount - Staked XPR in smallest units (optional, fetched from system staking)
|
|
27
|
+
*/
|
|
28
|
+
function calculateTrustScore(agent, agentScore, kycLevel, stakeAmount = 0) {
|
|
29
|
+
const breakdown = {
|
|
30
|
+
kyc: 0,
|
|
31
|
+
stake: 0,
|
|
32
|
+
reputation: 0,
|
|
33
|
+
longevity: 0,
|
|
34
|
+
};
|
|
35
|
+
// KYC score (0-30 points)
|
|
36
|
+
// Level 0 = 0, Level 1 = 10, Level 2 = 20, Level 3 = 30
|
|
37
|
+
breakdown.kyc = Math.min(kycLevel * 10, 30);
|
|
38
|
+
// Stake score (0-20 points, caps at 10000 XPR)
|
|
39
|
+
// Every 500 XPR = 1 point, max 20 points
|
|
40
|
+
const stakeXpr = stakeAmount / 10000; // Convert from smallest unit
|
|
41
|
+
breakdown.stake = Math.min(Math.floor(stakeXpr / 500), 20);
|
|
42
|
+
// Reputation score (0-40 points)
|
|
43
|
+
if (agentScore && agentScore.total_weight > 0) {
|
|
44
|
+
// avg_score is 0-10000 (representing 0-100.00%)
|
|
45
|
+
// We need to convert to 0-40 points
|
|
46
|
+
// If avg_score is 10000 (100%), that means perfect 5/5 rating
|
|
47
|
+
breakdown.reputation = Math.floor((agentScore.avg_score / 10000) * 40);
|
|
48
|
+
}
|
|
49
|
+
// Longevity score (0-10 points, 1 point per month)
|
|
50
|
+
const now = Math.floor(Date.now() / 1000);
|
|
51
|
+
const monthsActive = Math.floor((now - agent.registered_at) / (30 * 24 * 60 * 60));
|
|
52
|
+
breakdown.longevity = Math.min(monthsActive, 10);
|
|
53
|
+
// Total score (0-100)
|
|
54
|
+
const total = breakdown.kyc + breakdown.stake + breakdown.reputation + breakdown.longevity;
|
|
55
|
+
return {
|
|
56
|
+
agent: agent.account,
|
|
57
|
+
total,
|
|
58
|
+
breakdown,
|
|
59
|
+
rating: getTrustRating(total),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get trust rating label from numeric score
|
|
64
|
+
*/
|
|
65
|
+
function getTrustRating(score) {
|
|
66
|
+
if (score >= 80)
|
|
67
|
+
return 'verified';
|
|
68
|
+
if (score >= 60)
|
|
69
|
+
return 'high';
|
|
70
|
+
if (score >= 40)
|
|
71
|
+
return 'medium';
|
|
72
|
+
if (score >= 20)
|
|
73
|
+
return 'low';
|
|
74
|
+
return 'untrusted';
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Convert validation result number to string
|
|
78
|
+
*/
|
|
79
|
+
function validationResultFromNumber(result) {
|
|
80
|
+
switch (result) {
|
|
81
|
+
case 0:
|
|
82
|
+
return 'fail';
|
|
83
|
+
case 1:
|
|
84
|
+
return 'pass';
|
|
85
|
+
case 2:
|
|
86
|
+
return 'partial';
|
|
87
|
+
default:
|
|
88
|
+
return 'fail';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Convert validation result string to number
|
|
93
|
+
*/
|
|
94
|
+
function validationResultToNumber(result) {
|
|
95
|
+
switch (result) {
|
|
96
|
+
case 'fail':
|
|
97
|
+
return 0;
|
|
98
|
+
case 'pass':
|
|
99
|
+
return 1;
|
|
100
|
+
case 'partial':
|
|
101
|
+
return 2;
|
|
102
|
+
default:
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Convert dispute status number to string
|
|
108
|
+
*/
|
|
109
|
+
function disputeStatusFromNumber(status) {
|
|
110
|
+
switch (status) {
|
|
111
|
+
case 0:
|
|
112
|
+
return 'pending';
|
|
113
|
+
case 1:
|
|
114
|
+
return 'upheld';
|
|
115
|
+
case 2:
|
|
116
|
+
return 'rejected';
|
|
117
|
+
case 3:
|
|
118
|
+
return 'cancelled';
|
|
119
|
+
default:
|
|
120
|
+
return 'pending';
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Parse JSON safely with fallback
|
|
125
|
+
*/
|
|
126
|
+
function safeJsonParse(json, fallback) {
|
|
127
|
+
try {
|
|
128
|
+
return JSON.parse(json);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return fallback;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Parse capabilities string to array
|
|
136
|
+
*/
|
|
137
|
+
function parseCapabilities(capabilities) {
|
|
138
|
+
if (!capabilities)
|
|
139
|
+
return [];
|
|
140
|
+
return safeJsonParse(capabilities, []);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Parse specializations string to array
|
|
144
|
+
*/
|
|
145
|
+
function parseSpecializations(specializations) {
|
|
146
|
+
if (!specializations)
|
|
147
|
+
return [];
|
|
148
|
+
return safeJsonParse(specializations, []);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Parse tags string to array (comma-separated)
|
|
152
|
+
*/
|
|
153
|
+
function parseTags(tags) {
|
|
154
|
+
if (!tags)
|
|
155
|
+
return [];
|
|
156
|
+
return tags.split(',').map((t) => t.trim()).filter((t) => t.length > 0);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Format XPR amount from smallest unit
|
|
160
|
+
*/
|
|
161
|
+
function formatXpr(amount) {
|
|
162
|
+
return (amount / 10000).toFixed(4) + ' XPR';
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Parse XPR amount string to smallest unit (integer math to avoid float precision issues)
|
|
166
|
+
* "100.5000 XPR" → 1005000, "0.7000 XPR" → 7000
|
|
167
|
+
*/
|
|
168
|
+
function parseXpr(amount) {
|
|
169
|
+
const match = amount.match(/^(\d+)(?:\.(\d{1,4}))?/);
|
|
170
|
+
if (!match)
|
|
171
|
+
return 0;
|
|
172
|
+
const whole = parseInt(match[1], 10) || 0;
|
|
173
|
+
const fracStr = (match[2] || '').padEnd(4, '0').slice(0, 4);
|
|
174
|
+
const frac = parseInt(fracStr, 10) || 0;
|
|
175
|
+
return whole * 10000 + frac;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Safe parseInt with fallback - returns fallback on NaN
|
|
179
|
+
*/
|
|
180
|
+
function safeParseInt(value, fallback = 0) {
|
|
181
|
+
if (value === undefined || value === null || value === '')
|
|
182
|
+
return fallback;
|
|
183
|
+
const parsed = parseInt(value, 10);
|
|
184
|
+
return isNaN(parsed) ? fallback : parsed;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Format timestamp to ISO string
|
|
188
|
+
*/
|
|
189
|
+
function formatTimestamp(timestamp) {
|
|
190
|
+
return new Date(timestamp * 1000).toISOString();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Calculate weighted average score
|
|
194
|
+
*/
|
|
195
|
+
function calculateWeightedAverage(scores) {
|
|
196
|
+
if (scores.length === 0)
|
|
197
|
+
return 0;
|
|
198
|
+
let totalScore = 0;
|
|
199
|
+
let totalWeight = 0;
|
|
200
|
+
for (const { score, weight } of scores) {
|
|
201
|
+
totalScore += score * weight;
|
|
202
|
+
totalWeight += weight;
|
|
203
|
+
}
|
|
204
|
+
if (totalWeight === 0)
|
|
205
|
+
return 0;
|
|
206
|
+
return totalScore / totalWeight;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Validate XPR account name
|
|
210
|
+
* Must be 1-12 characters, a-z, 1-5, and .
|
|
211
|
+
*/
|
|
212
|
+
function isValidAccountName(name) {
|
|
213
|
+
if (!name || name.length > 12)
|
|
214
|
+
return false;
|
|
215
|
+
return /^[a-z1-5.]+$/.test(name);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Validate URL format
|
|
219
|
+
*/
|
|
220
|
+
function isValidUrl(url) {
|
|
221
|
+
try {
|
|
222
|
+
new URL(url);
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Get KYC level weight for feedback scoring
|
|
231
|
+
*/
|
|
232
|
+
function getKycWeight(kycLevel) {
|
|
233
|
+
return 1 + kycLevel;
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFrQkEsa0RBNENDO0FBS0Qsd0NBTUM7QUFLRCxnRUFXQztBQUtELDREQVdDO0FBS0QsMERBYUM7QUFLRCxzQ0FNQztBQUtELDhDQUdDO0FBS0Qsb0RBR0M7QUFLRCw4QkFHQztBQUtELDhCQUVDO0FBTUQsNEJBT0M7QUFLRCxvQ0FJQztBQUtELDBDQUVDO0FBS0QsNERBZUM7QUFNRCxnREFHQztBQUtELGdDQU9DO0FBS0Qsb0NBRUM7QUF4T0Q7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxLQUFZLEVBQ1osVUFBNkIsRUFDN0IsUUFBZ0IsRUFDaEIsY0FBc0IsQ0FBQztJQUV2QixNQUFNLFNBQVMsR0FBd0I7UUFDckMsR0FBRyxFQUFFLENBQUM7UUFDTixLQUFLLEVBQUUsQ0FBQztRQUNSLFVBQVUsRUFBRSxDQUFDO1FBQ2IsU0FBUyxFQUFFLENBQUM7S0FDYixDQUFDO0lBRUYsMEJBQTBCO0lBQzFCLHdEQUF3RDtJQUN4RCxTQUFTLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU1QywrQ0FBK0M7SUFDL0MseUNBQXlDO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsQ0FBQyw2QkFBNkI7SUFDbkUsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTNELGlDQUFpQztJQUNqQyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzlDLGdEQUFnRDtRQUNoRCxvQ0FBb0M7UUFDcEMsOERBQThEO1FBQzlELFNBQVMs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QUFLLENBQUM7UUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoQyxPQUFPLFVBQVUsR0FBRyxXQUFXLENBQUM7QUFDbEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLElBQVk7SUFDN0MsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM1QyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLEdBQVc7SUFDcEMsSUFBSSxDQUFDO1FBQ0gsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsUUFBZ0I7SUFDM0MsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZ2VudCxcbiAgQWdlbnRTY29yZSxcbiAgVHJ1c3RTY29yZSxcbiAgVHJ1c3RTY29yZUJyZWFrZG93bixcbiAgVHJ1c3RSYXRpbmcsXG4gIFZhbGlkYXRpb25SZXN1bHQsXG4gIERpc3B1dGVTdGF0dXMsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIENhbGN1bGF0ZSB0cnVzdCBzY29yZSBmb3IgYW4gYWdlbnRcbiAqIENvbWJpbmVzIEtZQyBsZXZlbCwgc3Rha2UsIHJlcHV0YXRpb24sIGFuZCBsb25nZXZpdHlcbiAqIEBwYXJhbSBhZ2VudCAtIEFnZW50IGRhdGFcbiAqIEBwYXJhbSBhZ2VudFNjb3JlIC0gQWdncmVnYXRlZCBzY29yZSBmcm9tIGZlZWRiYWNrXG4gKiBAcGFyYW0ga3ljTGV2ZWwgLSBLWUMgdmVyaWZpY2F0aW9uIGxldmVsICgwLTQpXG4gKiBAcGFyYW0gc3Rha2VBbW91bnQgLSBTdGFrZWQgWFBSIGluIHNtYWxsZXN0IHVuaXRzIChvcHRpb25hbCwgZmV0Y2hlZCBmcm9tIHN5c3RlbSBzdGFraW5nKVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlVHJ1c3RTY29yZShcbiAgYWdlbnQ6IEFnZW50LFxuICBhZ2VudFNjb3JlOiBBZ2VudFNjb3JlIHwgbnVsbCxcbiAga3ljTGV2ZWw6IG51bWJlcixcbiAgc3Rha2VBbW91bnQ6IG51bWJlciA9IDBcbik6IFRydXN0U2NvcmUge1xuICBjb25zdCBicmVha2Rvd246IFRydXN0U2NvcmVCcmVha2Rvd24gPSB7XG4gICAga3ljOiAwLFxuICAgIHN0YWtlOiAwLFxuICAgIHJlcHV0YXRpb246IDAsXG4gICAgbG9uZ2V2aXR5OiAwLFxuICB9O1xuXG4gIC8vIEtZQyBzY29yZSAoMC0zMCBwb2ludHMpXG4gIC8vIExldmVsIDAgPSAwLCBMZXZlbCAxID0gMTAsIExldmVsIDIgPSAyMCwgTGV2ZWwgMyA9IDMwXG4gIGJyZWFrZG93bi5reWMgPSBNYXRoLm1pbihreWNMZXZlbCAqIDEwLCAzMCk7XG5cbiAgLy8gU3Rha2Ugc2NvcmUgKDAtMjAgcG9pbnRzLCBjYXBzIGF0IDEwMDAwIFhQUilcbiAgLy8gRXZlcnkgNTAwIFhQUiA9IDEgcG9pbnQsIG1heCAyMCBwb2ludHNcbiAgY29uc3Qgc3Rha2VYcHIgPSBzdGFrZUFtb3VudCAvIDEwMDAwOyAvLyBDb252ZXJ0IGZyb20gc21hbGxlc3QgdW5pdFxuICBicmVha2Rvd24uc3Rha2UgPSBNYXRoLm1pbihNYXRoLmZsb29yKHN0YWtlWHByIC8gNTAwKSwgMjApO1xuXG4gIC8vIFJlcHV0YXRpb24gc2NvcmUgKDAtNDAgcG9pbnRzKVxuICBpZiAoYWdlbnRTY29yZSAmJiBhZ2VudFNjb3JlLnRvdGFsX3dlaWdodCA+IDApIHtcbiAgICAvLyBhdmdfc2NvcmUgaXMgMC0xMDAwMCAocmVwcmVzZW50aW5nIDAtMTAwLjAwJSlcbiAgICAvLyBXZSBuZWVkIHRvIGNvbnZlcnQgdG8gMC00MCBwb2ludHNcbiAgICAvLyBJZiBhdmdfc2NvcmUgaXMgMTAwMDAgKDEwMCUpLCB0aGF0IG1lYW5zIHBlcmZlY3QgNS81IHJhdGluZ1xuICAgIGJyZWFrZG93bi5yZXB1dGF0aW9uID0gTWF0aC5mbG9vcigoYWdlbnRTY29yZS5hdmdfc2NvcmUgLyAxMDAwMCkgKiA0MCk7XG4gIH1cblxuICAvLyBMb25nZXZpdHkgc2NvcmUgKDAtMTAgcG9pbnRzLCAxIHBvaW50IHBlciBtb250aClcbiAgY29uc3Qgbm93ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7XG4gIGNvbnN0IG1vbnRoc0FjdGl2ZSA9IE1hdGguZmxvb3IoKG5vdyAtIGFnZW50LnJlZ2lzdGVyZWRfYXQpIC8gKDMwICogMjQgKiA2MCAqIDYwKSk7XG4gIGJyZWFrZG93bi5sb25nZXZpdHkgPSBNYXRoLm1pbihtb250aHNBY3RpdmUsIDEwKTtcblxuICAvLyBUb3RhbCBzY29yZSAoMC0xMDApXG4gIGNvbnN0IHRvdGFsID0gYnJlYWtkb3duLmt5YyArIGJyZWFrZG93bi5zdGFrZSArIGJyZWFrZG93bi5yZXB1dGF0aW9uICsgYnJlYWtkb3duLmxvbmdldml0eTtcblxuICByZXR1cm4ge1xuICAgIGFnZW50OiBhZ2VudC5hY2NvdW50LFxuICAgIHRvdGFsLFxuICAgIGJyZWFrZG93bixcbiAgICByYXRpbmc6IGdldFRydXN0UmF0aW5nKHRvdGFsKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBHZXQgdHJ1c3QgcmF0aW5nIGxhYmVsIGZyb20gbnVtZXJpYyBzY29yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJ1c3RSYXRpbmcoc2NvcmU6IG51bWJlcik6IFRydXN0UmF0aW5nIHtcbiAgaWYgKHNjb3JlID49IDgwKSByZXR1cm4gJ3ZlcmlmaWVkJztcbiAgaWYgKHNjb3JlID49IDYwKSByZXR1cm4gJ2hpZ2gnO1xuICBpZiAoc2NvcmUgPj0gNDApIHJldHVybiAnbWVkaXVtJztcbiAgaWYgKHNjb3JlID49IDIwKSByZXR1cm4gJ2xvdyc7XG4gIHJldHVybiAndW50cnVzdGVkJztcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbGlkYXRpb24gcmVzdWx0IG51bWJlciB0byBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRpb25SZXN1bHRGcm9tTnVtYmVyKHJlc3VsdDogbnVtYmVyKTogVmFsaWRhdGlvblJlc3VsdCB7XG4gIHN3aXRjaCAocmVzdWx0KSB7XG4gICAgY2FzZSAwOlxuICAgICAgcmV0dXJuICdmYWlsJztcbiAgICBjYXNlIDE6XG4gICAgICByZXR1cm4gJ3Bhc3MnO1xuICAgIGNhc2UgMjpcbiAgICAgIHJldHVybiAncGFydGlhbCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnZmFpbCc7XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0IHZhbGlkYXRpb24gcmVzdWx0IHN0cmluZyB0byBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRpb25SZXN1bHRUb051bWJlcihyZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQpOiBudW1iZXIge1xuICBzd2l0Y2ggKHJlc3VsdCkge1xuICAgIGNhc2UgJ2ZhaWwnOlxuICAgICAgcmV0dXJuIDA7XG4gICAgY2FzZSAncGFzcyc6XG4gICAgICByZXR1cm4gMTtcbiAgICBjYXNlICdwYXJ0aWFsJzpcbiAgICAgIHJldHVybiAyO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gMDtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnQgZGlzcHV0ZSBzdGF0dXMgbnVtYmVyIHRvIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzcHV0ZVN0YXR1c0Zyb21OdW1iZXIoc3RhdHVzOiBudW1iZXIpOiBEaXNwdXRlU3RhdHVzIHtcbiAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICBjYXNlIDA6XG4gICAgICByZXR1cm4gJ3BlbmRpbmcnO1xuICAgIGNhc2UgMTpcbiAgICAgIHJldHVybiAndXBoZWxkJztcbiAgICBjYXNlIDI6XG4gICAgICByZXR1cm4gJ3JlamVjdGVkJztcbiAgICBjYXNlIDM6XG4gICAgICByZXR1cm4gJ2NhbmNlbGxlZCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAncGVuZGluZyc7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBKU09OIHNhZmVseSB3aXRoIGZhbGxiYWNrXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlSnNvblBhcnNlPFQ+KGpzb246IHN0cmluZywgZmFsbGJhY2s6IFQpOiBUIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uKSBhcyBUO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJzZSBjYXBhYmlsaXRpZXMgc3RyaW5nIHRvIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNhcGFiaWxpdGllcyhjYXBhYmlsaXRpZXM6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgaWYgKCFjYXBhYmlsaXRpZXMpIHJldHVybiBbXTtcbiAgcmV0dXJuIHNhZmVKc29uUGFyc2U8c3RyaW5nW10+KGNhcGFiaWxpdGllcywgW10pO1xufVxuXG4vKipcbiAqIFBhcnNlIHNwZWNpYWxpemF0aW9ucyBzdHJpbmcgdG8gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3BlY2lhbGl6YXRpb25zKHNwZWNpYWxpemF0aW9uczogc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAoIXNwZWNpYWxpemF0aW9ucykgcmV0dXJuIFtdO1xuICByZXR1cm4gc2FmZUpzb25QYXJzZTxzdHJpbmdbXT4oc3BlY2lhbGl6YXRpb25zLCBbXSk7XG59XG5cbi8qKlxuICogUGFyc2UgdGFncyBzdHJpbmcgdG8gYXJyYXkgKGNvbW1hLXNlcGFyYXRlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGFncyh0YWdzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGlmICghdGFncykgcmV0dXJuIFtdO1xuICByZXR1cm4gdGFncy5zcGxpdCgnLCcpLm1hcCgodCkgPT4gdC50cmltKCkpLmZpbHRlcigodCkgPT4gdC5sZW5ndGggPiAwKTtcbn1cblxuLyoqXG4gKiBGb3JtYXQgWFBSIGFtb3VudCBmcm9tIHNtYWxsZXN0IHVuaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFhwcihhbW91bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiAoYW1vdW50IC8gMTAwMDApLnRvRml4ZWQoNCkgKyAnIFhQUic7XG59XG5cbi8qKlxuICogUGFyc2UgWFBSIGFtb3VudCBzdHJpbmcgdG8gc21hbGxlc3QgdW5pdCAoaW50ZWdlciBtYXRoIHRvIGF2b2lkIGZsb2F0IHByZWNpc2lvbiBpc3N1ZXMpXG4gKiBcIjEwMC41MDAwIFhQUlwiIOKGkiAxMDA1MDAwLCBcIjAuNzAwMCBYUFJcIiDihpIgNzAwMFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VYcHIoYW1vdW50OiBzdHJpbmcpOiBudW1iZXIge1xuICBjb25zdCBtYXRjaCA9IGFtb3VudC5tYXRjaCgvXihcXGQrKSg/OlxcLihcXGR7MSw0fSkpPy8pO1xuICBpZiAoIW1hdGNoKSByZXR1cm4gMDtcbiAgY29uc3Qgd2hvbGUgPSBwYXJzZUludChtYXRjaFsxXSwgMTApIHx8IDA7XG4gIGNvbnN0IGZyYWNTdHIgPSAobWF0Y2hbMl0gfHwgJycpLnBhZEVuZCg0LCAnMCcpLnNsaWNlKDAsIDQpO1xuICBjb25zdCBmcmFjID0gcGFyc2VJbnQoZnJhY1N0ciwgMTApIHx8IDA7XG4gIHJldHVybiB3aG9sZSAqIDEwMDAwICsgZnJhYztcbn1cblxuLyoqXG4gKiBTYWZlIHBhcnNlSW50IHdpdGggZmFsbGJhY2sgLSByZXR1cm5zIGZhbGxiYWNrIG9uIE5hTlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2FmZVBhcnNlSW50KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLCBmYWxsYmFjazogbnVtYmVyID0gMCk6IG51bWJlciB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIGZhbGxiYWNrO1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xuICByZXR1cm4gaXNOYU4ocGFyc2VkKSA/IGZhbGxiYWNrIDogcGFyc2VkO1xufVxuXG4vKipcbiAqIEZvcm1hdCB0aW1lc3RhbXAgdG8gSVNPIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZXN0YW1wKHRpbWVzdGFtcDogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIG5ldyBEYXRlKHRpbWVzdGFtcCAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG59XG5cbi8qKlxuICogQ2FsY3VsYXRlIHdlaWdodGVkIGF2ZXJhZ2Ugc2NvcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZVdlaWdodGVkQXZlcmFnZShcbiAgc2NvcmVzOiBBcnJheTx7IHNjb3JlOiBudW1iZXI7IHdlaWdodDogbnVtYmVyIH0+XG4pOiBudW1iZXIge1xuICBpZiAoc2NvcmVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIDA7XG5cbiAgbGV0IHRvdGFsU2NvcmUgPSAwO1xuICBsZXQgdG90YWxXZWlnaHQgPSAwO1xuXG4gIGZvciAoY29uc3QgeyBzY29yZSwgd2VpZ2h0IH0gb2Ygc2NvcmVzKSB7XG4gICAgdG90YWxTY29yZSArPSBzY29yZSAqIHdlaWdodDtcbiAgICB0b3RhbFdlaWdodCArPSB3ZWlnaHQ7XG4gIH1cblxuICBpZiAodG90YWxXZWlnaHQgPT09IDApIHJldHVybiAwO1xuICByZXR1cm4gdG90YWxTY29yZSAvIHRvdGFsV2VpZ2h0O1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIFhQUiBhY2NvdW50IG5hbWVcbiAqIE11c3QgYmUgMS0xMiBjaGFyYWN0ZXJzLCBhLXosIDEtNSwgYW5kIC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRBY2NvdW50TmFtZShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKCFuYW1lIHx8IG5hbWUubGVuZ3RoID4gMTIpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIC9eW2EtejEtNS5dKyQvLnRlc3QobmFtZSk7XG59XG5cbi8qKlxuICogVmFsaWRhdGUgVVJMIGZvcm1hdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFVybCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIG5ldyBVUkwodXJsKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogR2V0IEtZQyBsZXZlbCB3ZWlnaHQgZm9yIGZlZWRiYWNrIHNjb3JpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEt5Y1dlaWdodChreWNMZXZlbDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIDEgKyBreWNMZXZlbDtcbn1cbiJdfQ==
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xpr-agents/sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "TypeScript SDK for XPR Network Trustless Agent Registry - register agents, submit feedback, validate outputs, and manage escrow jobs",
|
|
5
|
+
"author": "XPR Network",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/XPRNetwork/xpr-agents#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/XPRNetwork/xpr-agents.git",
|
|
11
|
+
"directory": "sdk"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/XPRNetwork/xpr-agents/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"xpr",
|
|
18
|
+
"xpr-network",
|
|
19
|
+
"proton",
|
|
20
|
+
"blockchain",
|
|
21
|
+
"agents",
|
|
22
|
+
"ai-agents",
|
|
23
|
+
"registry",
|
|
24
|
+
"reputation",
|
|
25
|
+
"validation",
|
|
26
|
+
"escrow",
|
|
27
|
+
"trustless"
|
|
28
|
+
],
|
|
29
|
+
"main": "dist/index.js",
|
|
30
|
+
"types": "dist/index.d.ts",
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md"
|
|
34
|
+
],
|
|
35
|
+
"sideEffects": false,
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsc",
|
|
41
|
+
"clean": "rm -rf dist",
|
|
42
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
43
|
+
"test": "jest",
|
|
44
|
+
"lint": "eslint src/**/*.ts"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@proton/js": "^28.1.2"
|
|
48
|
+
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"@proton/web-sdk": "^4.4.0"
|
|
51
|
+
},
|
|
52
|
+
"peerDependenciesMeta": {
|
|
53
|
+
"@proton/web-sdk": {
|
|
54
|
+
"optional": true
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@proton/web-sdk": "^4.4.1",
|
|
59
|
+
"@types/jest": "^29.5.0",
|
|
60
|
+
"@types/node": "^20.0.0",
|
|
61
|
+
"jest": "^29.5.0",
|
|
62
|
+
"ts-jest": "^29.1.0",
|
|
63
|
+
"typescript": "^5.0.0"
|
|
64
|
+
}
|
|
65
|
+
}
|