@sparkleideas/claims 3.0.0-alpha.8-patch.26 → 3.0.0-alpha.8-patch.28

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 (69) hide show
  1. package/dist/api/cli-commands.d.ts +84 -0
  2. package/dist/api/cli-commands.d.ts.map +1 -0
  3. package/dist/api/cli-commands.js +1223 -0
  4. package/dist/api/cli-commands.js.map +1 -0
  5. package/dist/api/cli-types.d.ts +82 -0
  6. package/dist/api/cli-types.d.ts.map +1 -0
  7. package/dist/api/cli-types.js +87 -0
  8. package/dist/api/cli-types.js.map +1 -0
  9. package/dist/api/index.d.ts +9 -0
  10. package/dist/api/index.d.ts.map +1 -0
  11. package/dist/api/index.js +11 -0
  12. package/dist/api/index.js.map +1 -0
  13. package/dist/api/mcp-tools.d.ts +376 -0
  14. package/dist/api/mcp-tools.d.ts.map +1 -0
  15. package/dist/api/mcp-tools.js +1409 -0
  16. package/dist/api/mcp-tools.js.map +1 -0
  17. package/dist/application/claim-service.d.ts +99 -0
  18. package/dist/application/claim-service.d.ts.map +1 -0
  19. package/dist/application/claim-service.js +440 -0
  20. package/dist/application/claim-service.js.map +1 -0
  21. package/dist/application/index.d.ts +15 -0
  22. package/dist/application/index.d.ts.map +1 -0
  23. package/dist/application/index.js +17 -0
  24. package/dist/application/index.js.map +1 -0
  25. package/dist/application/load-balancer.d.ts +353 -0
  26. package/dist/application/load-balancer.d.ts.map +1 -0
  27. package/dist/application/load-balancer.js +430 -0
  28. package/dist/application/load-balancer.js.map +1 -0
  29. package/dist/application/work-stealing-service.d.ts +149 -0
  30. package/dist/application/work-stealing-service.d.ts.map +1 -0
  31. package/dist/application/work-stealing-service.js +604 -0
  32. package/dist/application/work-stealing-service.js.map +1 -0
  33. package/dist/domain/events.d.ts +308 -0
  34. package/dist/domain/events.d.ts.map +1 -0
  35. package/dist/domain/events.js +241 -0
  36. package/dist/domain/events.js.map +1 -0
  37. package/dist/domain/index.d.ts +16 -0
  38. package/dist/domain/index.d.ts.map +1 -0
  39. package/dist/domain/index.js +34 -0
  40. package/dist/domain/index.js.map +1 -0
  41. package/dist/domain/repositories.d.ts +154 -0
  42. package/dist/domain/repositories.d.ts.map +1 -0
  43. package/dist/domain/repositories.js +9 -0
  44. package/dist/domain/repositories.js.map +1 -0
  45. package/dist/domain/rules.d.ts +105 -0
  46. package/dist/domain/rules.d.ts.map +1 -0
  47. package/dist/domain/rules.js +348 -0
  48. package/dist/domain/rules.js.map +1 -0
  49. package/dist/domain/types.d.ts +578 -0
  50. package/dist/domain/types.d.ts.map +1 -0
  51. package/dist/domain/types.js +99 -0
  52. package/dist/domain/types.js.map +1 -0
  53. package/dist/index.d.ts +33 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +51 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/infrastructure/claim-repository.d.ts +46 -0
  58. package/dist/infrastructure/claim-repository.d.ts.map +1 -0
  59. package/dist/infrastructure/claim-repository.js +274 -0
  60. package/dist/infrastructure/claim-repository.js.map +1 -0
  61. package/dist/infrastructure/event-store.d.ts +62 -0
  62. package/dist/infrastructure/event-store.d.ts.map +1 -0
  63. package/dist/infrastructure/event-store.js +189 -0
  64. package/dist/infrastructure/event-store.js.map +1 -0
  65. package/dist/infrastructure/index.d.ts +10 -0
  66. package/dist/infrastructure/index.d.ts.map +1 -0
  67. package/dist/infrastructure/index.js +12 -0
  68. package/dist/infrastructure/index.js.map +1 -0
  69. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-service.js","sourceRoot":"","sources":["../../src/application/claim-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Claims Application Layer
