@tjamescouch/agentchat 0.23.5 → 0.23.7

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.
Files changed (43) hide show
  1. package/README.md +2 -0
  2. package/dist/lib/client.d.ts +4 -0
  3. package/dist/lib/client.d.ts.map +1 -1
  4. package/dist/lib/client.js +12 -0
  5. package/dist/lib/client.js.map +1 -1
  6. package/dist/lib/disputes.d.ts +201 -0
  7. package/dist/lib/disputes.d.ts.map +1 -0
  8. package/dist/lib/disputes.js +504 -0
  9. package/dist/lib/disputes.js.map +1 -0
  10. package/dist/lib/protocol.d.ts +35 -0
  11. package/dist/lib/protocol.d.ts.map +1 -1
  12. package/dist/lib/protocol.js +121 -0
  13. package/dist/lib/protocol.js.map +1 -1
  14. package/dist/lib/server/handlers/disputes.d.ts +42 -0
  15. package/dist/lib/server/handlers/disputes.d.ts.map +1 -0
  16. package/dist/lib/server/handlers/disputes.js +492 -0
  17. package/dist/lib/server/handlers/disputes.js.map +1 -0
  18. package/dist/lib/server/handlers/identity.d.ts.map +1 -1
  19. package/dist/lib/server/handlers/identity.js +4 -2
  20. package/dist/lib/server/handlers/identity.js.map +1 -1
  21. package/dist/lib/server/handlers/index.d.ts +1 -0
  22. package/dist/lib/server/handlers/index.d.ts.map +1 -1
  23. package/dist/lib/server/handlers/index.js +2 -0
  24. package/dist/lib/server/handlers/index.js.map +1 -1
  25. package/dist/lib/server/handlers/message.d.ts.map +1 -1
  26. package/dist/lib/server/handlers/message.js +8 -3
  27. package/dist/lib/server/handlers/message.js.map +1 -1
  28. package/dist/lib/server/handlers/nick.d.ts +19 -0
  29. package/dist/lib/server/handlers/nick.d.ts.map +1 -0
  30. package/dist/lib/server/handlers/nick.js +52 -0
  31. package/dist/lib/server/handlers/nick.js.map +1 -0
  32. package/dist/lib/server/handlers/skills.d.ts.map +1 -1
  33. package/dist/lib/server/handlers/skills.js +1 -0
  34. package/dist/lib/server/handlers/skills.js.map +1 -1
  35. package/dist/lib/server.d.ts +6 -0
  36. package/dist/lib/server.d.ts.map +1 -1
  37. package/dist/lib/server.js +43 -2
  38. package/dist/lib/server.js.map +1 -1
  39. package/dist/lib/types.d.ts +75 -5
  40. package/dist/lib/types.d.ts.map +1 -1
  41. package/dist/lib/types.js +18 -0
  42. package/dist/lib/types.js.map +1 -1
  43. package/package.json +2 -2
