@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/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { AgentRegistry } from './AgentRegistry';
|
|
2
|
+
export { FeedbackRegistry } from './FeedbackRegistry';
|
|
3
|
+
export { ValidationRegistry } from './ValidationRegistry';
|
|
4
|
+
export { EscrowRegistry } from './EscrowRegistry';
|
|
5
|
+
export type { Job, JobState, Milestone, MilestoneState, EscrowDispute, DisputeResolution, Arbitrator, CreateJobData, AddMilestoneData, JobListOptions, } from './EscrowRegistry';
|
|
6
|
+
export * from './types';
|
|
7
|
+
export { calculateTrustScore, getTrustRating, formatXpr, parseXpr, formatTimestamp, isValidAccountName, isValidUrl, getKycWeight, } from './utils';
|
|
8
|
+
export declare const CONTRACTS: {
|
|
9
|
+
readonly AGENT_CORE: "agentcore";
|
|
10
|
+
readonly AGENT_FEED: "agentfeed";
|
|
11
|
+
readonly AGENT_VALID: "agentvalid";
|
|
12
|
+
readonly AGENT_ESCROW: "agentescrow";
|
|
13
|
+
};
|
|
14
|
+
export declare const NETWORKS: {
|
|
15
|
+
readonly MAINNET: {
|
|
16
|
+
readonly rpc: "https://proton.eosusa.io";
|
|
17
|
+
readonly hyperion: "https://proton.eosusa.io";
|
|
18
|
+
readonly chainId: "384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0";
|
|
19
|
+
};
|
|
20
|
+
readonly TESTNET: {
|
|
21
|
+
readonly rpc: "https://tn1.protonnz.com";
|
|
22
|
+
readonly hyperion: "https://proton-testnet.eosusa.io";
|
|
23
|
+
readonly chainId: "71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd";
|
|
24
|
+
};
|
|
25
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NETWORKS = exports.CONTRACTS = exports.getKycWeight = exports.isValidUrl = exports.isValidAccountName = exports.formatTimestamp = exports.parseXpr = exports.formatXpr = exports.getTrustRating = exports.calculateTrustScore = exports.EscrowRegistry = exports.ValidationRegistry = exports.FeedbackRegistry = exports.AgentRegistry = void 0;
|
|
18
|
+
// Main SDK exports
|
|
19
|
+
var AgentRegistry_1 = require("./AgentRegistry");
|
|
20
|
+
Object.defineProperty(exports, "AgentRegistry", { enumerable: true, get: function () { return AgentRegistry_1.AgentRegistry; } });
|
|
21
|
+
var FeedbackRegistry_1 = require("./FeedbackRegistry");
|
|
22
|
+
Object.defineProperty(exports, "FeedbackRegistry", { enumerable: true, get: function () { return FeedbackRegistry_1.FeedbackRegistry; } });
|
|
23
|
+
var ValidationRegistry_1 = require("./ValidationRegistry");
|
|
24
|
+
Object.defineProperty(exports, "ValidationRegistry", { enumerable: true, get: function () { return ValidationRegistry_1.ValidationRegistry; } });
|
|
25
|
+
var EscrowRegistry_1 = require("./EscrowRegistry");
|
|
26
|
+
Object.defineProperty(exports, "EscrowRegistry", { enumerable: true, get: function () { return EscrowRegistry_1.EscrowRegistry; } });
|
|
27
|
+
// Type exports
|
|
28
|
+
__exportStar(require("./types"), exports);
|
|
29
|
+
// Utility exports
|
|
30
|
+
var utils_1 = require("./utils");
|
|
31
|
+
Object.defineProperty(exports, "calculateTrustScore", { enumerable: true, get: function () { return utils_1.calculateTrustScore; } });
|
|
32
|
+
Object.defineProperty(exports, "getTrustRating", { enumerable: true, get: function () { return utils_1.getTrustRating; } });
|
|
33
|
+
Object.defineProperty(exports, "formatXpr", { enumerable: true, get: function () { return utils_1.formatXpr; } });
|
|
34
|
+
Object.defineProperty(exports, "parseXpr", { enumerable: true, get: function () { return utils_1.parseXpr; } });
|
|
35
|
+
Object.defineProperty(exports, "formatTimestamp", { enumerable: true, get: function () { return utils_1.formatTimestamp; } });
|
|
36
|
+
Object.defineProperty(exports, "isValidAccountName", { enumerable: true, get: function () { return utils_1.isValidAccountName; } });
|
|
37
|
+
Object.defineProperty(exports, "isValidUrl", { enumerable: true, get: function () { return utils_1.isValidUrl; } });
|
|
38
|
+
Object.defineProperty(exports, "getKycWeight", { enumerable: true, get: function () { return utils_1.getKycWeight; } });
|
|
39
|
+
// Default contract names
|
|
40
|
+
exports.CONTRACTS = {
|
|
41
|
+
AGENT_CORE: 'agentcore',
|
|
42
|
+
AGENT_FEED: 'agentfeed',
|
|
43
|
+
AGENT_VALID: 'agentvalid',
|
|
44
|
+
AGENT_ESCROW: 'agentescrow',
|
|
45
|
+
};
|
|
46
|
+
// Network endpoints
|
|
47
|
+
exports.NETWORKS = {
|
|
48
|
+
MAINNET: {
|
|
49
|
+
rpc: 'https://proton.eosusa.io',
|
|
50
|
+
hyperion: 'https://proton.eosusa.io',
|
|
51
|
+
chainId: '384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0',
|
|
52
|
+
},
|
|
53
|
+
TESTNET: {
|
|
54
|
+
rpc: 'https://tn1.protonnz.com',
|
|
55
|
+
hyperion: 'https://proton-testnet.eosusa.io',
|
|
56
|
+
chainId: '71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd',
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQkFBbUI7QUFDbkIsaURBQWdEO0FBQXZDLDhHQUFBLGFBQWEsT0FBQTtBQUN0Qix1REFBc0Q7QUFBN0Msb0hBQUEsZ0JBQWdCLE9BQUE7QUFDekIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLG1EQUFrRDtBQUF6QyxnSEFBQSxjQUFjLE9BQUE7QUFnQnZCLGVBQWU7QUFDZiwwQ0FBd0I7QUFFeEIsa0JBQWtCO0FBQ2xCLGlDQVNpQjtBQVJmLDRHQUFBLG1CQUFtQixPQUFBO0FBQ25CLHVHQUFBLGNBQWMsT0FBQTtBQUNkLGtHQUFBLFNBQVMsT0FBQTtBQUNULGlHQUFBLFFBQVEsT0FBQTtBQUNSLHdHQUFBLGVBQWUsT0FBQTtBQUNmLDJHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLG1HQUFBLFVBQVUsT0FBQTtBQUNWLHFHQUFBLFlBQVksT0FBQTtBQUdkLHlCQUF5QjtBQUNaLFFBQUEsU0FBUyxHQUFHO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLFlBQVksRUFBRSxhQUFhO0NBQ25CLENBQUM7QUFFWCxvQkFBb0I7QUFDUCxRQUFBLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsMEJBQTBCO1FBQy9CLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsT0FBTyxFQUFFLGtFQUFrRTtLQUM1RTtJQUNELE9BQU8sRUFBRTtRQUNQLEdBQUcsRUFBRSwwQkFBMEI7UUFDL0IsUUFBUSxFQUFFLGtDQUFrQztRQUM1QyxPQUFPLEVBQUUsa0VBQWtFO0tBQzVFO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1haW4gU0RLIGV4cG9ydHNcbmV4cG9ydCB7IEFnZW50UmVnaXN0cnkgfSBmcm9tICcuL0FnZW50UmVnaXN0cnknO1xuZXhwb3J0IHsgRmVlZGJhY2tSZWdpc3RyeSB9IGZyb20gJy4vRmVlZGJhY2tSZWdpc3RyeSc7XG5leHBvcnQgeyBWYWxpZGF0aW9uUmVnaXN0cnkgfSBmcm9tICcuL1ZhbGlkYXRpb25SZWdpc3RyeSc7XG5leHBvcnQgeyBFc2Nyb3dSZWdpc3RyeSB9IGZyb20gJy4vRXNjcm93UmVnaXN0cnknO1xuXG4vLyBFc2Nyb3cgdHlwZXMgKGV4cG9ydGVkIHNlcGFyYXRlbHkgc2luY2UgdGhleSdyZSBkZWZpbmVkIGluIHRoZSByZWdpc3RyeSBmaWxlKVxuZXhwb3J0IHR5cGUge1xuICBKb2IsXG4gIEpvYlN0YXRlLFxuICBNaWxlc3RvbmUsXG4gIE1pbGVzdG9uZVN0YXRlLFxuICBFc2Nyb3dEaXNwdXRlLFxuICBEaXNwdXRlUmVzb2x1dGlvbixcbiAgQXJiaXRyYXRvcixcbiAgQ3JlYXRlSm9iRGF0YSxcbiAgQWRkTWlsZXN0b25lRGF0YSxcbiAgSm9iTGlzdE9wdGlvbnMsXG59IGZyb20gJy4vRXNjcm93UmVnaXN0cnknO1xuXG4vLyBUeXBlIGV4cG9ydHNcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuXG4vLyBVdGlsaXR5IGV4cG9ydHNcbmV4cG9ydCB7XG4gIGNhbGN1bGF0ZVRydXN0U2NvcmUsXG4gIGdldFRydXN0UmF0aW5nLFxuICBmb3JtYXRYcHIsXG4gIHBhcnNlWHByLFxuICBmb3JtYXRUaW1lc3RhbXAsXG4gIGlzVmFsaWRBY2NvdW50TmFtZSxcbiAgaXNWYWxpZFVybCxcbiAgZ2V0S3ljV2VpZ2h0LFxufSBmcm9tICcuL3V0aWxzJztcblxuLy8gRGVmYXVsdCBjb250cmFjdCBuYW1lc1xuZXhwb3J0IGNvbnN0IENPTlRSQUNUUyA9IHtcbiAgQUdFTlRfQ09SRTogJ2FnZW50Y29yZScsXG4gIEFHRU5UX0ZFRUQ6ICdhZ2VudGZlZWQnLFxuICBBR0VOVF9WQUxJRDogJ2FnZW50dmFsaWQnLFxuICBBR0VOVF9FU0NST1c6ICdhZ2VudGVzY3JvdycsXG59IGFzIGNvbnN0O1xuXG4vLyBOZXR3b3JrIGVuZHBvaW50c1xuZXhwb3J0IGNvbnN0IE5FVFdPUktTID0ge1xuICBNQUlOTkVUOiB7XG4gICAgcnBjOiAnaHR0cHM6Ly9wcm90b24uZW9zdXNhLmlvJyxcbiAgICBoeXBlcmlvbjogJ2h0dHBzOi8vcHJvdG9uLmVvc3VzYS5pbycsXG4gICAgY2hhaW5JZDogJzM4NGRhODg4MTEyMDI3ZjAzMjE4NTBhMTY5ZjczN2MzM2U1M2IzODhhYWQ0OGI1YWRhY2U0YmFiOTdmNDM3ZTAnLFxuICB9LFxuICBURVNUTkVUOiB7XG4gICAgcnBjOiAnaHR0cHM6Ly90bjEucHJvdG9ubnouY29tJyxcbiAgICBoeXBlcmlvbjogJ2h0dHBzOi8vcHJvdG9uLXRlc3RuZXQuZW9zdXNhLmlvJyxcbiAgICBjaGFpbklkOiAnNzFlZTgzYmNmNTIxNDJkNjEwMTlkOTVmOWNjNTQyN2JhNmEwZDdmZjhhY2NkOWUyMDg4YWUyYWJlYWYzZDNkZCcsXG4gIH0sXG59IGFzIGNvbnN0O1xuIl19
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
export interface Agent {
|
|
2
|
+
account: string;
|
|
3
|
+
owner: string | null;
|
|
4
|
+
pending_owner: string | null;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
endpoint: string;
|
|
8
|
+
protocol: string;
|
|
9
|
+
capabilities: string[];
|
|
10
|
+
total_jobs: number;
|
|
11
|
+
registered_at: number;
|
|
12
|
+
active: boolean;
|
|
13
|
+
claim_deposit: number;
|
|
14
|
+
deposit_payer: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentRaw {
|
|
17
|
+
account: string;
|
|
18
|
+
owner: string;
|
|
19
|
+
pending_owner: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
endpoint: string;
|
|
23
|
+
protocol: string;
|
|
24
|
+
capabilities: string;
|
|
25
|
+
total_jobs: string;
|
|
26
|
+
registered_at: string;
|
|
27
|
+
active: number;
|
|
28
|
+
claim_deposit: string;
|
|
29
|
+
deposit_payer: string;
|
|
30
|
+
}
|
|
31
|
+
export interface Plugin {
|
|
32
|
+
id: number;
|
|
33
|
+
name: string;
|
|
34
|
+
version: string;
|
|
35
|
+
contract: string;
|
|
36
|
+
action: string;
|
|
37
|
+
schema: object;
|
|
38
|
+
category: PluginCategory;
|
|
39
|
+
author: string;
|
|
40
|
+
verified: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface PluginRaw {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
version: string;
|
|
46
|
+
contract: string;
|
|
47
|
+
action: string;
|
|
48
|
+
schema: string;
|
|
49
|
+
category: string;
|
|
50
|
+
author: string;
|
|
51
|
+
verified: number;
|
|
52
|
+
}
|
|
53
|
+
export interface AgentPlugin {
|
|
54
|
+
id: number;
|
|
55
|
+
agent: string;
|
|
56
|
+
plugin_id: number;
|
|
57
|
+
config: object;
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface AgentPluginRaw {
|
|
61
|
+
id: string;
|
|
62
|
+
agent: string;
|
|
63
|
+
plugin_id: string;
|
|
64
|
+
config: string;
|
|
65
|
+
enabled: number;
|
|
66
|
+
}
|
|
67
|
+
export interface Unstake {
|
|
68
|
+
id: number;
|
|
69
|
+
validator: string;
|
|
70
|
+
amount: number;
|
|
71
|
+
request_time: number;
|
|
72
|
+
available_at: number;
|
|
73
|
+
}
|
|
74
|
+
export interface AgentCoreConfig {
|
|
75
|
+
owner: string;
|
|
76
|
+
min_stake: number;
|
|
77
|
+
registration_fee: number;
|
|
78
|
+
claim_fee: number;
|
|
79
|
+
feed_contract: string;
|
|
80
|
+
valid_contract: string;
|
|
81
|
+
escrow_contract: string;
|
|
82
|
+
paused: boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface FeedbackConfig {
|
|
85
|
+
owner: string;
|
|
86
|
+
core_contract: string;
|
|
87
|
+
min_score: number;
|
|
88
|
+
max_score: number;
|
|
89
|
+
dispute_window: number;
|
|
90
|
+
decay_period: number;
|
|
91
|
+
decay_floor: number;
|
|
92
|
+
paused: boolean;
|
|
93
|
+
feedback_fee: number;
|
|
94
|
+
}
|
|
95
|
+
export interface ValidationConfig {
|
|
96
|
+
owner: string;
|
|
97
|
+
core_contract: string;
|
|
98
|
+
min_stake: number;
|
|
99
|
+
challenge_stake: number;
|
|
100
|
+
unstake_delay: number;
|
|
101
|
+
challenge_window: number;
|
|
102
|
+
slash_percent: number;
|
|
103
|
+
dispute_period: number;
|
|
104
|
+
funded_challenge_timeout: number;
|
|
105
|
+
paused: boolean;
|
|
106
|
+
validation_fee: number;
|
|
107
|
+
}
|
|
108
|
+
export type PluginCategory = 'compute' | 'storage' | 'oracle' | 'payment' | 'messaging' | 'ai';
|
|
109
|
+
export interface Feedback {
|
|
110
|
+
id: number;
|
|
111
|
+
agent: string;
|
|
112
|
+
reviewer: string;
|
|
113
|
+
reviewer_kyc_level: number;
|
|
114
|
+
score: number;
|
|
115
|
+
tags: string[];
|
|
116
|
+
job_hash: string;
|
|
117
|
+
evidence_uri: string;
|
|
118
|
+
amount_paid: number;
|
|
119
|
+
timestamp: number;
|
|
120
|
+
disputed: boolean;
|
|
121
|
+
resolved: boolean;
|
|
122
|
+
}
|
|
123
|
+
export interface FeedbackRaw {
|
|
124
|
+
id: string;
|
|
125
|
+
agent: string;
|
|
126
|
+
reviewer: string;
|
|
127
|
+
reviewer_kyc_level: number;
|
|
128
|
+
score: number;
|
|
129
|
+
tags: string;
|
|
130
|
+
job_hash: string;
|
|
131
|
+
evidence_uri: string;
|
|
132
|
+
amount_paid: string;
|
|
133
|
+
timestamp: string;
|
|
134
|
+
disputed: number;
|
|
135
|
+
resolved: number;
|
|
136
|
+
}
|
|
137
|
+
export interface AgentScore {
|
|
138
|
+
agent: string;
|
|
139
|
+
total_score: number;
|
|
140
|
+
total_weight: number;
|
|
141
|
+
feedback_count: number;
|
|
142
|
+
avg_score: number;
|
|
143
|
+
last_updated: number;
|
|
144
|
+
}
|
|
145
|
+
export interface AgentScoreRaw {
|
|
146
|
+
agent: string;
|
|
147
|
+
total_score: string;
|
|
148
|
+
total_weight: string;
|
|
149
|
+
feedback_count: string;
|
|
150
|
+
avg_score: string;
|
|
151
|
+
last_updated: string;
|
|
152
|
+
}
|
|
153
|
+
export interface Dispute {
|
|
154
|
+
id: number;
|
|
155
|
+
feedback_id: number;
|
|
156
|
+
disputer: string;
|
|
157
|
+
reason: string;
|
|
158
|
+
evidence_uri: string;
|
|
159
|
+
status: DisputeStatus;
|
|
160
|
+
resolver: string;
|
|
161
|
+
resolution_notes: string;
|
|
162
|
+
created_at: number;
|
|
163
|
+
resolved_at: number;
|
|
164
|
+
}
|
|
165
|
+
export type DisputeStatus = 'pending' | 'upheld' | 'rejected' | 'cancelled';
|
|
166
|
+
export interface Validator {
|
|
167
|
+
account: string;
|
|
168
|
+
stake: number;
|
|
169
|
+
method: string;
|
|
170
|
+
specializations: string[];
|
|
171
|
+
total_validations: number;
|
|
172
|
+
incorrect_validations: number;
|
|
173
|
+
accuracy_score: number;
|
|
174
|
+
pending_challenges: number;
|
|
175
|
+
registered_at: number;
|
|
176
|
+
active: boolean;
|
|
177
|
+
}
|
|
178
|
+
export interface ValidatorRaw {
|
|
179
|
+
account: string;
|
|
180
|
+
stake: string;
|
|
181
|
+
method: string;
|
|
182
|
+
specializations: string;
|
|
183
|
+
total_validations: string;
|
|
184
|
+
incorrect_validations: string;
|
|
185
|
+
accuracy_score: string;
|
|
186
|
+
pending_challenges: string;
|
|
187
|
+
registered_at: string;
|
|
188
|
+
active: number;
|
|
189
|
+
}
|
|
190
|
+
export interface Validation {
|
|
191
|
+
id: number;
|
|
192
|
+
validator: string;
|
|
193
|
+
agent: string;
|
|
194
|
+
job_hash: string;
|
|
195
|
+
result: ValidationResult;
|
|
196
|
+
confidence: number;
|
|
197
|
+
evidence_uri: string;
|
|
198
|
+
challenged: boolean;
|
|
199
|
+
timestamp: number;
|
|
200
|
+
}
|
|
201
|
+
export interface ValidationRaw {
|
|
202
|
+
id: string;
|
|
203
|
+
validator: string;
|
|
204
|
+
agent: string;
|
|
205
|
+
job_hash: string;
|
|
206
|
+
result: number;
|
|
207
|
+
confidence: number;
|
|
208
|
+
evidence_uri: string;
|
|
209
|
+
challenged: number;
|
|
210
|
+
timestamp: string;
|
|
211
|
+
}
|
|
212
|
+
export type ValidationResult = 'fail' | 'pass' | 'partial';
|
|
213
|
+
export interface Challenge {
|
|
214
|
+
id: number;
|
|
215
|
+
validation_id: number;
|
|
216
|
+
challenger: string;
|
|
217
|
+
reason: string;
|
|
218
|
+
evidence_uri: string;
|
|
219
|
+
stake: number;
|
|
220
|
+
status: DisputeStatus;
|
|
221
|
+
resolver: string;
|
|
222
|
+
resolution_notes: string;
|
|
223
|
+
created_at: number;
|
|
224
|
+
resolved_at: number;
|
|
225
|
+
funding_deadline: number;
|
|
226
|
+
funded_at: number;
|
|
227
|
+
}
|
|
228
|
+
export interface TrustScore {
|
|
229
|
+
agent: string;
|
|
230
|
+
total: number;
|
|
231
|
+
breakdown: TrustScoreBreakdown;
|
|
232
|
+
rating: TrustRating;
|
|
233
|
+
}
|
|
234
|
+
export interface TrustScoreBreakdown {
|
|
235
|
+
kyc: number;
|
|
236
|
+
stake: number;
|
|
237
|
+
reputation: number;
|
|
238
|
+
longevity: number;
|
|
239
|
+
}
|
|
240
|
+
export type TrustRating = 'untrusted' | 'low' | 'medium' | 'high' | 'verified';
|
|
241
|
+
export interface PaginatedResult<T> {
|
|
242
|
+
items: T[];
|
|
243
|
+
hasMore: boolean;
|
|
244
|
+
nextCursor?: string;
|
|
245
|
+
total?: number;
|
|
246
|
+
}
|
|
247
|
+
export interface PaginationOptions {
|
|
248
|
+
limit?: number;
|
|
249
|
+
cursor?: string;
|
|
250
|
+
}
|
|
251
|
+
export interface ListOptions extends PaginationOptions {
|
|
252
|
+
active_only?: boolean;
|
|
253
|
+
}
|
|
254
|
+
export interface AgentListOptions extends ListOptions {
|
|
255
|
+
category?: PluginCategory;
|
|
256
|
+
min_trust_score?: number;
|
|
257
|
+
}
|
|
258
|
+
export interface FeedbackListOptions extends ListOptions {
|
|
259
|
+
agent?: string;
|
|
260
|
+
reviewer?: string;
|
|
261
|
+
min_score?: number;
|
|
262
|
+
max_score?: number;
|
|
263
|
+
}
|
|
264
|
+
export interface ValidatorListOptions extends ListOptions {
|
|
265
|
+
min_stake?: number;
|
|
266
|
+
min_accuracy?: number;
|
|
267
|
+
specialization?: string;
|
|
268
|
+
}
|
|
269
|
+
export interface TransactionResult {
|
|
270
|
+
transaction_id: string;
|
|
271
|
+
processed: {
|
|
272
|
+
block_num: number;
|
|
273
|
+
block_time: string;
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
export interface RegisterAgentData {
|
|
277
|
+
name: string;
|
|
278
|
+
description: string;
|
|
279
|
+
endpoint: string;
|
|
280
|
+
protocol: string;
|
|
281
|
+
capabilities: string[];
|
|
282
|
+
}
|
|
283
|
+
export interface UpdateAgentData {
|
|
284
|
+
name?: string;
|
|
285
|
+
description?: string;
|
|
286
|
+
endpoint?: string;
|
|
287
|
+
protocol?: string;
|
|
288
|
+
capabilities?: string[];
|
|
289
|
+
}
|
|
290
|
+
export interface SubmitFeedbackData {
|
|
291
|
+
agent: string;
|
|
292
|
+
score: number;
|
|
293
|
+
tags?: string[];
|
|
294
|
+
job_hash?: string;
|
|
295
|
+
evidence_uri?: string;
|
|
296
|
+
amount_paid?: number;
|
|
297
|
+
}
|
|
298
|
+
export interface SubmitValidationData {
|
|
299
|
+
agent: string;
|
|
300
|
+
job_hash: string;
|
|
301
|
+
result: ValidationResult;
|
|
302
|
+
confidence: number;
|
|
303
|
+
evidence_uri?: string;
|
|
304
|
+
}
|
|
305
|
+
export interface ProtonSession {
|
|
306
|
+
auth: {
|
|
307
|
+
actor: string;
|
|
308
|
+
permission: string;
|
|
309
|
+
};
|
|
310
|
+
link: {
|
|
311
|
+
transact: (args: TransactArgs) => Promise<TransactionResult>;
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
export interface TransactArgs {
|
|
315
|
+
actions: TransactAction[];
|
|
316
|
+
}
|
|
317
|
+
export interface TransactAction {
|
|
318
|
+
account: string;
|
|
319
|
+
name: string;
|
|
320
|
+
authorization: Array<{
|
|
321
|
+
actor: string;
|
|
322
|
+
permission: string;
|
|
323
|
+
}>;
|
|
324
|
+
data: Record<string, unknown>;
|
|
325
|
+
}
|
|
326
|
+
export interface JsonRpc {
|
|
327
|
+
get_table_rows<T>(params: GetTableRowsParams): Promise<GetTableRowsResult<T>>;
|
|
328
|
+
}
|
|
329
|
+
export interface GetTableRowsParams {
|
|
330
|
+
json: boolean;
|
|
331
|
+
code: string;
|
|
332
|
+
scope: string;
|
|
333
|
+
table: string;
|
|
334
|
+
lower_bound?: string;
|
|
335
|
+
upper_bound?: string;
|
|
336
|
+
limit?: number;
|
|
337
|
+
key_type?: string;
|
|
338
|
+
index_position?: number;
|
|
339
|
+
reverse?: boolean;
|
|
340
|
+
}
|
|
341
|
+
export interface GetTableRowsResult<T> {
|
|
342
|
+
rows: T[];
|
|
343
|
+
more: boolean;
|
|
344
|
+
next_key?: string;
|
|
345
|
+
}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============== Agent Types ==============
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09IEFnZW50IFR5cGVzID09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnQge1xuICBhY2NvdW50OiBzdHJpbmc7XG4gIG93bmVyOiBzdHJpbmcgfCBudWxsOyAgICAgICAgICAgLy8gS1lDJ2QgaHVtYW4gd2hvIHNwb25zb3JzIHRoaXMgYWdlbnQgKG51bGwgaWYgdW5vd25lZClcbiAgcGVuZGluZ19vd25lcjogc3RyaW5nIHwgbnVsbDsgICAvLyBBcHByb3ZlZCBjbGFpbWFudCBhd2FpdGluZyBjb21wbGV0aW9uICgyLXN0ZXAgY2xhaW0pXG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgcHJvdG9jb2w6IHN0cmluZztcbiAgY2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcbiAgdG90YWxfam9iczogbnVtYmVyO1xuICByZWdpc3RlcmVkX2F0OiBudW1iZXI7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgY2xhaW1fZGVwb3NpdDogbnVtYmVyOyAgICAgICAgICAvLyBSZWZ1bmRhYmxlIGRlcG9zaXQgcGFpZCB3aGVuIGNsYWltaW5nXG4gIGRlcG9zaXRfcGF5ZXI6IHN0cmluZyB8IG51bGw7ICAgLy8gV2hvIHBhaWQgdGhlIGRlcG9zaXQgKG11c3QgbWF0Y2ggY2xhaW1hbnQpXG4gIC8vIE5vdGU6IEFnZW50cyBzdGFrZSB2aWEgc3lzdGVtIHN0YWtpbmcgKGVvc2lvOjp2b3RlcnMpLCBub3QgY29udHJhY3QtbWFuYWdlZCBzdGFraW5nXG4gIC8vIFVzZSBnZXRTeXN0ZW1TdGFrZSgpIGZyb20gYWdlbnRjb3JlOjpnZXRhZ2VudGluZm8gdG8gcXVlcnkgc3Rha2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZ2VudFJhdyB7XG4gIGFjY291bnQ6IHN0cmluZztcbiAgb3duZXI6IHN0cmluZztcbiAgcGVuZGluZ19vd25lcjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIHByb3RvY29sOiBzdHJpbmc7XG4gIGNhcGFiaWxpdGllczogc3RyaW5nO1xuICB0b3RhbF9qb2JzOiBzdHJpbmc7XG4gIHJlZ2lzdGVyZWRfYXQ6IHN0cmluZztcbiAgYWN0aXZlOiBudW1iZXI7XG4gIGNsYWltX2RlcG9zaXQ6IHN0cmluZztcbiAgZGVwb3NpdF9wYXllcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbiB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjb250cmFjdDogc3RyaW5nO1xuICBhY3Rpb246IHN0cmluZztcbiAgc2NoZW1hOiBvYmplY3Q7XG4gIGNhdGVnb3J5OiBQbHVnaW5DYXRlZ29yeTtcbiAgYXV0aG9yOiBzdHJpbmc7XG4gIHZlcmlmaWVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpblJhdyB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBjb250cmFjdDogc3RyaW5nO1xuICBhY3Rpb246IHN0cmluZztcbiAgc2NoZW1hOiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGF1dGhvcjogc3RyaW5nO1xuICB2ZXJpZmllZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50UGx1Z2luIHtcbiAgaWQ6IG51bWJlcjtcbiAgYWdlbnQ6IHN0cmluZztcbiAgcGx1Z2luX2lkOiBudW1iZXI7XG4gIGNvbmZpZzogb2JqZWN0O1xuICBlbmFibGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50UGx1Z2luUmF3IHtcbiAgaWQ6IHN0cmluZztcbiAgYWdlbnQ6IHN0cmluZztcbiAgcGx1Z2luX2lkOiBzdHJpbmc7XG4gIGNvbmZpZzogc3RyaW5nO1xuICBlbmFibGVkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zdGFrZSB7XG4gIGlkOiBudW1iZXI7XG4gIHZhbGlkYXRvcjogc3RyaW5nOyAgLy8gSElHSCBGSVg6IENoYW5nZWQgZnJvbSAnYWdlbnQnIHRvIG1hdGNoIGFnZW50dmFsaWQ6OnVuc3Rha2VzIHRhYmxlXG4gIGFtb3VudDogbnVtYmVyO1xuICByZXF1ZXN0X3RpbWU6IG51bWJlcjtcbiAgYXZhaWxhYmxlX2F0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRDb3JlQ29uZmlnIHtcbiAgb3duZXI6IHN0cmluZztcbiAgbWluX3N0YWtlOiBudW1iZXI7XG4gIHJlZ2lzdHJhdGlvbl9mZWU6IG51bWJlcjtcbiAgY2xhaW1fZmVlOiBudW1iZXI7ICAgICAgICAgICAgICAvLyBGZWUgdG8gY2xhaW0gYW4gYWdlbnQgKHJlZnVuZGFibGUgb24gcmVsZWFzZSlcbiAgZmVlZF9jb250cmFjdDogc3RyaW5nO1xuICB2YWxpZF9jb250cmFjdDogc3RyaW5nO1xuICBlc2Nyb3dfY29udHJhY3Q6IHN0cmluZztcbiAgcGF1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrQ29uZmlnIHtcbiAgb3duZXI6IHN0cmluZztcbiAgY29yZV9jb250cmFjdDogc3RyaW5nO1xuICBtaW5fc2NvcmU6IG51bWJlcjtcbiAgbWF4X3Njb3JlOiBudW1iZXI7XG4gIGRpc3B1dGVfd2luZG93OiBudW1iZXI7XG4gIGRlY2F5X3BlcmlvZDogbnVtYmVyO1xuICBkZWNheV9mbG9vcjogbnVtYmVyO1xuICBwYXVzZWQ6IGJvb2xlYW47XG4gIGZlZWRiYWNrX2ZlZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25Db25maWcge1xuICBvd25lcjogc3RyaW5nO1xuICBjb3JlX2NvbnRyYWN0OiBzdHJpbmc7XG4gIG1pbl9zdGFrZTogbnVtYmVyO1xuICBjaGFsbGVuZ2Vfc3Rha2U6IG51bWJlcjtcbiAgdW5zdGFrZV9kZWxheTogbnVtYmVyO1xuICBjaGFsbGVuZ2Vfd2luZG93OiBudW1iZXI7XG4gIHNsYXNoX3BlcmNlbnQ6IG51bWJlcjtcbiAgZGlzcHV0ZV9wZXJpb2Q6IG51bWJlcjtcbiAgZnVuZGVkX2NoYWxsZW5nZV90aW1lb3V0OiBudW1iZXI7XG4gIHBhdXNlZDogYm9vbGVhbjtcbiAgdmFsaWRhdGlvbl9mZWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgUGx1Z2luQ2F0ZWdvcnkgPSAnY29tcHV0ZScgfCAnc3RvcmFnZScgfCAnb3JhY2xlJyB8ICdwYXltZW50JyB8ICdtZXNzYWdpbmcnIHwgJ2FpJztcblxuLy8gPT09PT09PT09PT09PT0gRmVlZGJhY2sgVHlwZXMgPT09PT09PT09PT09PT1cblxuZXhwb3J0IGludGVyZmFjZSBGZWVkYmFjayB7XG4gIGlkOiBudW1iZXI7XG4gIGFnZW50OiBzdHJpbmc7XG4gIHJldmlld2VyOiBzdHJpbmc7XG4gIHJldmlld2VyX2t5Y19sZXZlbDogbnVtYmVyO1xuICBzY29yZTogbnVtYmVyO1xuICB0YWdzOiBzdHJpbmdbXTtcbiAgam9iX2hhc2g6IHN0cmluZztcbiAgZXZpZGVuY2VfdXJpOiBzdHJpbmc7XG4gIGFtb3VudF9wYWlkOiBudW1iZXI7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICBkaXNwdXRlZDogYm9vbGVhbjtcbiAgcmVzb2x2ZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZGJhY2tSYXcge1xuICBpZDogc3RyaW5nO1xuICBhZ2VudDogc3RyaW5nO1xuICByZXZpZXdlcjogc3RyaW5nO1xuICByZXZpZXdlcl9reWNfbGV2ZWw6IG51bWJlcjtcbiAgc2NvcmU6IG51bWJlcjtcbiAgdGFnczogc3RyaW5nO1xuICBqb2JfaGFzaDogc3RyaW5nO1xuICBldmlkZW5jZV91cmk6IHN0cmluZztcbiAgYW1vdW50X3BhaWQ6IHN0cmluZztcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIGRpc3B1dGVkOiBudW1iZXI7XG4gIHJlc29sdmVkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRTY29yZSB7XG4gIGFnZW50OiBzdHJpbmc7XG4gIHRvdGFsX3Njb3JlOiBudW1iZXI7XG4gIHRvdGFsX3dlaWdodDogbnVtYmVyO1xuICBmZWVkYmFja19jb3VudDogbnVtYmVyO1xuICBhdmdfc2NvcmU6IG51bWJlcjtcbiAgbGFzdF91cGRhdGVkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRTY29yZVJhdyB7XG4gIGFnZW50OiBzdHJpbmc7XG4gIHRvdGFsX3Njb3JlOiBzdHJpbmc7XG4gIHRvdGFsX3dlaWdodDogc3RyaW5nO1xuICBmZWVkYmFja19jb3VudDogc3RyaW5nO1xuICBhdmdfc2NvcmU6IHN0cmluZztcbiAgbGFzdF91cGRhdGVkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcHV0ZSB7XG4gIGlkOiBudW1iZXI7XG4gIGZlZWRiYWNrX2lkOiBudW1iZXI7XG4gIGRpc3B1dGVyOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBldmlkZW5jZV91cmk6IHN0cmluZztcbiAgc3RhdHVzOiBEaXNwdXRlU3RhdHVzO1xuICByZXNvbHZlcjogc3RyaW5nO1xuICByZXNvbHV0aW9uX25vdGVzOiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ6IG51bWJlcjtcbiAgcmVzb2x2ZWRfYXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRGlzcHV0ZVN0YXR1cyA9ICdwZW5kaW5nJyB8ICd1cGhlbGQnIHwgJ3JlamVjdGVkJyB8ICdjYW5jZWxsZWQnO1xuXG4vLyA9PT09PT09PT09PT09PSBWYWxpZGF0aW9uIFR5cGVzID09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdG9yIHtcbiAgYWNjb3VudDogc3RyaW5nO1xuICBzdGFrZTogbnVtYmVyO1xuICBtZXRob2Q6IHN0cmluZztcbiAgc3BlY2lhbGl6YXRpb25zOiBzdHJpbmdbXTtcbiAgdG90YWxfdmFsaWRhdGlvbnM6IG51bWJlcjtcbiAgaW5jb3JyZWN0X3ZhbGlkYXRpb25zOiBudW1iZXI7XG4gIGFjY3VyYWN5X3Njb3JlOiBudW1iZXI7XG4gIHBlbmRpbmdfY2hhbGxlbmdlczogbnVtYmVyO1xuICByZWdpc3RlcmVkX2F0OiBudW1iZXI7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JSYXcge1xuICBhY2NvdW50OiBzdHJpbmc7XG4gIHN0YWtlOiBzdHJpbmc7XG4gIG1ldGhvZDogc3RyaW5nO1xuICBzcGVjaWFsaXphdGlvbnM6IHN0cmluZztcbiAgdG90YWxfdmFsaWRhdGlvbnM6IHN0cmluZztcbiAgaW5jb3JyZWN0X3ZhbGlkYXRpb25zOiBzdHJpbmc7XG4gIGFjY3VyYWN5X3Njb3JlOiBzdHJpbmc7XG4gIHBlbmRpbmdfY2hhbGxlbmdlczogc3RyaW5nO1xuICByZWdpc3RlcmVkX2F0OiBzdHJpbmc7XG4gIGFjdGl2ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xuICBpZDogbnVtYmVyO1xuICB2YWxpZGF0b3I6IHN0cmluZztcbiAgYWdlbnQ6IHN0cmluZztcbiAgam9iX2hhc2g6IHN0cmluZztcbiAgcmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0O1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIGV2aWRlbmNlX3VyaTogc3RyaW5nO1xuICBjaGFsbGVuZ2VkOiBib29sZWFuO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uUmF3IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsaWRhdG9yOiBzdHJpbmc7XG4gIGFnZW50OiBzdHJpbmc7XG4gIGpvYl9oYXNoOiBzdHJpbmc7XG4gIHJlc3VsdDogbnVtYmVyO1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIGV2aWRlbmNlX3VyaTogc3RyaW5nO1xuICBjaGFsbGVuZ2VkOiBudW1iZXI7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uUmVzdWx0ID0gJ2ZhaWwnIHwgJ3Bhc3MnIHwgJ3BhcnRpYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYWxsZW5nZSB7XG4gIGlkOiBudW1iZXI7XG4gIHZhbGlkYXRpb25faWQ6IG51bWJlcjtcbiAgY2hhbGxlbmdlcjogc3RyaW5nO1xuICByZWFzb246IHN0cmluZztcbiAgZXZpZGVuY2VfdXJpOiBzdHJpbmc7XG4gIHN0YWtlOiBudW1iZXI7XG4gIHN0YXR1czogRGlzcHV0ZVN0YXR1cztcbiAgcmVzb2x2ZXI6IHN0cmluZztcbiAgcmVzb2x1dGlvbl9ub3Rlczogc3RyaW5nO1xuICBjcmVhdGVkX2F0OiBudW1iZXI7XG4gIHJlc29sdmVkX2F0OiBudW1iZXI7XG4gIGZ1bmRpbmdfZGVhZGxpbmU6IG51bWJlcjtcbiAgZnVuZGVkX2F0OiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09IFRydXN0IFNjb3JlIFR5cGVzID09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJ1c3RTY29yZSB7XG4gIGFnZW50OiBzdHJpbmc7XG4gIHRvdGFsOiBudW1iZXI7XG4gIGJyZWFrZG93bjogVHJ1c3RTY29yZUJyZWFrZG93bjtcbiAgcmF0aW5nOiBUcnVzdFJhdGluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcnVzdFNjb3JlQnJlYWtkb3duIHtcbiAga3ljOiBudW1iZXI7XG4gIHN0YWtlOiBudW1iZXI7XG4gIHJlcHV0YXRpb246IG51bWJlcjtcbiAgbG9uZ2V2aXR5OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFRydXN0UmF0aW5nID0gJ3VudHJ1c3RlZCcgfCAnbG93JyB8ICdtZWRpdW0nIHwgJ2hpZ2gnIHwgJ3ZlcmlmaWVkJztcblxuLy8gPT09PT09PT09PT09PT0gUGFnaW5hdGlvbiBUeXBlcyA9PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlZFJlc3VsdDxUPiB7XG4gIGl0ZW1zOiBUW107XG4gIGhhc01vcmU6IGJvb2xlYW47XG4gIG5leHRDdXJzb3I/OiBzdHJpbmc7XG4gIHRvdGFsPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25PcHRpb25zIHtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIGN1cnNvcj86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT0gTGlzdCBPcHRpb25zID09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE9wdGlvbnMgZXh0ZW5kcyBQYWdpbmF0aW9uT3B0aW9ucyB7XG4gIGFjdGl2ZV9vbmx5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZ2VudExpc3RPcHRpb25zIGV4dGVuZHMgTGlzdE9wdGlvbnMge1xuICBjYXRlZ29yeT86IFBsdWdpbkNhdGVnb3J5O1xuICBtaW5fdHJ1c3Rfc2NvcmU/OiBudW1iZXI7XG4gIC8vIE5vdGU6IEFnZW50cyB1c2Ugc3lzdGVtIHN0YWtpbmcsIG5vdCBjb250cmFjdC1tYW5hZ2VkIHN0YWtpbmdcbiAgLy8gRmlsdGVyIGJ5IHN5c3RlbSBzdGFrZSB2aWEgc2VwYXJhdGUgcXVlcnkgdG8gZW9zaW86OnZvdGVycyB0YWJsZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrTGlzdE9wdGlvbnMgZXh0ZW5kcyBMaXN0T3B0aW9ucyB7XG4gIGFnZW50Pzogc3RyaW5nO1xuICByZXZpZXdlcj86IHN0cmluZztcbiAgbWluX3Njb3JlPzogbnVtYmVyO1xuICBtYXhfc2NvcmU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdG9yTGlzdE9wdGlvbnMgZXh0ZW5kcyBMaXN0T3B0aW9ucyB7XG4gIG1pbl9zdGFrZT86IG51bWJlcjtcbiAgbWluX2FjY3VyYWN5PzogbnVtYmVyO1xuICBzcGVjaWFsaXphdGlvbj86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT0gVHJhbnNhY3Rpb24gVHlwZXMgPT09PT09PT09PT09PT1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblJlc3VsdCB7XG4gIHRyYW5zYWN0aW9uX2lkOiBzdHJpbmc7XG4gIHByb2Nlc3NlZDoge1xuICAgIGJsb2NrX251bTogbnVtYmVyO1xuICAgIGJsb2NrX3RpbWU6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckFnZW50RGF0YSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgcHJvdG9jb2w6IHN0cmluZztcbiAgY2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVBZ2VudERhdGEge1xuICBuYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIHByb3RvY29sPzogc3RyaW5nO1xuICBjYXBhYmlsaXRpZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJtaXRGZWVkYmFja0RhdGEge1xuICBhZ2VudDogc3RyaW5nO1xuICBzY29yZTogbnVtYmVyO1xuICB0YWdzPzogc3RyaW5nW107XG4gIGpvYl9oYXNoPzogc3RyaW5nO1xuICBldmlkZW5jZV91cmk/OiBzdHJpbmc7XG4gIGFtb3VudF9wYWlkPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Ym1pdFZhbGlkYXRpb25EYXRhIHtcbiAgYWdlbnQ6IHN0cmluZztcbiAgam9iX2hhc2g6IHN0cmluZztcbiAgcmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0O1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIGV2aWRlbmNlX3VyaT86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT0gU2Vzc2lvbiBUeXBlcyA9PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3RvblNlc3Npb24ge1xuICBhdXRoOiB7XG4gICAgYWN0b3I6IHN0cmluZztcbiAgICBwZXJtaXNzaW9uOiBzdHJpbmc7XG4gIH07XG4gIGxpbms6IHtcbiAgICB0cmFuc2FjdDogKGFyZ3M6IFRyYW5zYWN0QXJncykgPT4gUHJvbWlzZTxUcmFuc2FjdGlvblJlc3VsdD47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3RBcmdzIHtcbiAgYWN0aW9uczogVHJhbnNhY3RBY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdEFjdGlvbiB7XG4gIGFjY291bnQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBhdXRob3JpemF0aW9uOiBBcnJheTx7XG4gICAgYWN0b3I6IHN0cmluZztcbiAgICBwZXJtaXNzaW9uOiBzdHJpbmc7XG4gIH0+O1xuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLy8gPT09PT09PT09PT09PT0gUlBDIFR5cGVzID09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNvblJwYyB7XG4gIGdldF90YWJsZV9yb3dzPFQ+KHBhcmFtczogR2V0VGFibGVSb3dzUGFyYW1zKTogUHJvbWlzZTxHZXRUYWJsZVJvd3NSZXN1bHQ8VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFRhYmxlUm93c1BhcmFtcyB7XG4gIGpzb246IGJvb2xlYW47XG4gIGNvZGU6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgdGFibGU6IHN0cmluZztcbiAgbG93ZXJfYm91bmQ/OiBzdHJpbmc7XG4gIHVwcGVyX2JvdW5kPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAga2V5X3R5cGU/OiBzdHJpbmc7XG4gIGluZGV4X3Bvc2l0aW9uPzogbnVtYmVyO1xuICByZXZlcnNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRUYWJsZVJvd3NSZXN1bHQ8VD4ge1xuICByb3dzOiBUW107XG4gIG1vcmU6IGJvb2xlYW47XG4gIG5leHRfa2V5Pzogc3RyaW5nO1xufVxuIl19
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Agent, AgentScore, TrustScore, TrustRating, ValidationResult, DisputeStatus } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Calculate trust score for an agent
|
|
4
|
+
* Combines KYC level, stake, reputation, and longevity
|
|
5
|
+
* @param agent - Agent data
|
|
6
|
+
* @param agentScore - Aggregated score from feedback
|
|
7
|
+
* @param kycLevel - KYC verification level (0-4)
|
|
8
|
+
* @param stakeAmount - Staked XPR in smallest units (optional, fetched from system staking)
|
|
9
|
+
*/
|
|
10
|
+
export declare function calculateTrustScore(agent: Agent, agentScore: AgentScore | null, kycLevel: number, stakeAmount?: number): TrustScore;
|
|
11
|
+
/**
|
|
12
|
+
* Get trust rating label from numeric score
|
|
13
|
+
*/
|
|
14
|
+
export declare function getTrustRating(score: number): TrustRating;
|
|
15
|
+
/**
|
|
16
|
+
* Convert validation result number to string
|
|
17
|
+
*/
|
|
18
|
+
export declare function validationResultFromNumber(result: number): ValidationResult;
|
|
19
|
+
/**
|
|
20
|
+
* Convert validation result string to number
|
|
21
|
+
*/
|
|
22
|
+
export declare function validationResultToNumber(result: ValidationResult): number;
|
|
23
|
+
/**
|
|
24
|
+
* Convert dispute status number to string
|
|
25
|
+
*/
|
|
26
|
+
export declare function disputeStatusFromNumber(status: number): DisputeStatus;
|
|
27
|
+
/**
|
|
28
|
+
* Parse JSON safely with fallback
|
|
29
|
+
*/
|
|
30
|
+
export declare function safeJsonParse<T>(json: string, fallback: T): T;
|
|
31
|
+
/**
|
|
32
|
+
* Parse capabilities string to array
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseCapabilities(capabilities: string): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Parse specializations string to array
|
|
37
|
+
*/
|
|
38
|
+
export declare function parseSpecializations(specializations: string): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Parse tags string to array (comma-separated)
|
|
41
|
+
*/
|
|
42
|
+
export declare function parseTags(tags: string): string[];
|
|
43
|
+
/**
|
|
44
|
+
* Format XPR amount from smallest unit
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatXpr(amount: number): string;
|
|
47
|
+
/**
|
|
48
|
+
* Parse XPR amount string to smallest unit (integer math to avoid float precision issues)
|
|
49
|
+
* "100.5000 XPR" → 1005000, "0.7000 XPR" → 7000
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseXpr(amount: string): number;
|
|
52
|
+
/**
|
|
53
|
+
* Safe parseInt with fallback - returns fallback on NaN
|
|
54
|
+
*/
|
|
55
|
+
export declare function safeParseInt(value: string | undefined | null, fallback?: number): number;
|
|
56
|
+
/**
|
|
57
|
+
* Format timestamp to ISO string
|
|
58
|
+
*/
|
|
59
|
+
export declare function formatTimestamp(timestamp: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* Calculate weighted average score
|
|
62
|
+
*/
|
|
63
|
+
export declare function calculateWeightedAverage(scores: Array<{
|
|
64
|
+
score: number;
|
|
65
|
+
weight: number;
|
|
66
|
+
}>): number;
|
|
67
|
+
/**
|
|
68
|
+
* Validate XPR account name
|
|
69
|
+
* Must be 1-12 characters, a-z, 1-5, and .
|
|
70
|
+
*/
|
|
71
|
+
export declare function isValidAccountName(name: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Validate URL format
|
|
74
|
+
*/
|
|
75
|
+
export declare function isValidUrl(url: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Get KYC level weight for feedback scoring
|
|
78
|
+
*/
|
|
79
|
+
export declare function getKycWeight(kycLevel: number): number;
|