@moltos/sdk 0.5.0 → 0.5.2
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/dist/index.d.ts +12 -144
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -243
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +32 -0
- package/dist/lib/api.d.ts.map +1 -0
- package/dist/lib/api.js +80 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/arbitra.d.ts +302 -0
- package/dist/lib/arbitra.d.ts.map +1 -0
- package/dist/lib/arbitra.js +486 -0
- package/dist/lib/arbitra.js.map +1 -0
- package/dist/lib/clawfs.d.ts +277 -0
- package/dist/lib/clawfs.d.ts.map +1 -0
- package/dist/lib/clawfs.js +628 -0
- package/dist/lib/clawfs.js.map +1 -0
- package/dist/lib/clawid.d.ts +189 -0
- package/dist/lib/clawid.d.ts.map +1 -0
- package/dist/lib/clawid.js +455 -0
- package/dist/lib/clawid.js.map +1 -0
- package/dist/lib/config.d.ts +23 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +29 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/tap.d.ts +208 -0
- package/dist/lib/tap.d.ts.map +1 -0
- package/dist/lib/tap.js +549 -0
- package/dist/lib/tap.js.map +1 -0
- package/package.json +6 -8
- package/README.md +0 -67
- package/dist/arbitra.d.ts +0 -3
- package/dist/arbitra.d.ts.map +0 -1
- package/dist/arbitra.js +0 -198
- package/dist/arbitra.js.map +0 -1
- package/dist/attack-sim.d.ts +0 -3
- package/dist/attack-sim.d.ts.map +0 -1
- package/dist/attack-sim.js +0 -101
- package/dist/attack-sim.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -379
- package/dist/cli.js.map +0 -1
- package/dist/protocols/arbitra/voting.d.ts +0 -43
- package/dist/protocols/arbitra/voting.d.ts.map +0 -1
- package/dist/protocols/arbitra/voting.js +0 -42
- package/dist/protocols/arbitra/voting.js.map +0 -1
- package/dist/protocols/clawforge/control-plane.d.ts +0 -4
- package/dist/protocols/clawforge/control-plane.d.ts.map +0 -1
- package/dist/protocols/clawforge/control-plane.js +0 -11
- package/dist/protocols/clawforge/control-plane.js.map +0 -1
- package/dist/protocols/clawid/clawid-token.d.ts +0 -9
- package/dist/protocols/clawid/clawid-token.d.ts.map +0 -1
- package/dist/protocols/clawid/clawid-token.js +0 -20
- package/dist/protocols/clawid/clawid-token.js.map +0 -1
- package/dist/protocols/clawkernel/kernel.d.ts +0 -4
- package/dist/protocols/clawkernel/kernel.d.ts.map +0 -1
- package/dist/protocols/clawkernel/kernel.js +0 -11
- package/dist/protocols/clawkernel/kernel.js.map +0 -1
- package/dist/protocols/clawlink/handoff.d.ts +0 -64
- package/dist/protocols/clawlink/handoff.d.ts.map +0 -1
- package/dist/protocols/clawlink/handoff.js +0 -31
- package/dist/protocols/clawlink/handoff.js.map +0 -1
- package/dist/types.d.ts +0 -65
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -27
- package/dist/types.js.map +0 -1
- package/dist/vm.d.ts +0 -3
- package/dist/vm.d.ts.map +0 -1
- package/dist/vm.js +0 -173
- package/dist/vm.js.map +0 -1
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arbitra - Dispute Resolution Module for MoltOS SDK
|
|
3
|
+
*
|
|
4
|
+
* Architecture:
|
|
5
|
+
* - 5/7 committee voting
|
|
6
|
+
* - Evidence-only voting
|
|
7
|
+
* - 2× reputation slashing for violations
|
|
8
|
+
* - Resolution in <15 minutes
|
|
9
|
+
* - Auto-dispute on ClawLink hash mismatch
|
|
10
|
+
*/
|
|
11
|
+
/** Evidence type for dispute submissions */
|
|
12
|
+
export interface Evidence {
|
|
13
|
+
/** Unique identifier for the evidence */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Evidence data (base64 or JSON string) */
|
|
16
|
+
data: string;
|
|
17
|
+
/** SHA-256 hash of the evidence for integrity verification */
|
|
18
|
+
hash: string;
|
|
19
|
+
/** Timestamp when evidence was submitted */
|
|
20
|
+
timestamp: number;
|
|
21
|
+
/** Agent ID who submitted the evidence */
|
|
22
|
+
submitter: string;
|
|
23
|
+
/** Evidence metadata */
|
|
24
|
+
metadata?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
/** Vote cast by a committee member */
|
|
27
|
+
export interface Vote {
|
|
28
|
+
/** Vote ID */
|
|
29
|
+
id: string;
|
|
30
|
+
/** Dispute ID this vote belongs to */
|
|
31
|
+
disputeId: string;
|
|
32
|
+
/** Committee member who cast the vote */
|
|
33
|
+
voter: string;
|
|
34
|
+
/** Vote decision: true = in favor, false = against */
|
|
35
|
+
decision: boolean;
|
|
36
|
+
/** Evidence hash this vote is based on */
|
|
37
|
+
evidenceHash: string;
|
|
38
|
+
/** Timestamp of vote */
|
|
39
|
+
timestamp: number;
|
|
40
|
+
/** Digital signature of the vote */
|
|
41
|
+
signature: string;
|
|
42
|
+
}
|
|
43
|
+
/** Dispute status */
|
|
44
|
+
export type DisputeStatus = 'pending' | 'voting' | 'resolved' | 'rejected';
|
|
45
|
+
/** Dispute record */
|
|
46
|
+
export interface Dispute {
|
|
47
|
+
/** Unique dispute ID */
|
|
48
|
+
id: string;
|
|
49
|
+
/** Dispute title/description */
|
|
50
|
+
description: string;
|
|
51
|
+
/** Agent who filed the dispute */
|
|
52
|
+
plaintiff: string;
|
|
53
|
+
/** Agent being disputed */
|
|
54
|
+
defendant: string;
|
|
55
|
+
/** Current status of the dispute */
|
|
56
|
+
status: DisputeStatus;
|
|
57
|
+
/** Evidence submitted for the dispute */
|
|
58
|
+
evidence: Evidence[];
|
|
59
|
+
/** Committee assigned to the dispute */
|
|
60
|
+
committee: string[];
|
|
61
|
+
/** Votes cast by committee members */
|
|
62
|
+
votes: Vote[];
|
|
63
|
+
/** Dispute creation timestamp */
|
|
64
|
+
createdAt: number;
|
|
65
|
+
/** Dispute resolution timestamp (null if not resolved) */
|
|
66
|
+
resolvedAt: number | null;
|
|
67
|
+
/** Resolution outcome (null if not resolved) */
|
|
68
|
+
resolution: Resolution | null;
|
|
69
|
+
/** ClawLink hash for auto-dispute detection */
|
|
70
|
+
clawLinkHash: string;
|
|
71
|
+
/** Associated transaction or contract ID */
|
|
72
|
+
relatedId?: string;
|
|
73
|
+
}
|
|
74
|
+
/** Resolution outcome of a dispute */
|
|
75
|
+
export interface Resolution {
|
|
76
|
+
/** Resolution ID */
|
|
77
|
+
id: string;
|
|
78
|
+
/** Dispute ID */
|
|
79
|
+
disputeId: string;
|
|
80
|
+
/** Final decision: true = plaintiff wins, false = defendant wins */
|
|
81
|
+
decision: boolean;
|
|
82
|
+
/** Committee members who voted in favor */
|
|
83
|
+
forVotes: string[];
|
|
84
|
+
/** Committee members who voted against */
|
|
85
|
+
againstVotes: string[];
|
|
86
|
+
/** Required votes for majority (5/7) */
|
|
87
|
+
requiredVotes: number;
|
|
88
|
+
/** Timestamp of resolution */
|
|
89
|
+
resolvedAt: number;
|
|
90
|
+
/** Reputation penalties applied */
|
|
91
|
+
penalties: ReputationPenalty[];
|
|
92
|
+
}
|
|
93
|
+
/** Reputation penalty record */
|
|
94
|
+
export interface ReputationPenalty {
|
|
95
|
+
/** Agent ID who received penalty */
|
|
96
|
+
agentId: string;
|
|
97
|
+
/** Amount of reputation slashed (2× for violations) */
|
|
98
|
+
amount: number;
|
|
99
|
+
/** Reason for penalty */
|
|
100
|
+
reason: string;
|
|
101
|
+
/** Timestamp of penalty */
|
|
102
|
+
timestamp: number;
|
|
103
|
+
}
|
|
104
|
+
/** Agent reputation data */
|
|
105
|
+
export interface AgentReputation {
|
|
106
|
+
/** Agent ID */
|
|
107
|
+
agentId: string;
|
|
108
|
+
/** Current reputation score (0-10000) */
|
|
109
|
+
score: number;
|
|
110
|
+
/** Total disputes participated in */
|
|
111
|
+
totalDisputes: number;
|
|
112
|
+
/** Successful dispute resolutions */
|
|
113
|
+
successfulDisputes: number;
|
|
114
|
+
/** Violation count (affects slashing multiplier) */
|
|
115
|
+
violations: number;
|
|
116
|
+
/** Last activity timestamp */
|
|
117
|
+
lastActive: number;
|
|
118
|
+
}
|
|
119
|
+
/** Configuration for ArbitraClient */
|
|
120
|
+
export interface ArbitraConfig {
|
|
121
|
+
/** Base URL for the Arbitra service */
|
|
122
|
+
baseUrl: string;
|
|
123
|
+
/** API key for authentication */
|
|
124
|
+
apiKey: string;
|
|
125
|
+
/** Agent ID of this client */
|
|
126
|
+
agentId: string;
|
|
127
|
+
/** Default committee size (default: 7) */
|
|
128
|
+
committeeSize?: number;
|
|
129
|
+
/** Required majority threshold (default: 5) */
|
|
130
|
+
majorityThreshold?: number;
|
|
131
|
+
/** Resolution timeout in milliseconds (default: 15 minutes) */
|
|
132
|
+
resolutionTimeoutMs?: number;
|
|
133
|
+
/** Reputation slashing multiplier for violations (default: 2) */
|
|
134
|
+
slashMultiplier?: number;
|
|
135
|
+
}
|
|
136
|
+
/** Result of filing a dispute */
|
|
137
|
+
export interface FileDisputeResult {
|
|
138
|
+
/** Created dispute */
|
|
139
|
+
dispute: Dispute;
|
|
140
|
+
/** Assigned committee members */
|
|
141
|
+
committee: string[];
|
|
142
|
+
/** Estimated resolution time */
|
|
143
|
+
estimatedResolutionTime: number;
|
|
144
|
+
}
|
|
145
|
+
/** Result of casting a vote */
|
|
146
|
+
export interface VoteResult {
|
|
147
|
+
/** Cast vote */
|
|
148
|
+
vote: Vote;
|
|
149
|
+
/** Current vote count */
|
|
150
|
+
currentVotes: number;
|
|
151
|
+
/** Required votes for resolution */
|
|
152
|
+
requiredVotes: number;
|
|
153
|
+
/** Whether the dispute is now resolved */
|
|
154
|
+
isResolved: boolean;
|
|
155
|
+
}
|
|
156
|
+
/** Arbitra-specific errors */
|
|
157
|
+
export declare class ArbitraError extends Error {
|
|
158
|
+
code: string;
|
|
159
|
+
constructor(message: string, code: string);
|
|
160
|
+
}
|
|
161
|
+
/** Timeout error for resolution */
|
|
162
|
+
export declare class ResolutionTimeoutError extends ArbitraError {
|
|
163
|
+
constructor(disputeId: string);
|
|
164
|
+
}
|
|
165
|
+
/** Invalid evidence error */
|
|
166
|
+
export declare class InvalidEvidenceError extends ArbitraError {
|
|
167
|
+
constructor(message: string);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* ArbitraClient - Dispute Resolution Client for MoltOS SDK
|
|
171
|
+
*
|
|
172
|
+
* Handles dispute filing, committee voting, resolution calculation,
|
|
173
|
+
* reputation slashing, and automatic disputes on ClawLink hash mismatches.
|
|
174
|
+
*/
|
|
175
|
+
export declare class ArbitraClient {
|
|
176
|
+
private config;
|
|
177
|
+
private disputes;
|
|
178
|
+
private reputations;
|
|
179
|
+
private votes;
|
|
180
|
+
private hashDisputes;
|
|
181
|
+
private disputeCounter;
|
|
182
|
+
private voteCounter;
|
|
183
|
+
constructor(config: ArbitraConfig);
|
|
184
|
+
/**
|
|
185
|
+
* File a new dispute with evidence
|
|
186
|
+
*
|
|
187
|
+
* @param params - Dispute parameters
|
|
188
|
+
* @returns Filed dispute result with assigned committee
|
|
189
|
+
*/
|
|
190
|
+
fileDispute(params: {
|
|
191
|
+
description: string;
|
|
192
|
+
plaintiff: string;
|
|
193
|
+
defendant: string;
|
|
194
|
+
evidence: Omit<Evidence, 'id' | 'hash' | 'timestamp'>[];
|
|
195
|
+
clawLinkHash: string;
|
|
196
|
+
relatedId?: string;
|
|
197
|
+
}): Promise<FileDisputeResult>;
|
|
198
|
+
/**
|
|
199
|
+
* Cast a vote on a dispute (committee members only)
|
|
200
|
+
*
|
|
201
|
+
* Implements evidence-only voting - votes must reference specific evidence.
|
|
202
|
+
*
|
|
203
|
+
* @param params - Vote parameters
|
|
204
|
+
* @returns Vote result with current status
|
|
205
|
+
*/
|
|
206
|
+
vote(params: {
|
|
207
|
+
disputeId: string;
|
|
208
|
+
voter: string;
|
|
209
|
+
decision: boolean;
|
|
210
|
+
evidenceHash: string;
|
|
211
|
+
signature: string;
|
|
212
|
+
}): Promise<VoteResult>;
|
|
213
|
+
/**
|
|
214
|
+
* Resolve a dispute by calculating majority decision
|
|
215
|
+
*
|
|
216
|
+
* Requires 5/7 committee votes for resolution.
|
|
217
|
+
*
|
|
218
|
+
* @param disputeId - ID of dispute to resolve
|
|
219
|
+
* @returns Resolution outcome
|
|
220
|
+
*/
|
|
221
|
+
resolve(disputeId: string): Promise<Resolution>;
|
|
222
|
+
/**
|
|
223
|
+
* Apply reputation slashing to an agent
|
|
224
|
+
*
|
|
225
|
+
* 2× multiplier applies if agent has previous violations.
|
|
226
|
+
*
|
|
227
|
+
* @param agentId - Agent to slash
|
|
228
|
+
* @param amount - Base amount to slash
|
|
229
|
+
* @param reason - Reason for slashing
|
|
230
|
+
* @returns Applied penalty
|
|
231
|
+
*/
|
|
232
|
+
slash(agentId: string, amount: number, reason: string): Promise<ReputationPenalty>;
|
|
233
|
+
/**
|
|
234
|
+
* Get committee of randomly selected high-reputation agents
|
|
235
|
+
*
|
|
236
|
+
* Selects 7 agents with highest reputation, excluding specified agents.
|
|
237
|
+
*
|
|
238
|
+
* @param size - Committee size (default: 7)
|
|
239
|
+
* @param exclude - Agents to exclude (e.g., plaintiff/defendant)
|
|
240
|
+
* @returns Array of agent IDs
|
|
241
|
+
*/
|
|
242
|
+
getCommittee(size?: number, exclude?: string[]): string[];
|
|
243
|
+
/**
|
|
244
|
+
* Check for ClawLink hash mismatch and auto-file dispute
|
|
245
|
+
*
|
|
246
|
+
* @param clawLinkHash - Hash to verify
|
|
247
|
+
* @param expectedHash - Expected hash value
|
|
248
|
+
* @param context - Context for the dispute
|
|
249
|
+
* @returns Auto-filed dispute or null if no mismatch
|
|
250
|
+
*/
|
|
251
|
+
checkAndAutoDispute(clawLinkHash: string, expectedHash: string, context: {
|
|
252
|
+
description: string;
|
|
253
|
+
plaintiff: string;
|
|
254
|
+
defendant: string;
|
|
255
|
+
evidence: Omit<Evidence, 'id' | 'hash' | 'timestamp'>[];
|
|
256
|
+
relatedId?: string;
|
|
257
|
+
}): Promise<FileDisputeResult | null>;
|
|
258
|
+
/**
|
|
259
|
+
* Register a ClawLink hash for monitoring
|
|
260
|
+
*
|
|
261
|
+
* @param hash - Hash to monitor
|
|
262
|
+
* @param disputeId - Associated dispute ID
|
|
263
|
+
*/
|
|
264
|
+
registerClawLinkHash(hash: string, disputeId: string): void;
|
|
265
|
+
/**
|
|
266
|
+
* Get dispute ID for a ClawLink hash
|
|
267
|
+
*
|
|
268
|
+
* @param hash - ClawLink hash
|
|
269
|
+
* @returns Dispute ID or undefined
|
|
270
|
+
*/
|
|
271
|
+
getDisputeByHash(hash: string): string | undefined;
|
|
272
|
+
/**
|
|
273
|
+
* Get dispute by ID
|
|
274
|
+
*/
|
|
275
|
+
getDispute(disputeId: string): Dispute | undefined;
|
|
276
|
+
/**
|
|
277
|
+
* Get all disputes
|
|
278
|
+
*/
|
|
279
|
+
getAllDisputes(): Dispute[];
|
|
280
|
+
/**
|
|
281
|
+
* Get disputes by status
|
|
282
|
+
*/
|
|
283
|
+
getDisputesByStatus(status: DisputeStatus): Dispute[];
|
|
284
|
+
/**
|
|
285
|
+
* Get agent reputation
|
|
286
|
+
*/
|
|
287
|
+
getReputation(agentId: string): AgentReputation | undefined;
|
|
288
|
+
/**
|
|
289
|
+
* Get vote by ID
|
|
290
|
+
*/
|
|
291
|
+
getVote(voteId: string): Vote | undefined;
|
|
292
|
+
private generateDisputeId;
|
|
293
|
+
private generateVoteId;
|
|
294
|
+
private calculateHash;
|
|
295
|
+
private canResolve;
|
|
296
|
+
private scheduleResolutionTimeout;
|
|
297
|
+
private getOrCreateReputation;
|
|
298
|
+
private calculateSlashAmount;
|
|
299
|
+
private updateReputation;
|
|
300
|
+
}
|
|
301
|
+
export default ArbitraClient;
|
|
302
|
+
//# sourceMappingURL=arbitra.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arbitra.d.ts","sourceRoot":"","sources":["../../src/lib/arbitra.ts"],"names":[],"mappings":"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"}
|