@@ -0,0 +1,504 @@
1
+ /**
2
+ * AgentChat Disputes Module (Agentcourt)
3
+ * Panel-based arbitration for dispute resolution.
4
+ *
5
+ * Lifecycle: DISPUTE_INTENT → DISPUTE_REVEAL → PANEL_SELECTION →
6
+ * EVIDENCE_PERIOD → DELIBERATION → VERDICT
7
+ */
8
+ import crypto from 'crypto';
9
+ // ============ Constants ============
10
+ export const DISPUTE_CONSTANTS = {
11
+ PANEL_SIZE: 3,
12
+ ARBITER_STAKE: 25,
13
+ ARBITER_REWARD: 5,
14
+ ARBITER_MIN_RATING: 1200,
15
+ ARBITER_MIN_TRANSACTIONS: 10,
16
+ ARBITER_INDEPENDENCE_DAYS: 30,
17
+ ARBITER_MIN_ACCOUNT_AGE_DAYS: 7,
18
+ FILING_FEE: 10,
19
+ EVIDENCE_PERIOD_MS: 3600000, // 1 hour
20
+ ARBITER_RESPONSE_TIMEOUT_MS: 1800000, // 30 minutes
21
+ VOTE_PERIOD_MS: 3600000, // 1 hour
22
+ MAX_DISPUTE_DURATION_MS: 14400000, // 4 hours
23
+ MAX_EVIDENCE_ITEMS: 10,
24
+ MAX_STATEMENT_CHARS: 2000,
25
+ MAX_REASONING_CHARS: 500,
26
+ MAX_REPLACEMENT_ROUNDS: 2,
27
+ REVEAL_TIMEOUT_MS: 600000, // 10 minutes
28
+ };
29
+ // ============ Per-dispute Mutex ============
30
+ /**
31
+ * Serializes async operations on a single dispute to prevent interleaving.
32
+ * Uses a promise-chain pattern: each operation awaits the previous one before running.
33
+ */
34
+ class DisputeMutex {
35
+ chains = new Map();
36
+ async withLock(disputeId, fn) {
37
+ const prev = this.chains.get(disputeId) ?? Promise.resolve();
38
+ let resolve;
39
+ const next = new Promise(r => { resolve = r; });
40
+ this.chains.set(disputeId, next);
41
+ try {
42
+ await prev;
43
+ return await fn();
44
+ }
45
+ finally {
46
+ resolve();
47
+ if (this.chains.get(disputeId) === next) {
48
+ this.chains.delete(disputeId);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ // ============ DisputeStore Class ============
54
+ export class DisputeStore {
55
+ disputes = new Map();
56
+ byProposal = new Map(); // proposal_id -> dispute_id
57
+ byAgent = new Map(); // agent_id -> Set<dispute_id>
58
+ timeoutHandlers = new Map();
59
+ mutex = new DisputeMutex();
60
+ /**
61
+ * File a dispute intent (phase 1 of commit-reveal)
62
+ */
63
+ fileIntent(proposalId, disputantId, respondentId, reason, commitment) {
64
+ const id = generateDisputeId();
65
+ const serverNonce = crypto.randomBytes(16).toString('hex');
66
+ const dispute = {
67
+ id,
68
+ proposal_id: proposalId,
69
+ disputant: disputantId,
70
+ respondent: respondentId,
71
+ reason,
72
+ phase: 'reveal_pending',
73
+ commitment,
74
+ server_nonce: serverNonce,
75
+ arbiters: [],
76
+ replacement_rounds: 0,
77
+ votes: [],
78
+ created_at: Date.now(),
79
+ updated_at: Date.now(),
80
+ filing_fee_escrowed: true,
81
+ };
82
+ this.disputes.set(id, dispute);
83
+ this.byProposal.set(proposalId, id);
84
+ this._indexAgent(disputantId, id);
85
+ this._indexAgent(respondentId, id);
86
+ return dispute;
87
+ }
88
+ /**
89
+ * Reveal the nonce (phase 2 of commit-reveal)
90
+ * Returns null if commitment doesn't match.
91
+ */
92
+ reveal(disputeId, nonce) {
93
+ const dispute = this.disputes.get(disputeId);
94
+ if (!dispute || dispute.phase !== 'reveal_pending')
95
+ return null;
96
+ // Verify commitment
97
+ const hash = crypto.createHash('sha256').update(nonce).digest('hex');
98
+ if (hash !== dispute.commitment)
99
+ return null;
100
+ dispute.nonce = nonce;
101
+ dispute.phase = 'panel_selection';
102
+ dispute.revealed_at = Date.now();
103
+ dispute.seed = crypto.createHash('sha256')
104
+ .update(dispute.proposal_id + nonce + dispute.server_nonce)
105
+ .digest('hex');
106
+ dispute.updated_at = Date.now();
107
+ return dispute;
108
+ }
109
+ /**
110
+ * Select arbiters from the eligible pool using seeded PRNG.
111
+ * Returns the selected agent IDs.
112
+ */
113
+ selectPanel(disputeId, eligiblePool) {
114
+ const dispute = this.disputes.get(disputeId);
115
+ if (!dispute || dispute.phase !== 'panel_selection' || !dispute.seed)
116
+ return null;
117
+ if (eligiblePool.length < DISPUTE_CONSTANTS.PANEL_SIZE) {
118
+ // Not enough arbiters — fallback to legacy
119
+ dispute.phase = 'fallback';
120
+ dispute.updated_at = Date.now();
121
+ return null;
122
+ }
123
+ // Seeded selection using the seed
124
+ const selected = seededShuffle(eligiblePool, dispute.seed)
125
+ .slice(0, DISPUTE_CONSTANTS.PANEL_SIZE);
126
+ dispute.arbiters = selected.map(id => ({
127
+ agent_id: id,
128
+ status: 'pending',
129
+ }));
130
+ dispute.phase = 'arbiter_response';
131
+ dispute.panel_formed_at = Date.now();
132
+ dispute.updated_at = Date.now();
133
+ // Index arbiters
134
+ for (const id of selected) {
135
+ this._indexAgent(id, disputeId);
136
+ }
137
+ return selected;
138
+ }
139
+ /**
140
+ * Arbiter accepts their panel appointment
141
+ */
142
+ arbiterAccept(disputeId, arbiterId) {
143
+ const dispute = this.disputes.get(disputeId);
144
+ if (!dispute || dispute.phase !== 'arbiter_response')
145
+ return false;
146
+ const slot = dispute.arbiters.find(a => a.agent_id === arbiterId && a.status === 'pending');
147
+ if (!slot)
148
+ return false;
149
+ slot.status = 'accepted';
150
+ slot.accepted_at = Date.now();
151
+ dispute.updated_at = Date.now();
152
+ // Check if all arbiters have accepted → move to evidence phase
153
+ if (dispute.arbiters.every(a => a.status === 'accepted')) {
154
+ dispute.phase = 'evidence';
155
+ dispute.evidence_deadline = Date.now() + DISPUTE_CONSTANTS.EVIDENCE_PERIOD_MS;
156
+ dispute.updated_at = Date.now();
157
+ }
158
+ return true;
159
+ }
160
+ /**
161
+ * Arbiter declines — forfeit stake, trigger replacement
162
+ */
163
+ arbiterDecline(disputeId, arbiterId, replacementPool) {
164
+ const dispute = this.disputes.get(disputeId);
165
+ if (!dispute || dispute.phase !== 'arbiter_response')
166
+ return null;
167
+ const slot = dispute.arbiters.find(a => a.agent_id === arbiterId && a.status === 'pending');
168
+ if (!slot)
169
+ return null;
170
+ slot.status = 'declined';
171
+ dispute.replacement_rounds++;
172
+ dispute.updated_at = Date.now();
173
+ if (dispute.replacement_rounds > DISPUTE_CONSTANTS.MAX_REPLACEMENT_ROUNDS) {
174
+ dispute.phase = 'fallback';
175
+ dispute.updated_at = Date.now();
176
+ return null;
177
+ }
178
+ // Find a replacement from pool (exclude current/past arbiters and parties)
179
+ const excluded = new Set([
180
+ dispute.disputant,
181
+ dispute.respondent,
182
+ ...dispute.arbiters.map(a => a.agent_id),
183
+ ]);
184
+ const candidates = replacementPool.filter(id => !excluded.has(id));
185
+ if (candidates.length === 0) {
186
+ dispute.phase = 'fallback';
187
+ dispute.updated_at = Date.now();
188
+ return null;
189
+ }
190
+ // Pick first available (deterministic from remaining pool)
191
+ const replacement = candidates[0];
192
+ slot.status = 'replaced';
193
+ dispute.arbiters.push({
194
+ agent_id: replacement,
195
+ status: 'pending',
196
+ });
197
+ this._indexAgent(replacement, disputeId);
198
+ return replacement;
199
+ }
200
+ /**
201
+ * Submit evidence for a dispute
202
+ */
203
+ submitEvidence(disputeId, agentId, items, statement, sig) {
204
+ const dispute = this.disputes.get(disputeId);
205
+ if (!dispute || dispute.phase !== 'evidence')
206
+ return false;
207
+ // Check deadline
208
+ if (dispute.evidence_deadline && Date.now() > dispute.evidence_deadline)
209
+ return false;
210
+ // Reject duplicate submission from same party
211
+ if (agentId === dispute.disputant && dispute.disputant_evidence)
212
+ return false;
213
+ if (agentId === dispute.respondent && dispute.respondent_evidence)
214
+ return false;
215
+ // Validate limits
216
+ if (items.length > DISPUTE_CONSTANTS.MAX_EVIDENCE_ITEMS)
217
+ return false;
218
+ if (statement.length > DISPUTE_CONSTANTS.MAX_STATEMENT_CHARS)
219
+ return false;
220
+ // Hash each item for integrity (sorted keys for deterministic hashing)
221
+ const hashedItems = items.map(item => ({
222
+ ...item,
223
+ hash: crypto.createHash('sha256').update(JSON.stringify(item, Object.keys(item).sort())).digest('hex'),
224
+ }));
225
+ const evidence = { items: hashedItems, statement, sig };
226
+ if (agentId === dispute.disputant) {
227
+ dispute.disputant_evidence = evidence;
228
+ }
229
+ else if (agentId === dispute.respondent) {
230
+ dispute.respondent_evidence = evidence;
231
+ }
232
+ else {
233
+ return false;
234
+ }
235
+ dispute.updated_at = Date.now();
236
+ return true;
237
+ }
238
+ /**
239
+ * Close evidence period and move to deliberation
240
+ */
241
+ closeEvidence(disputeId) {
242
+ const dispute = this.disputes.get(disputeId);
243
+ if (!dispute || dispute.phase !== 'evidence')
244
+ return false;
245
+ dispute.phase = 'deliberation';
246
+ dispute.vote_deadline = Date.now() + DISPUTE_CONSTANTS.VOTE_PERIOD_MS;
247
+ dispute.updated_at = Date.now();
248
+ return true;
249
+ }
250
+ /**
251
+ * Arbiter casts a vote
252
+ */
253
+ castVote(disputeId, arbiterId, verdict, reasoning, sig) {
254
+ const dispute = this.disputes.get(disputeId);
255
+ if (!dispute || dispute.phase !== 'deliberation')
256
+ return false;
257
+ // Check deadline
258
+ if (dispute.vote_deadline && Date.now() > dispute.vote_deadline)
259
+ return false;
260
+ // Validate reasoning length
261
+ if (reasoning.length > DISPUTE_CONSTANTS.MAX_REASONING_CHARS)
262
+ return false;
263
+ // Must be an accepted arbiter
264
+ const slot = dispute.arbiters.find(a => a.agent_id === arbiterId && a.status === 'accepted');
265
+ if (!slot)
266
+ return false;
267
+ const vote = {
268
+ arbiter: arbiterId,
269
+ verdict,
270
+ reasoning,
271
+ sig,
272
+ voted_at: Date.now(),
273
+ };
274
+ slot.vote = vote;
275
+ slot.status = 'voted';
276
+ dispute.votes.push(vote);
277
+ dispute.updated_at = Date.now();
278
+ // Check if all accepted arbiters have voted
279
+ const acceptedArbiters = dispute.arbiters.filter(a => a.status === 'accepted' || a.status === 'voted');
280
+ const allVoted = acceptedArbiters.every(a => a.status === 'voted');
281
+ if (allVoted) {
282
+ this._resolveVerdict(dispute);
283
+ }
284
+ return true;
285
+ }
286
+ /**
287
+ * Force-resolve a dispute after vote deadline
288
+ * (some arbiters may not have voted — they forfeit)
289
+ */
290
+ forceResolve(disputeId) {
291
+ const dispute = this.disputes.get(disputeId);
292
+ if (!dispute || dispute.phase !== 'deliberation')
293
+ return null;
294
+ // Mark non-voters as forfeited
295
+ for (const slot of dispute.arbiters) {
296
+ if (slot.status === 'accepted') {
297
+ slot.status = 'forfeited';
298
+ }
299
+ }
300
+ this._resolveVerdict(dispute);
301
+ return dispute;
302
+ }
303
+ /**
304
+ * Get a dispute by ID
305
+ */
306
+ get(id) {
307
+ return this.disputes.get(id) || null;
308
+ }
309
+ /**
310
+ * Get dispute by proposal ID
311
+ */
312
+ getByProposal(proposalId) {
313
+ const disputeId = this.byProposal.get(proposalId);
314
+ if (!disputeId)
315
+ return null;
316
+ return this.get(disputeId);
317
+ }
318
+ /**
319
+ * List disputes involving an agent
320
+ */
321
+ listByAgent(agentId) {
322
+ const ids = this.byAgent.get(agentId) || new Set();
323
+ return Array.from(ids)
324
+ .map(id => this.get(id))
325
+ .filter((d) => d !== null)
326
+ .sort((a, b) => b.created_at - a.created_at);
327
+ }
328
+ /**
329
+ * Clear a timeout handler
330
+ */
331
+ clearTimeout(disputeId) {
332
+ const handler = this.timeoutHandlers.get(disputeId);
333
+ if (handler) {
334
+ globalThis.clearTimeout(handler);
335
+ this.timeoutHandlers.delete(disputeId);
336
+ }
337
+ }
338
+ /**
339
+ * Set a timeout handler for a dispute phase
340
+ */
341
+ setTimeout(disputeId, ms, callback) {
342
+ this.clearTimeout(disputeId);
343
+ const handler = globalThis.setTimeout(callback, ms);
344
+ this.timeoutHandlers.set(disputeId, handler);
345
+ }
346
+ /**
347
+ * Cleanup all timeouts
348
+ */
349
+ close() {
350
+ for (const handler of this.timeoutHandlers.values()) {
351
+ globalThis.clearTimeout(handler);
352
+ }
353
+ this.timeoutHandlers.clear();
354
+ }
355
+ /**
356
+ * Acquire a per-dispute lock for async operations.
357
+ * Serializes concurrent reveal/decline/panel-selection sequences
358
+ * that span await boundaries (e.g. buildArbiterPool).
359
+ */
360
+ withLock(disputeId, fn) {
361
+ return this.mutex.withLock(disputeId, fn);
362
+ }
363
+ // ============ Private ============
364
+ _resolveVerdict(dispute) {
365
+ const votes = dispute.votes;
366
+ if (votes.length === 0) {
367
+ dispute.verdict = 'mutual';
368
+ }
369
+ else {
370
+ // Count votes
371
+ const counts = { disputant: 0, respondent: 0, mutual: 0 };
372
+ for (const v of votes) {
373
+ counts[v.verdict]++;
374
+ }
375
+ // Majority wins
376
+ if (counts.disputant >= 2) {
377
+ dispute.verdict = 'disputant';
378
+ }
379
+ else if (counts.respondent >= 2) {
380
+ dispute.verdict = 'respondent';
381
+ }
382
+ else {
383
+ // No majority (all different, or 2-voter tie) → mutual
384
+ dispute.verdict = 'mutual';
385
+ }
386
+ }
387
+ dispute.phase = 'resolved';
388
+ dispute.resolved_at = Date.now();
389
+ dispute.updated_at = Date.now();
390
+ }
391
+ _indexAgent(agentId, disputeId) {
392
+ if (!this.byAgent.has(agentId)) {
393
+ this.byAgent.set(agentId, new Set());
394
+ }
395
+ this.byAgent.get(agentId).add(disputeId);
396
+ }
397
+ }
398
+ // ============ Helpers ============
399
+ /**
400
+ * Generate a unique dispute ID
401
+ */
402
+ export function generateDisputeId() {
403
+ const timestamp = Date.now().toString(36);
404
+ const random = crypto.randomBytes(4).toString('hex');
405
+ return `disp_${timestamp}_${random}`;
406
+ }
407
+ /**
408
+ * Seeded shuffle using SHA256 chain for deterministic random selection
409
+ */
410
+ function seededShuffle(arr, seed) {
411
+ const result = [...arr];
412
+ let currentSeed = seed;
413
+ for (let i = result.length - 1; i > 0; i--) {
414
+ currentSeed = crypto.createHash('sha256').update(currentSeed).digest('hex');
415
+ const j = parseInt(currentSeed.substring(0, 8), 16) % (i + 1);
416
+ [result[i], result[j]] = [result[j], result[i]];
417
+ }
418
+ return result;
419
+ }
420
+ /**
421
+ * Signing content generators for dispute messages
422
+ */
423
+ export function getDisputeIntentSigningContent(proposalId, reason, commitment) {
424
+ return `DISPUTE_INTENT|${proposalId}|${reason}|${commitment}`;
425
+ }
426
+ export function getDisputeRevealSigningContent(proposalId, nonce) {
427
+ return `DISPUTE_REVEAL|${proposalId}|${nonce}`;
428
+ }
429
+ export function getEvidenceSigningContent(disputeId, itemsJson) {
430
+ const hash = crypto.createHash('sha256').update(itemsJson).digest('hex');
431
+ return `EVIDENCE|${disputeId}|${hash}`;
432
+ }
433
+ export function getArbiterAcceptSigningContent(disputeId) {
434
+ return `ARBITER_ACCEPT|${disputeId}`;
435
+ }
436
+ export function getArbiterDeclineSigningContent(disputeId, reason) {
437
+ return `ARBITER_DECLINE|${disputeId}|${reason}`;
438
+ }
439
+ export function getVoteSigningContent(disputeId, verdict) {
440
+ return `VOTE|${disputeId}|${verdict}`;
441
+ }
442
+ /**
443
+ * Calculate all rating changes for a resolved dispute.
444
+ * Uses standard ELO expected outcome formula with configurable K-factor.
445
+ *
446
+ * Party settlements:
447
+ * - Winner gains half of loser's loss (inflation prevention)
448
+ * - Mutual fault: both lose
449
+ *
450
+ * Arbiter settlements:
451
+ * - Majority voter: +ARBITER_REWARD
452
+ * - Dissenting voter: 0 (stake returned)
453
+ * - No-show/forfeited: -ARBITER_STAKE
454
+ */
455
+ export function calculateDisputeSettlement(dispute, ratings, effectiveK = 16) {
456
+ const changes = {};
457
+ if (!dispute.verdict || dispute.phase !== 'resolved') {
458
+ throw new Error('Dispute not resolved');
459
+ }
460
+ const disputantRating = ratings[dispute.disputant]?.rating ?? 1200;
461
+ const respondentRating = ratings[dispute.respondent]?.rating ?? 1200;
462
+ // Standard ELO expected outcome
463
+ const eDisputant = 1 / (1 + Math.pow(10, (respondentRating - disputantRating) / 400));
464
+ const eRespondent = 1 - eDisputant;
465
+ if (dispute.verdict === 'disputant') {
466
+ const respondentLoss = Math.max(1, Math.round(effectiveK * eRespondent));
467
+ const disputantGain = Math.max(1, Math.round(respondentLoss * 0.5));
468
+ changes[dispute.disputant] = { oldRating: disputantRating, newRating: disputantRating + disputantGain, change: disputantGain };
469
+ changes[dispute.respondent] = { oldRating: respondentRating, newRating: respondentRating - respondentLoss, change: -respondentLoss };
470
+ }
471
+ else if (dispute.verdict === 'respondent') {
472
+ const disputantLoss = Math.max(1, Math.round(effectiveK * eDisputant));
473
+ const respondentGain = Math.max(1, Math.round(disputantLoss * 0.5));
474
+ changes[dispute.disputant] = { oldRating: disputantRating, newRating: disputantRating - disputantLoss, change: -disputantLoss };
475
+ changes[dispute.respondent] = { oldRating: respondentRating, newRating: respondentRating + respondentGain, change: respondentGain };
476
+ }
477
+ else {
478
+ // Mutual fault: both lose
479
+ const disputantLoss = Math.max(1, Math.round(effectiveK * eDisputant));
480
+ const respondentLoss = Math.max(1, Math.round(effectiveK * eRespondent));
481
+ changes[dispute.disputant] = { oldRating: disputantRating, newRating: disputantRating - disputantLoss, change: -disputantLoss };
482
+ changes[dispute.respondent] = { oldRating: respondentRating, newRating: respondentRating - respondentLoss, change: -respondentLoss };
483
+ }
484
+ // Arbiter rewards/penalties
485
+ for (const slot of dispute.arbiters) {
486
+ const arbiterRating = ratings[slot.agent_id]?.rating ?? 1200;
487
+ if (slot.status === 'voted' && slot.vote) {
488
+ if (slot.vote.verdict === dispute.verdict) {
489
+ // Voted with majority: +ARBITER_REWARD
490
+ changes[slot.agent_id] = { oldRating: arbiterRating, newRating: arbiterRating + DISPUTE_CONSTANTS.ARBITER_REWARD, change: DISPUTE_CONSTANTS.ARBITER_REWARD };
491
+ }
492
+ else {
493
+ // Dissenting: no penalty, stake returned
494
+ changes[slot.agent_id] = { oldRating: arbiterRating, newRating: arbiterRating, change: 0 };
495
+ }
496
+ }
497
+ else if (slot.status === 'forfeited') {
498
+ // No-show: forfeit stake
499
+ changes[slot.agent_id] = { oldRating: arbiterRating, newRating: arbiterRating - DISPUTE_CONSTANTS.ARBITER_STAKE, change: -DISPUTE_CONSTANTS.ARBITER_STAKE };
500
+ }
501
+ }
502
+ return changes;
503
+ }
504
+ //# sourceMappingURL=disputes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disputes.js","sourceRoot":"","sources":["../../lib/disputes.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@ export declare const ClientMessageType: {
18
18
  REJECT: "REJECT";
19
19
  COMPLETE: "COMPLETE";
20
20
  DISPUTE: "DISPUTE";
21
+ DISPUTE_INTENT: "DISPUTE_INTENT";
22
+ DISPUTE_REVEAL: "DISPUTE_REVEAL";
23
+ EVIDENCE: "EVIDENCE";
24
+ ARBITER_ACCEPT: "ARBITER_ACCEPT";
25
+ ARBITER_DECLINE: "ARBITER_DECLINE";
26
+ ARBITER_VOTE: "ARBITER_VOTE";
21
27
  REGISTER_SKILLS: "REGISTER_SKILLS";
22
28
  SEARCH_SKILLS: "SEARCH_SKILLS";
23
29
  SET_PRESENCE: "SET_PRESENCE";
@@ -27,6 +33,7 @@ export declare const ClientMessageType: {
27
33
  ADMIN_REVOKE: "ADMIN_REVOKE";
28
34
  ADMIN_LIST: "ADMIN_LIST";
29
35
  VERIFY_IDENTITY: "VERIFY_IDENTITY";
36
+ SET_NICK: "SET_NICK";
30
37
  };
31
38
  export declare const ServerMessageType: {
32
39
  WELCOME: "WELCOME";
@@ -44,6 +51,14 @@ export declare const ServerMessageType: {
44
51
  REJECT: "REJECT";
45
52
  COMPLETE: "COMPLETE";
46
53
  DISPUTE: "DISPUTE";
54
+ PANEL_FORMED: "PANEL_FORMED";
55
+ ARBITER_ASSIGNED: "ARBITER_ASSIGNED";
56
+ EVIDENCE_RECEIVED: "EVIDENCE_RECEIVED";
57
+ CASE_READY: "CASE_READY";
58
+ VERDICT: "VERDICT";
59
+ DISPUTE_FALLBACK: "DISPUTE_FALLBACK";
60
+ DISPUTE_INTENT_ACK: "DISPUTE_INTENT_ACK";
61
+ DISPUTE_REVEALED: "DISPUTE_REVEALED";
47
62
  SKILLS_REGISTERED: "SKILLS_REGISTERED";
48
63
  SEARCH_RESULTS: "SEARCH_RESULTS";
49
64
  PRESENCE_CHANGED: "PRESENCE_CHANGED";
@@ -53,6 +68,7 @@ export declare const ServerMessageType: {
53
68
  VERIFY_FAILED: "VERIFY_FAILED";
54
69
  ADMIN_RESULT: "ADMIN_RESULT";
55
70
  CHALLENGE: "CHALLENGE";
71
+ NICK_CHANGED: "NICK_CHANGED";
56
72
  };
57
73
  export declare const ErrorCode: {
58
74
  AUTH_REQUIRED: "AUTH_REQUIRED";
@@ -74,6 +90,14 @@ export declare const ErrorCode: {
74
90
  VERIFICATION_EXPIRED: "VERIFICATION_EXPIRED";
75
91
  NO_PUBKEY: "NO_PUBKEY";
76
92
  NOT_ALLOWED: "NOT_ALLOWED";
93
+ DISPUTE_NOT_FOUND: "DISPUTE_NOT_FOUND";
94
+ DISPUTE_INVALID_PHASE: "DISPUTE_INVALID_PHASE";
95
+ DISPUTE_COMMITMENT_MISMATCH: "DISPUTE_COMMITMENT_MISMATCH";
96
+ DISPUTE_NOT_PARTY: "DISPUTE_NOT_PARTY";
97
+ DISPUTE_NOT_ARBITER: "DISPUTE_NOT_ARBITER";
98
+ DISPUTE_DEADLINE_PASSED: "DISPUTE_DEADLINE_PASSED";
99
+ DISPUTE_ALREADY_EXISTS: "DISPUTE_ALREADY_EXISTS";
100
+ INSUFFICIENT_ARBITERS: "INSUFFICIENT_ARBITERS";
77
101
  };
78
102
  export declare const PresenceStatus: {
79
103
  ONLINE: "online";
@@ -169,6 +193,13 @@ interface RawClientMessage {
169
193
  challenge_id?: string;
170
194
  signature?: string;
171
195
  timestamp?: number;
196
+ nick?: string;
197
+ commitment?: string;
198
+ dispute_id?: string;
199
+ items?: unknown[];
200
+ statement?: string;
201
+ verdict?: string;
202
+ reasoning?: string;
172
203
  }
173
204
  /**
174
205
  * Validate incoming client message
@@ -192,6 +223,10 @@ export declare function parse<T = unknown>(data: string): T;
192
223
  * Format: prop_<timestamp>_<random>
193
224
  */
194
225
  export declare function generateProposalId(): string;
226
+ /**
227
+ * Check if a message type is an agentcourt dispute type
228
+ */
229
+ export declare function isDisputeMessage(type: string): boolean;
195
230
  /**
196
231
  * Check if a message type is a proposal-related type
197
232
  */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../lib/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../lib/protocol.ts"],"names":[],"mappings":"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"}