@agent-relay/daemon 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.
Files changed (109) hide show
  1. package/dist/agent-manager.d.ts +134 -0
  2. package/dist/agent-manager.d.ts.map +1 -0
  3. package/dist/agent-manager.js +578 -0
  4. package/dist/agent-manager.js.map +1 -0
  5. package/dist/agent-registry.d.ts +99 -0
  6. package/dist/agent-registry.d.ts.map +1 -0
  7. package/dist/agent-registry.js +213 -0
  8. package/dist/agent-registry.js.map +1 -0
  9. package/dist/agent-signing.d.ts +158 -0
  10. package/dist/agent-signing.d.ts.map +1 -0
  11. package/dist/agent-signing.js +523 -0
  12. package/dist/agent-signing.js.map +1 -0
  13. package/dist/api.d.ts +106 -0
  14. package/dist/api.d.ts.map +1 -0
  15. package/dist/api.js +876 -0
  16. package/dist/api.js.map +1 -0
  17. package/dist/auth.d.ts +94 -0
  18. package/dist/auth.d.ts.map +1 -0
  19. package/dist/auth.js +197 -0
  20. package/dist/auth.js.map +1 -0
  21. package/dist/channel-membership-store.d.ts +55 -0
  22. package/dist/channel-membership-store.d.ts.map +1 -0
  23. package/dist/channel-membership-store.js +176 -0
  24. package/dist/channel-membership-store.js.map +1 -0
  25. package/dist/cli-auth.d.ts +89 -0
  26. package/dist/cli-auth.d.ts.map +1 -0
  27. package/dist/cli-auth.js +792 -0
  28. package/dist/cli-auth.js.map +1 -0
  29. package/dist/cloud-sync.d.ts +150 -0
  30. package/dist/cloud-sync.d.ts.map +1 -0
  31. package/dist/cloud-sync.js +446 -0
  32. package/dist/cloud-sync.js.map +1 -0
  33. package/dist/connection.d.ts +130 -0
  34. package/dist/connection.d.ts.map +1 -0
  35. package/dist/connection.js +438 -0
  36. package/dist/connection.js.map +1 -0
  37. package/dist/consensus-integration.d.ts +167 -0
  38. package/dist/consensus-integration.d.ts.map +1 -0
  39. package/dist/consensus-integration.js +371 -0
  40. package/dist/consensus-integration.js.map +1 -0
  41. package/dist/consensus.d.ts +271 -0
  42. package/dist/consensus.d.ts.map +1 -0
  43. package/dist/consensus.js +632 -0
  44. package/dist/consensus.js.map +1 -0
  45. package/dist/delivery-tracker.d.ts +34 -0
  46. package/dist/delivery-tracker.d.ts.map +1 -0
  47. package/dist/delivery-tracker.js +104 -0
  48. package/dist/delivery-tracker.js.map +1 -0
  49. package/dist/enhanced-features.d.ts +118 -0
  50. package/dist/enhanced-features.d.ts.map +1 -0
  51. package/dist/enhanced-features.js +176 -0
  52. package/dist/enhanced-features.js.map +1 -0
  53. package/dist/index.d.ts +31 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +37 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/migrations/index.d.ts +73 -0
  58. package/dist/migrations/index.d.ts.map +1 -0
  59. package/dist/migrations/index.js +241 -0
  60. package/dist/migrations/index.js.map +1 -0
  61. package/dist/orchestrator.d.ts +217 -0
  62. package/dist/orchestrator.d.ts.map +1 -0
  63. package/dist/orchestrator.js +1143 -0
  64. package/dist/orchestrator.js.map +1 -0
  65. package/dist/rate-limiter.d.ts +68 -0
  66. package/dist/rate-limiter.d.ts.map +1 -0
  67. package/dist/rate-limiter.js +130 -0
  68. package/dist/rate-limiter.js.map +1 -0
  69. package/dist/registry.d.ts +9 -0
  70. package/dist/registry.d.ts.map +1 -0
  71. package/dist/registry.js +9 -0
  72. package/dist/registry.js.map +1 -0
  73. package/dist/relay-ledger.d.ts +261 -0
  74. package/dist/relay-ledger.d.ts.map +1 -0
  75. package/dist/relay-ledger.js +532 -0
  76. package/dist/relay-ledger.js.map +1 -0
  77. package/dist/relay-watchdog.d.ts +125 -0
  78. package/dist/relay-watchdog.d.ts.map +1 -0
  79. package/dist/relay-watchdog.js +611 -0
  80. package/dist/relay-watchdog.js.map +1 -0
  81. package/dist/repo-manager.d.ts +116 -0
  82. package/dist/repo-manager.d.ts.map +1 -0
  83. package/dist/repo-manager.js +384 -0
  84. package/dist/repo-manager.js.map +1 -0
  85. package/dist/router.d.ts +370 -0
  86. package/dist/router.d.ts.map +1 -0
  87. package/dist/router.js +1437 -0
  88. package/dist/router.js.map +1 -0
  89. package/dist/server.d.ts +174 -0
  90. package/dist/server.d.ts.map +1 -0
  91. package/dist/server.js +1001 -0
  92. package/dist/server.js.map +1 -0
  93. package/dist/spawn-manager.d.ts +78 -0
  94. package/dist/spawn-manager.d.ts.map +1 -0
  95. package/dist/spawn-manager.js +165 -0
  96. package/dist/spawn-manager.js.map +1 -0
  97. package/dist/sync-queue.d.ts +116 -0
  98. package/dist/sync-queue.d.ts.map +1 -0
  99. package/dist/sync-queue.js +361 -0
  100. package/dist/sync-queue.js.map +1 -0
  101. package/dist/types.d.ts +133 -0
  102. package/dist/types.d.ts.map +1 -0
  103. package/dist/types.js +6 -0
  104. package/dist/types.js.map +1 -0
  105. package/dist/workspace-manager.d.ts +80 -0
  106. package/dist/workspace-manager.d.ts.map +1 -0
  107. package/dist/workspace-manager.js +314 -0
  108. package/dist/workspace-manager.js.map +1 -0
  109. package/package.json +52 -0
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Agent Consensus Mechanism
3
+ *
4
+ * Enables distributed decision-making across multiple agents.
5
+ * Inspired by russian-code-ts roadmap: "Consensus-based decision making"
6
+ *
7
+ * Consensus Types:
8
+ * 1. Majority Vote - Simple >50% agreement
9
+ * 2. Supermajority - 2/3 or configurable threshold
10
+ * 3. Unanimous - All participants must agree
11
+ * 4. Weighted - Votes weighted by agent role/expertise
12
+ * 5. Quorum - Minimum participation required
13
+ *
14
+ * Use Cases:
15
+ * - Code review approval (2+ agents approve)
16
+ * - Architecture decisions (lead + majority)
17
+ * - Deployment gates (all critical agents agree)
18
+ * - Task assignment (weighted by expertise)
19
+ */
20
+ import { EventEmitter } from 'node:events';
21
+ export type ConsensusType = 'majority' | 'supermajority' | 'unanimous' | 'weighted' | 'quorum';
22
+ export type VoteValue = 'approve' | 'reject' | 'abstain';
23
+ export type ProposalStatus = 'pending' | 'approved' | 'rejected' | 'expired' | 'cancelled';
24
+ export interface AgentWeight {
25
+ /** Agent name */
26
+ agent: string;
27
+ /** Vote weight (default: 1) */
28
+ weight: number;
29
+ /** Agent role for context */
30
+ role?: string;
31
+ }
32
+ export interface Vote {
33
+ /** Voting agent */
34
+ agent: string;
35
+ /** Vote value */
36
+ value: VoteValue;
37
+ /** Vote weight (resolved at vote time) */
38
+ weight: number;
39
+ /** Optional reasoning */
40
+ reason?: string;
41
+ /** Vote timestamp */
42
+ timestamp: number;
43
+ }
44
+ export interface Proposal {
45
+ /** Unique proposal ID */
46
+ id: string;
47
+ /** Proposal title/subject */
48
+ title: string;
49
+ /** Detailed description */
50
+ description: string;
51
+ /** Proposing agent */
52
+ proposer: string;
53
+ /** Consensus type required */
54
+ consensusType: ConsensusType;
55
+ /** Agents allowed to vote */
56
+ participants: string[];
57
+ /** Minimum votes required (for quorum) */
58
+ quorum?: number;
59
+ /** Threshold for supermajority (0-1, default 0.67) */
60
+ threshold?: number;
61
+ /** Agent weights (for weighted voting) */
62
+ weights?: AgentWeight[];
63
+ /** Proposal creation timestamp */
64
+ createdAt: number;
65
+ /** Expiry timestamp */
66
+ expiresAt: number;
67
+ /** Current status */
68
+ status: ProposalStatus;
69
+ /** Collected votes */
70
+ votes: Vote[];
71
+ /** Result details (set when resolved) */
72
+ result?: ConsensusResult;
73
+ /** Optional metadata */
74
+ metadata?: Record<string, unknown>;
75
+ /** Thread ID for relay messages */
76
+ thread?: string;
77
+ }
78
+ export interface ConsensusResult {
79
+ /** Final decision */
80
+ decision: 'approved' | 'rejected' | 'no_consensus';
81
+ /** Total approve weight */
82
+ approveWeight: number;
83
+ /** Total reject weight */
84
+ rejectWeight: number;
85
+ /** Total abstain weight */
86
+ abstainWeight: number;
87
+ /** Participation rate (0-1) */
88
+ participation: number;
89
+ /** Whether quorum was met */
90
+ quorumMet: boolean;
91
+ /** Resolution timestamp */
92
+ resolvedAt: number;
93
+ /** Agents who didn't vote */
94
+ nonVoters: string[];
95
+ }
96
+ export interface ConsensusConfig {
97
+ /** Default proposal timeout in ms (default: 5 minutes) */
98
+ defaultTimeoutMs: number;
99
+ /** Default consensus type */
100
+ defaultConsensusType: ConsensusType;
101
+ /** Default supermajority threshold */
102
+ defaultThreshold: number;
103
+ /** Allow vote changes before resolution */
104
+ allowVoteChange: boolean;
105
+ /** Auto-resolve when consensus is mathematically certain */
106
+ autoResolve: boolean;
107
+ /** Broadcast proposals to all participants */
108
+ broadcastProposals: boolean;
109
+ }
110
+ export interface ConsensusEvents {
111
+ 'proposal:created': (proposal: Proposal) => void;
112
+ 'proposal:voted': (proposal: Proposal, vote: Vote) => void;
113
+ 'proposal:resolved': (proposal: Proposal, result: ConsensusResult) => void;
114
+ 'proposal:expired': (proposal: Proposal) => void;
115
+ 'proposal:cancelled': (proposal: Proposal) => void;
116
+ }
117
+ export declare class ConsensusEngine extends EventEmitter {
118
+ private config;
119
+ private proposals;
120
+ private expiryTimers;
121
+ constructor(config?: Partial<ConsensusConfig>);
122
+ /**
123
+ * Create a new proposal.
124
+ */
125
+ createProposal(options: {
126
+ title: string;
127
+ description: string;
128
+ proposer: string;
129
+ participants: string[];
130
+ consensusType?: ConsensusType;
131
+ timeoutMs?: number;
132
+ quorum?: number;
133
+ threshold?: number;
134
+ weights?: AgentWeight[];
135
+ metadata?: Record<string, unknown>;
136
+ thread?: string;
137
+ }): Proposal;
138
+ /**
139
+ * Submit a vote on a proposal.
140
+ */
141
+ vote(proposalId: string, agent: string, value: VoteValue, reason?: string): {
142
+ success: boolean;
143
+ error?: string;
144
+ proposal?: Proposal;
145
+ };
146
+ /**
147
+ * Get a proposal by ID.
148
+ */
149
+ getProposal(proposalId: string): Proposal | null;
150
+ /**
151
+ * Get all proposals for an agent (as participant or proposer).
152
+ */
153
+ getProposalsForAgent(agent: string): Proposal[];
154
+ /**
155
+ * Get pending proposals awaiting an agent's vote.
156
+ */
157
+ getPendingVotesForAgent(agent: string): Proposal[];
158
+ /**
159
+ * Cancel a proposal (only proposer can cancel).
160
+ */
161
+ cancelProposal(proposalId: string, agent: string): {
162
+ success: boolean;
163
+ error?: string;
164
+ };
165
+ /**
166
+ * Force resolve a proposal (for admin/system use).
167
+ */
168
+ forceResolve(proposalId: string): ConsensusResult | null;
169
+ /**
170
+ * Calculate current consensus result.
171
+ */
172
+ calculateResult(proposal: Proposal): ConsensusResult;
173
+ /**
174
+ * Determine decision based on consensus type and votes.
175
+ */
176
+ private determineDecision;
177
+ /**
178
+ * Check if proposal can be resolved early (consensus mathematically certain).
179
+ */
180
+ private canResolveEarly;
181
+ /**
182
+ * Get weight for an agent in a proposal.
183
+ */
184
+ private getAgentWeight;
185
+ /**
186
+ * Get total weight of all participants.
187
+ */
188
+ private getTotalWeight;
189
+ /**
190
+ * Resolve a proposal with result.
191
+ */
192
+ private resolveProposal;
193
+ /**
194
+ * Expire a proposal.
195
+ */
196
+ private expireProposal;
197
+ /**
198
+ * Schedule expiry timer for a proposal.
199
+ */
200
+ private scheduleExpiry;
201
+ /**
202
+ * Clear expiry timer for a proposal.
203
+ */
204
+ private clearExpiryTimer;
205
+ /**
206
+ * Cleanup all timers (for shutdown).
207
+ */
208
+ cleanup(): void;
209
+ /**
210
+ * Get consensus statistics.
211
+ */
212
+ getStats(): {
213
+ total: number;
214
+ pending: number;
215
+ approved: number;
216
+ rejected: number;
217
+ expired: number;
218
+ cancelled: number;
219
+ avgParticipation: number;
220
+ };
221
+ }
222
+ /**
223
+ * Create a consensus engine with the given configuration.
224
+ */
225
+ export declare function createConsensusEngine(config?: Partial<ConsensusConfig>): ConsensusEngine;
226
+ /**
227
+ * Format a proposal as a relay message for broadcasting.
228
+ */
229
+ export declare function formatProposalMessage(proposal: Proposal): string;
230
+ /**
231
+ * Parse a vote command from a relay message.
232
+ */
233
+ export declare function parseVoteCommand(message: string): {
234
+ proposalId: string;
235
+ value: VoteValue;
236
+ reason?: string;
237
+ } | null;
238
+ /**
239
+ * Format a consensus result as a relay message.
240
+ */
241
+ export declare function formatResultMessage(proposal: Proposal, result: ConsensusResult): string;
242
+ export interface ParsedProposalCommand {
243
+ title: string;
244
+ description: string;
245
+ participants: string[];
246
+ consensusType: ConsensusType;
247
+ timeoutMs?: number;
248
+ quorum?: number;
249
+ threshold?: number;
250
+ metadata?: Record<string, unknown>;
251
+ }
252
+ /**
253
+ * Parse a PROPOSE command from a relay message.
254
+ *
255
+ * Format:
256
+ * ```
257
+ * PROPOSE: Title of the proposal
258
+ * TYPE: majority|supermajority|unanimous|weighted|quorum
259
+ * PARTICIPANTS: Agent1, Agent2, Agent3
260
+ * DESCRIPTION: Detailed description of what is being proposed
261
+ * TIMEOUT: 3600000 (optional, in milliseconds)
262
+ * QUORUM: 3 (optional, minimum votes)
263
+ * THRESHOLD: 0.67 (optional, for supermajority)
264
+ * ```
265
+ */
266
+ export declare function parseProposalCommand(message: string): ParsedProposalCommand | null;
267
+ /**
268
+ * Check if a message is a consensus command (PROPOSE or VOTE).
269
+ */
270
+ export declare function isConsensusCommand(message: string): boolean;
271
+ //# sourceMappingURL=consensus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../src/consensus.ts"],"names":[],"mappings":"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"}