3
+ *
4
+ * Exports application services for the claims module:
5
+ * - ClaimService: Core claiming, releasing, and handoff operations
6
+ * - LoadBalancer: Work distribution and rebalancing across the swarm
7
+ * - WorkStealingService: Idle agent work acquisition
8
+ *
9
+ * @module v3/claims/application
10
+ */
11
+ export { ClaimService, IClaimService } from './claim-service.js';
12
+ export { LoadBalancer, createLoadBalancer, type ILoadBalancer, type ILoadBalancerClaimRepository, type IAgentRegistry, type IHandoffService, type AgentMetadata, type SwarmLoadInfo, type RebalanceOptions, type RebalanceResult, type ImbalanceReport, type ClaimSummary, type LoadBalancerEventType, type SwarmRebalancedEvent, type AgentOverloadedEvent, type AgentUnderloadedEvent, type LoadBalancerClaimant, type LoadBalancerClaimStatus, } from './load-balancer.js';
13
+ export { type AgentLoadInfo as LoadBalancerAgentLoadInfo } from './load-balancer.js';
14
+ export { WorkStealingService, InMemoryWorkStealingEventBus, createWorkStealingService, type IWorkStealingService, } from './work-stealing-service.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,aAAa,IAAI,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGrF,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Claims Application Layer
3
+ *
4
+ * Exports application services for the claims module:
5
+ * - ClaimService: Core claiming, releasing, and handoff operations
6
+ * - LoadBalancer: Work distribution and rebalancing across the swarm
7
+ * - WorkStealingService: Idle agent work acquisition
8
+ *
9
+ * @module v3/claims/application
10
+ */
11
+ // Core claim service
12
+ export { ClaimService } from './claim-service.js';
13
+ // Load Balancing Service
14
+ export { LoadBalancer, createLoadBalancer, } from './load-balancer.js';
15
+ // Work Stealing Service
16
+ export { WorkStealingService, InMemoryWorkStealingEventBus, createWorkStealingService, } from './work-stealing-service.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAC;AAEjE,yBAAyB;AACzB,OAAO,EACL,YAAY,EACZ,kBAAkB,GAiBnB,MAAM,oBAAoB,CAAC;AAK5B,wBAAwB;AACxB,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,GAE1B,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,353 @@
1
+ /**
2
+ * Load Balancer Service for Claims Module (ADR-016)
3
+ *
4
+ * Balances work across the swarm by:
5
+ * - Tracking agent load and utilization
6
+ * - Detecting overloaded/underloaded agents
7
+ * - Rebalancing work through handoff mechanisms
8
+ *
9
+ * Rebalancing Algorithm:
10
+ * 1. Calculate average load across swarm
11
+ * 2. Identify overloaded agents (>1.5x average utilization)
12
+ * 3. Identify underloaded agents (<0.5x average utilization)
13
+ * 4. Move low-progress (<25%) work from overloaded to underloaded
14
+ * 5. Prefer same agent type for transfers
15
+ * 6. Use handoff mechanism (not direct reassignment)
16
+ *
17
+ * Events Emitted:
18
+ * - SwarmRebalanced: When rebalancing operation completes
19
+ * - AgentOverloaded: When an agent exceeds load threshold
20
+ * - AgentUnderloaded: When an agent is below load threshold
21
+ *
22
+ * @module v3/@sparkleideas/claims/application/load-balancer
23
+ */
24
+ import { EventEmitter } from 'node:events';
25
+ import { IssuePriority } from '../domain/types.js';
26
+ /**
27
+ * Claimant type for load balancer operations (ADR-016 format)
28
+ *
29
+ * This is a simplified claimant representation used specifically for
30
+ * load balancing operations. It can represent either a human or an agent.
31
+ */
32
+ export type LoadBalancerClaimant = {
33
+ type: 'human';
34
+ userId: string;
35
+ name: string;
36
+ } | {
37
+ type: 'agent';
38
+ agentId: string;
39
+ agentType: string;
40
+ };
41
+ /**
42
+ * Claim status values relevant to load balancing
43
+ */
44
+ export type LoadBalancerClaimStatus = 'active' | 'paused' | 'handoff-pending' | 'review-requested' | 'blocked' | 'stealable' | 'completed';
45
+ /**
46
+ * Summary of a claim for load calculations
47
+ */
48
+ export interface ClaimSummary {
49
+ issueId: string;
50
+ status: LoadBalancerClaimStatus;
51
+ priority: IssuePriority;
52
+ progress: number;
53
+ claimedAt: Date;
54
+ lastActivityAt: Date;
55
+ estimatedRemainingMinutes?: number;
56
+ }
57
+ /**
58
+ * Load information for a single agent
59
+ */
60
+ export interface AgentLoadInfo {
61
+ agentId: string;
62
+ agentType: string;
63
+ claimCount: number;
64
+ maxClaims: number;
65
+ utilization: number;
66
+ claims: ClaimSummary[];
67
+ avgCompletionTime: number;
68
+ currentBlockedCount: number;
69
+ }
70
+ /**
71
+ * Load overview for an entire swarm
72
+ */
73
+ export interface SwarmLoadInfo {
74
+ swarmId: string;
75
+ totalAgents: number;
76
+ activeAgents: number;
77
+ totalClaims: number;
78
+ avgUtilization: number;
79
+ agents: AgentLoadInfo[];
80
+ overloadedAgents: string[];
81
+ underloadedAgents: string[];
82
+ balanceScore: number;
83
+ }
84
+ /**
85
+ * Options for rebalancing operation
86
+ */
87
+ export interface RebalanceOptions {
88
+ /** Only move claims with progress below this threshold (default: 25%) */
89
+ maxProgressToMove: number;
90
+ /** Prefer same agent type for transfers (default: true) */
91
+ preferSameType: boolean;
92
+ /** Threshold multiplier for overloaded detection (default: 1.5x average) */
93
+ overloadThreshold: number;
94
+ /** Threshold multiplier for underloaded detection (default: 0.5x average) */
95
+ underloadThreshold: number;
96
+ /** Maximum claims to move in single rebalance (default: 10) */
97
+ maxMovesPerRebalance: number;
98
+ /** Use handoff mechanism instead of direct reassignment (default: true) */
99
+ useHandoff: boolean;
100
+ }
101
+ /**
102
+ * Result of a rebalance operation
103
+ */
104
+ export interface RebalanceResult {
105
+ /** Claims that were moved (if useHandoff=false) or handoffs initiated */
106
+ moved: Array<{
107
+ issueId: string;
108
+ from: LoadBalancerClaimant;
109
+ to: LoadBalancerClaimant;
110
+ }>;
111
+ /** Suggested moves that weren't executed (for preview or when useHandoff=true) */
112
+ suggested: Array<{
113
+ issueId: string;
114
+ currentOwner: LoadBalancerClaimant;
115
+ suggestedOwner: LoadBalancerClaimant;
116
+ reason: string;
117
+ }>;
118
+ /** Summary statistics */
119
+ stats: {
120
+ totalMoved: number;
121
+ totalSuggested: number;
122
+ previousBalanceScore: number;
123
+ newBalanceScore: number;
124
+ executionTimeMs: number;
125
+ };
126
+ }
127
+ /**
128
+ * Report on load imbalance in the swarm
129
+ */
130
+ export interface ImbalanceReport {
131
+ swarmId: string;
132
+ timestamp: Date;
133
+ isBalanced: boolean;
134
+ balanceScore: number;
135
+ avgLoad: number;
136
+ overloaded: Array<{
137
+ agentId: string;
138
+ agentType: string;
139
+ utilization: number;
140
+ excessClaims: number;
141
+ movableClaims: ClaimSummary[];
142
+ }>;
143
+ underloaded: Array<{
144
+ agentId: string;
145
+ agentType: string;
146
+ utilization: number;
147
+ availableCapacity: number;
148
+ }>;
149
+ recommendations: string[];
150
+ }
151
+ /**
152
+ * Interface for the Load Balancer service
153
+ */
154
+ export interface ILoadBalancer {
155
+ /**
156
+ * Get load information for a specific agent
157
+ */
158
+ getAgentLoad(agentId: string): Promise<AgentLoadInfo>;
159
+ /**
160
+ * Get load overview for entire swarm
161
+ */
162
+ getSwarmLoad(swarmId: string): Promise<SwarmLoadInfo>;
163
+ /**
164
+ * Rebalance work across swarm
165
+ * @param swarmId - The swarm to rebalance
166
+ * @param options - Rebalancing options
167
+ */
168
+ rebalance(swarmId: string, options?: Partial<RebalanceOptions>): Promise<RebalanceResult>;
169
+ /**
170
+ * Preview rebalance without applying changes
171
+ */
172
+ previewRebalance(swarmId: string, options?: Partial<RebalanceOptions>): Promise<RebalanceResult>;
173
+ /**
174
+ * Detect overloaded/underloaded agents
175
+ */
176
+ detectImbalance(swarmId: string): Promise<ImbalanceReport>;
177
+ }
178
+ /**
179
+ * Agent metadata for load balancing operations
180
+ */
181
+ export interface AgentMetadata {
182
+ agentId: string;
183
+ agentType: string;
184
+ maxClaims: number;
185
+ swarmId?: string;
186
+ }
187
+ /**
188
+ * Claim repository interface for load balancing data access
189
+ *
190
+ * This is a specialized interface for load balancing operations.
191
+ * Implementations should adapt from the main IClaimRepository or IIssueClaimRepository.
192
+ */
193
+ export interface ILoadBalancerClaimRepository {
194
+ /**
195
+ * Get all claims held by a specific agent
196
+ */
197
+ getClaimsByAgent(agentId: string): Promise<ClaimSummary[]>;
198
+ /**
199
+ * Get all claims in a swarm, grouped by agent ID
200
+ */
201
+ getClaimsBySwarm(swarmId: string): Promise<Map<string, ClaimSummary[]>>;
202
+ /**
203
+ * Get historical completion times for an agent (in milliseconds)
204
+ * Used to calculate average completion time metrics
205
+ */
206
+ getAgentCompletionHistory(agentId: string, limit?: number): Promise<number[]>;
207
+ }
208
+ /**
209
+ * Agent registry interface for agent metadata
210
+ *
211
+ * Provides access to agent configuration needed for load calculations.
212
+ */
213
+ export interface IAgentRegistry {
214
+ /**
215
+ * Get metadata for a specific agent
216
+ */
217
+ getAgent(agentId: string): Promise<AgentMetadata | null>;
218
+ /**
219
+ * Get all agents in a swarm
220
+ */
221
+ getAgentsBySwarm(swarmId: string): Promise<AgentMetadata[]>;
222
+ }
223
+ /**
224
+ * Handoff service interface for initiating claim transfers
225
+ *
226
+ * Load balancer uses handoffs (not direct reassignment) to maintain
227
+ * proper claim lifecycle and audit trail.
228
+ */
229
+ export interface IHandoffService {
230
+ /**
231
+ * Request a handoff from one claimant to another
232
+ * @param issueId - The issue to transfer
233
+ * @param from - Current owner
234
+ * @param to - Proposed new owner
235
+ * @param reason - Reason for the handoff request
236
+ */
237
+ requestHandoff(issueId: string, from: LoadBalancerClaimant, to: LoadBalancerClaimant, reason: string): Promise<void>;
238
+ }
239
+ /**
240
+ * Event types emitted by the Load Balancer
241
+ */
242
+ export type LoadBalancerEventType = 'swarm:rebalanced' | 'agent:overloaded' | 'agent:underloaded';
243
+ export interface SwarmRebalancedEvent {
244
+ type: 'swarm:rebalanced';
245
+ swarmId: string;
246
+ timestamp: Date;
247
+ result: RebalanceResult;
248
+ }
249
+ export interface AgentOverloadedEvent {
250
+ type: 'agent:overloaded';
251
+ agentId: string;
252
+ agentType: string;
253
+ utilization: number;
254
+ claimCount: number;
255
+ maxClaims: number;
256
+ timestamp: Date;
257
+ }
258
+ export interface AgentUnderloadedEvent {
259
+ type: 'agent:underloaded';
260
+ agentId: string;
261
+ agentType: string;
262
+ utilization: number;
263
+ claimCount: number;
264
+ maxClaims: number;
265
+ timestamp: Date;
266
+ }
267
+ /**
268
+ * Load Balancer Service
269
+ *
270
+ * Balances work across the swarm using the following algorithm:
271
+ * 1. Calculate average load across swarm
272
+ * 2. Identify overloaded agents (>1.5x average utilization)
273
+ * 3. Identify underloaded agents (<0.5x average utilization)
274
+ * 4. Move low-progress (<25%) work from overloaded to underloaded
275
+ * 5. Prefer same agent type for transfers
276
+ * 6. Use handoff mechanism (not direct reassignment)
277
+ */
278
+ export declare class LoadBalancer extends EventEmitter implements ILoadBalancer {
279
+ private readonly claimRepository;
280
+ private readonly agentRegistry;
281
+ private readonly handoffService;
282
+ constructor(claimRepository: ILoadBalancerClaimRepository, agentRegistry: IAgentRegistry, handoffService: IHandoffService);
283
+ /**
284
+ * Get load information for a specific agent
285
+ */
286
+ getAgentLoad(agentId: string): Promise<AgentLoadInfo>;
287
+ /**
288
+ * Get load overview for entire swarm
289
+ */
290
+ getSwarmLoad(swarmId: string): Promise<SwarmLoadInfo>;
291
+ /**
292
+ * Rebalance work across swarm
293
+ */
294
+ rebalance(swarmId: string, options?: Partial<RebalanceOptions>): Promise<RebalanceResult>;
295
+ /**
296
+ * Preview rebalance without applying changes
297
+ */
298
+ previewRebalance(swarmId: string, options?: Partial<RebalanceOptions>): Promise<RebalanceResult>;
299
+ /**
300
+ * Detect overloaded/underloaded agents
301
+ */
302
+ detectImbalance(swarmId: string): Promise<ImbalanceReport>;
303
+ /**
304
+ * Calculate utilization based on claims and their priorities
305
+ */
306
+ private calculateUtilization;
307
+ /**
308
+ * Calculate balance score for the swarm (0-1, higher is better)
309
+ *
310
+ * Uses coefficient of variation: 1 - (stdDev / mean)
311
+ * A perfectly balanced swarm has score = 1
312
+ */
313
+ private calculateBalanceScore;
314
+ /**
315
+ * Find the best target agent for receiving a transferred claim
316
+ */
317
+ private findBestTarget;
318
+ }
319
+ /**
320
+ * Create a LoadBalancer instance with dependencies
321
+ *
322
+ * @param claimRepository - Repository for accessing claim data
323
+ * @param agentRegistry - Registry for agent metadata
324
+ * @param handoffService - Service for initiating claim handoffs
325
+ * @returns A configured LoadBalancer instance
326
+ *
327
+ * @example
328
+ * ```typescript
329
+ * const loadBalancer = createLoadBalancer(
330
+ * claimRepository,
331
+ * agentRegistry,
332
+ * handoffService
333
+ * );
334
+ *
335
+ * // Get swarm load overview
336
+ * const swarmLoad = await loadBalancer.getSwarmLoad('swarm-1');
337
+ *
338
+ * // Detect and report imbalances
339
+ * const imbalance = await loadBalancer.detectImbalance('swarm-1');
340
+ *
341
+ * // Preview rebalancing without applying
342
+ * const preview = await loadBalancer.previewRebalance('swarm-1');
343
+ *
344
+ * // Execute rebalancing with handoffs
345
+ * const result = await loadBalancer.rebalance('swarm-1', {
346
+ * maxProgressToMove: 25,
347
+ * preferSameType: true
348
+ * });
349
+ * ```
350
+ */
351
+ export declare function createLoadBalancer(claimRepository: ILoadBalancerClaimRepository, agentRegistry: IAgentRegistry, handoffService: IHandoffService): ILoadBalancer;
352
+ export type Claimant = LoadBalancerClaimant;
353
+ //# sourceMappingURL=load-balancer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-balancer.d.ts","sourceRoot":"","sources":["../../src/application/load-balancer.ts"],"names":[],"mappings":"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"}