universal-agent-memory 0.4.1 → 0.5.1

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 (39) hide show
  1. package/README.md +106 -289
  2. package/dist/bin/cli.js +0 -0
  3. package/dist/cli/generate.d.ts +7 -0
  4. package/dist/cli/generate.d.ts.map +1 -1
  5. package/dist/cli/generate.js +89 -2
  6. package/dist/cli/generate.js.map +1 -1
  7. package/dist/coordination/capability-router.d.ts +79 -0
  8. package/dist/coordination/capability-router.d.ts.map +1 -0
  9. package/dist/coordination/capability-router.js +324 -0
  10. package/dist/coordination/capability-router.js.map +1 -0
  11. package/dist/coordination/deploy-batcher.d.ts +64 -1
  12. package/dist/coordination/deploy-batcher.d.ts.map +1 -1
  13. package/dist/coordination/deploy-batcher.js +203 -39
  14. package/dist/coordination/deploy-batcher.js.map +1 -1
  15. package/dist/coordination/index.d.ts +1 -0
  16. package/dist/coordination/index.d.ts.map +1 -1
  17. package/dist/coordination/index.js +1 -0
  18. package/dist/coordination/index.js.map +1 -1
  19. package/dist/generators/claude-md.js +18 -5
  20. package/dist/generators/claude-md.js.map +1 -1
  21. package/dist/generators/template-loader.d.ts +105 -0
  22. package/dist/generators/template-loader.d.ts.map +1 -0
  23. package/dist/generators/template-loader.js +291 -0
  24. package/dist/generators/template-loader.js.map +1 -0
  25. package/dist/memory/serverless-qdrant.d.ts +102 -0
  26. package/dist/memory/serverless-qdrant.d.ts.map +1 -0
  27. package/dist/memory/serverless-qdrant.js +369 -0
  28. package/dist/memory/serverless-qdrant.js.map +1 -0
  29. package/dist/types/config.d.ts +1220 -15
  30. package/dist/types/config.d.ts.map +1 -1
  31. package/dist/types/config.js +92 -1
  32. package/dist/types/config.js.map +1 -1
  33. package/dist/types/coordination.d.ts +4 -4
  34. package/dist/utils/merge-claude-md.d.ts +20 -7
  35. package/dist/utils/merge-claude-md.d.ts.map +1 -1
  36. package/dist/utils/merge-claude-md.js +252 -59
  37. package/dist/utils/merge-claude-md.js.map +1 -1
  38. package/package.json +1 -1
  39. package/templates/CLAUDE.template.md +286 -837
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import type { AgentRegistryEntry } from '../types/coordination.js';
2
+ import type { Task, TaskType } from '../tasks/types.js';
3
+ /**
4
+ * Agent capability definitions for intelligent task routing.
5
+ */
6
+ export type AgentCapability = 'typescript' | 'javascript' | 'python' | 'rust' | 'go' | 'cpp' | 'java' | 'cli' | 'frontend' | 'backend' | 'database' | 'security' | 'performance' | 'documentation' | 'testing' | 'devops' | 'infrastructure' | 'code-review' | 'refactoring';
7
+ /**
8
+ * Droid/skill mapping for capability routing.
9
+ */
10
+ export interface CapabilityMapping {
11
+ capability: AgentCapability;
12
+ droids: string[];
13
+ skills: string[];
14
+ filePatterns: string[];
15
+ taskTypes: TaskType[];
16
+ priority: number;
17
+ }
18
+ /**
19
+ * Default capability mappings for UAM droids and skills.
20
+ */
21
+ export declare const DEFAULT_CAPABILITY_MAPPINGS: CapabilityMapping[];
22
+ export interface RoutingResult {
23
+ recommendedDroids: string[];
24
+ recommendedSkills: string[];
25
+ matchedCapabilities: AgentCapability[];
26
+ confidence: number;
27
+ reasoning: string;
28
+ }
29
+ export interface AgentMatch {
30
+ agent: AgentRegistryEntry;
31
+ matchedCapabilities: AgentCapability[];
32
+ score: number;
33
+ }
34
+ /**
35
+ * Capability-based router for intelligent task and agent routing.
36
+ */
37
+ export declare class CapabilityRouter {
38
+ private mappings;
39
+ constructor(customMappings?: CapabilityMapping[]);
40
+ /**
41
+ * Route a task to the best droids/skills based on task content and affected files.
42
+ */
43
+ routeTask(task: Task, affectedFiles?: string[]): RoutingResult;
44
+ /**
45
+ * Find the best agent for a task based on capabilities.
46
+ */
47
+ findBestAgent(task: Task, availableAgents: AgentRegistryEntry[], affectedFiles?: string[]): AgentMatch | null;
48
+ /**
49
+ * Route files to appropriate capabilities.
50
+ */
51
+ routeFiles(files: string[]): Map<AgentCapability, string[]>;
52
+ /**
53
+ * Get recommended parallel review droids for a set of files.
54
+ */
55
+ getParallelReviewDroids(files: string[]): string[];
56
+ /**
57
+ * Match files against a glob-like pattern.
58
+ */
59
+ private matchesPattern;
60
+ /**
61
+ * Convert glob pattern to regex.
62
+ */
63
+ private patternToRegex;
64
+ /**
65
+ * Extract keywords from task for matching.
66
+ */
67
+ private extractKeywords;
68
+ /**
69
+ * Add or update a capability mapping.
70
+ */
71
+ addMapping(mapping: CapabilityMapping): void;
72
+ /**
73
+ * Get all registered mappings.
74
+ */
75
+ getMappings(): CapabilityMapping[];
76
+ }
77
+ export declare function getCapabilityRouter(): CapabilityRouter;
78
+ export declare function setCapabilityRouter(router: CapabilityRouter): void;
79
+ //# sourceMappingURL=capability-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-router.d.ts","sourceRoot":"","sources":["../../src/coordination/capability-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,MAAM,GACN,IAAI,GACJ,KAAK,GACL,MAAM,GACN,KAAK,GACL,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,aAAa,GACb,eAAe,GACf,SAAS,GACT,QAAQ,GACR,gBAAgB,GAChB,aAAa,GACb,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,EAiG1D,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,eAAe,EAAE,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,mBAAmB,EAAE,eAAe,EAAE,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,cAAc,CAAC,EAAE,iBAAiB,EAAE;IAIhD;;OAEG;IACH,SAAS,CACP,IAAI,EAAE,IAAI,EACV,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,aAAa;IAkFhB;;OAEG;IACH,aAAa,CACX,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,kBAAkB,EAAE,EACrC,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,UAAU,GAAG,IAAI;IA0CpB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAgB3D;;OAEG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IA+BlD;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAS5C;;OAEG;IACH,WAAW,IAAI,iBAAiB,EAAE;CAGnC;AAOD,wBAAgB,mBAAmB,IAAI,gBAAgB,CAKtD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAElE"}
@@ -0,0 +1,324 @@
1
+ /**
2
+ * Default capability mappings for UAM droids and skills.
3
+ */
4
+ export const DEFAULT_CAPABILITY_MAPPINGS = [
5
+ {
6
+ capability: 'typescript',
7
+ droids: ['typescript-node-expert', 'javascript-pro'],
8
+ skills: ['typescript-node-expert'],
9
+ filePatterns: ['*.ts', '*.tsx', '*.mts', '*.cts'],
10
+ taskTypes: ['task', 'feature', 'bug'],
11
+ priority: 10,
12
+ },
13
+ {
14
+ capability: 'javascript',
15
+ droids: ['javascript-pro'],
16
+ skills: [],
17
+ filePatterns: ['*.js', '*.jsx', '*.mjs', '*.cjs'],
18
+ taskTypes: ['task', 'feature', 'bug'],
19
+ priority: 8,
20
+ },
21
+ {
22
+ capability: 'cli',
23
+ droids: ['cli-design-expert'],
24
+ skills: ['cli-design-expert'],
25
+ filePatterns: ['**/cli/**', '**/bin/**', '**/commands/**'],
26
+ taskTypes: ['task', 'feature'],
27
+ priority: 9,
28
+ },
29
+ {
30
+ capability: 'security',
31
+ droids: ['security-auditor', 'security-code-reviewer'],
32
+ skills: [],
33
+ filePatterns: ['**/auth/**', '**/security/**', '*.key', '*.pem'],
34
+ taskTypes: ['bug', 'task'],
35
+ priority: 10,
36
+ },
37
+ {
38
+ capability: 'performance',
39
+ droids: ['performance-optimizer', 'performance-reviewer'],
40
+ skills: [],
41
+ filePatterns: ['**/perf/**', '**/benchmark/**'],
42
+ taskTypes: ['task', 'chore'],
43
+ priority: 8,
44
+ },
45
+ {
46
+ capability: 'documentation',
47
+ droids: ['documentation-expert', 'documentation-accuracy-reviewer'],
48
+ skills: [],
49
+ filePatterns: ['*.md', '**/docs/**', 'README*', 'CHANGELOG*'],
50
+ taskTypes: ['task', 'chore'],
51
+ priority: 6,
52
+ },
53
+ {
54
+ capability: 'code-review',
55
+ droids: ['code-quality-guardian', 'code-quality-reviewer'],
56
+ skills: [],
57
+ filePatterns: ['*'],
58
+ taskTypes: ['task', 'chore'],
59
+ priority: 7,
60
+ },
61
+ {
62
+ capability: 'testing',
63
+ droids: ['test-coverage-reviewer', 'test-plan-writer'],
64
+ skills: [],
65
+ filePatterns: ['*.test.*', '*.spec.*', '**/tests/**', '**/__tests__/**'],
66
+ taskTypes: ['task', 'bug'],
67
+ priority: 8,
68
+ },
69
+ {
70
+ capability: 'infrastructure',
71
+ droids: [],
72
+ skills: [],
73
+ filePatterns: ['*.tf', '**/terraform/**', '**/k8s/**', '**/helm/**', 'Dockerfile*', 'docker-compose*'],
74
+ taskTypes: ['task', 'chore'],
75
+ priority: 9,
76
+ },
77
+ {
78
+ capability: 'python',
79
+ droids: ['python-pro'],
80
+ skills: [],
81
+ filePatterns: ['*.py', '**/python/**'],
82
+ taskTypes: ['task', 'feature', 'bug'],
83
+ priority: 10,
84
+ },
85
+ {
86
+ capability: 'rust',
87
+ droids: ['rust-pro'],
88
+ skills: [],
89
+ filePatterns: ['*.rs', 'Cargo.toml'],
90
+ taskTypes: ['task', 'feature', 'bug'],
91
+ priority: 10,
92
+ },
93
+ {
94
+ capability: 'go',
95
+ droids: ['go-pro'],
96
+ skills: [],
97
+ filePatterns: ['*.go', 'go.mod', 'go.sum'],
98
+ taskTypes: ['task', 'feature', 'bug'],
99
+ priority: 10,
100
+ },
101
+ ];
102
+ /**
103
+ * Capability-based router for intelligent task and agent routing.
104
+ */
105
+ export class CapabilityRouter {
106
+ mappings;
107
+ constructor(customMappings) {
108
+ this.mappings = customMappings || DEFAULT_CAPABILITY_MAPPINGS;
109
+ }
110
+ /**
111
+ * Route a task to the best droids/skills based on task content and affected files.
112
+ */
113
+ routeTask(task, affectedFiles) {
114
+ const matchedCapabilities = [];
115
+ const droidScores = new Map();
116
+ const skillScores = new Map();
117
+ const reasons = [];
118
+ // Match by file patterns
119
+ if (affectedFiles && affectedFiles.length > 0) {
120
+ for (const mapping of this.mappings) {
121
+ for (const pattern of mapping.filePatterns) {
122
+ const matches = this.matchesPattern(affectedFiles, pattern);
123
+ if (matches.length > 0) {
124
+ matchedCapabilities.push(mapping.capability);
125
+ for (const droid of mapping.droids) {
126
+ const current = droidScores.get(droid) || 0;
127
+ droidScores.set(droid, current + mapping.priority);
128
+ }
129
+ for (const skill of mapping.skills) {
130
+ const current = skillScores.get(skill) || 0;
131
+ skillScores.set(skill, current + mapping.priority);
132
+ }
133
+ reasons.push(`Files ${matches.slice(0, 2).join(', ')} match ${mapping.capability}`);
134
+ break; // Only count each mapping once per task
135
+ }
136
+ }
137
+ }
138
+ }
139
+ // Match by task type
140
+ for (const mapping of this.mappings) {
141
+ if (mapping.taskTypes.includes(task.type)) {
142
+ // Boost score slightly for type match
143
+ for (const droid of mapping.droids) {
144
+ const current = droidScores.get(droid) || 0;
145
+ droidScores.set(droid, current + 1);
146
+ }
147
+ }
148
+ }
149
+ // Match by task title/labels keywords
150
+ const keywords = this.extractKeywords(task);
151
+ for (const mapping of this.mappings) {
152
+ if (keywords.some(kw => kw.includes(mapping.capability) || mapping.capability.includes(kw))) {
153
+ if (!matchedCapabilities.includes(mapping.capability)) {
154
+ matchedCapabilities.push(mapping.capability);
155
+ }
156
+ for (const droid of mapping.droids) {
157
+ const current = droidScores.get(droid) || 0;
158
+ droidScores.set(droid, current + mapping.priority / 2);
159
+ }
160
+ reasons.push(`Keywords match ${mapping.capability}`);
161
+ }
162
+ }
163
+ // Sort by score and take top recommendations
164
+ const sortedDroids = [...droidScores.entries()]
165
+ .sort((a, b) => b[1] - a[1])
166
+ .map(([droid]) => droid);
167
+ const sortedSkills = [...skillScores.entries()]
168
+ .sort((a, b) => b[1] - a[1])
169
+ .map(([skill]) => skill);
170
+ // Calculate confidence
171
+ const maxPossibleScore = this.mappings.reduce((sum, m) => sum + m.priority, 0);
172
+ const actualScore = [...droidScores.values()].reduce((sum, s) => sum + s, 0);
173
+ const confidence = Math.min(1, actualScore / (maxPossibleScore / 2));
174
+ return {
175
+ recommendedDroids: sortedDroids.slice(0, 3),
176
+ recommendedSkills: sortedSkills.slice(0, 2),
177
+ matchedCapabilities: [...new Set(matchedCapabilities)],
178
+ confidence,
179
+ reasoning: reasons.length > 0 ? reasons.join('; ') : 'No specific matches, using general routing',
180
+ };
181
+ }
182
+ /**
183
+ * Find the best agent for a task based on capabilities.
184
+ */
185
+ findBestAgent(task, availableAgents, affectedFiles) {
186
+ if (availableAgents.length === 0)
187
+ return null;
188
+ const routing = this.routeTask(task, affectedFiles);
189
+ const agentMatches = [];
190
+ for (const agent of availableAgents) {
191
+ const agentCapabilities = (agent.capabilities || []);
192
+ const matchedCapabilities = agentCapabilities.filter(cap => routing.matchedCapabilities.includes(cap));
193
+ let score = matchedCapabilities.length * 10;
194
+ // Boost for agents with recommended droids in their name
195
+ if (routing.recommendedDroids.some(d => agent.name.includes(d))) {
196
+ score += 20;
197
+ }
198
+ // Boost for idle agents
199
+ if (agent.status === 'idle') {
200
+ score += 5;
201
+ }
202
+ // Penalty for agents with current tasks
203
+ if (agent.currentTask) {
204
+ score -= 10;
205
+ }
206
+ agentMatches.push({
207
+ agent,
208
+ matchedCapabilities,
209
+ score,
210
+ });
211
+ }
212
+ // Sort by score descending
213
+ agentMatches.sort((a, b) => b.score - a.score);
214
+ return agentMatches[0] || null;
215
+ }
216
+ /**
217
+ * Route files to appropriate capabilities.
218
+ */
219
+ routeFiles(files) {
220
+ const result = new Map();
221
+ for (const mapping of this.mappings) {
222
+ for (const pattern of mapping.filePatterns) {
223
+ const matches = this.matchesPattern(files, pattern);
224
+ if (matches.length > 0) {
225
+ const existing = result.get(mapping.capability) || [];
226
+ result.set(mapping.capability, [...new Set([...existing, ...matches])]);
227
+ }
228
+ }
229
+ }
230
+ return result;
231
+ }
232
+ /**
233
+ * Get recommended parallel review droids for a set of files.
234
+ */
235
+ getParallelReviewDroids(files) {
236
+ const routing = this.routeFiles(files);
237
+ const droids = new Set();
238
+ // Always include quality and security for any code change
239
+ droids.add('code-quality-guardian');
240
+ droids.add('security-auditor');
241
+ // Add capability-specific droids
242
+ for (const [capability] of routing) {
243
+ const mapping = this.mappings.find(m => m.capability === capability);
244
+ if (mapping) {
245
+ for (const droid of mapping.droids) {
246
+ droids.add(droid);
247
+ }
248
+ }
249
+ }
250
+ // Add documentation reviewer if docs changed
251
+ if (routing.has('documentation')) {
252
+ droids.add('documentation-expert');
253
+ }
254
+ // Add performance reviewer for performance-critical areas
255
+ if (routing.has('performance') || routing.has('database')) {
256
+ droids.add('performance-optimizer');
257
+ }
258
+ return [...droids];
259
+ }
260
+ /**
261
+ * Match files against a glob-like pattern.
262
+ */
263
+ matchesPattern(files, pattern) {
264
+ const regex = this.patternToRegex(pattern);
265
+ return files.filter(f => regex.test(f));
266
+ }
267
+ /**
268
+ * Convert glob pattern to regex.
269
+ */
270
+ patternToRegex(pattern) {
271
+ const escaped = pattern
272
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
273
+ .replace(/\*\*/g, '{{GLOBSTAR}}')
274
+ .replace(/\*/g, '[^/]*')
275
+ .replace(/{{GLOBSTAR}}/g, '.*')
276
+ .replace(/\?/g, '.');
277
+ return new RegExp(`(^|/)${escaped}$`, 'i');
278
+ }
279
+ /**
280
+ * Extract keywords from task for matching.
281
+ */
282
+ extractKeywords(task) {
283
+ const keywords = [];
284
+ // From title
285
+ keywords.push(...task.title.toLowerCase().split(/\W+/).filter(w => w.length > 2));
286
+ // From labels
287
+ keywords.push(...task.labels.map(l => l.toLowerCase()));
288
+ // From type
289
+ keywords.push(task.type);
290
+ return keywords;
291
+ }
292
+ /**
293
+ * Add or update a capability mapping.
294
+ */
295
+ addMapping(mapping) {
296
+ const existingIndex = this.mappings.findIndex(m => m.capability === mapping.capability);
297
+ if (existingIndex >= 0) {
298
+ this.mappings[existingIndex] = mapping;
299
+ }
300
+ else {
301
+ this.mappings.push(mapping);
302
+ }
303
+ }
304
+ /**
305
+ * Get all registered mappings.
306
+ */
307
+ getMappings() {
308
+ return [...this.mappings];
309
+ }
310
+ }
311
+ /**
312
+ * Singleton instance for global capability routing.
313
+ */
314
+ let globalRouter = null;
315
+ export function getCapabilityRouter() {
316
+ if (!globalRouter) {
317
+ globalRouter = new CapabilityRouter();
318
+ }
319
+ return globalRouter;
320
+ }
321
+ export function setCapabilityRouter(router) {
322
+ globalRouter = router;
323
+ }
324
+ //# sourceMappingURL=capability-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-router.js","sourceRoot":"","sources":["../../src/coordination/capability-router.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,85 @@
1
1
  import type { DeployBatch, BatchResult, DeployActionType } from '../types/coordination.js';
2
+ /**
3
+ * Dynamic batch window configuration based on action type.
4
+ * Optimizes for speed on time-sensitive operations while allowing
5
+ * batching for operations that benefit from grouping.
6
+ */
7
+ export interface DynamicBatchWindows {
8
+ commit: number;
9
+ push: number;
10
+ merge: number;
11
+ workflow: number;
12
+ deploy: number;
13
+ }
2
14
  export interface DeployBatcherConfig {
3
15
  dbPath?: string;
4
16
  batchWindowMs?: number;
17
+ dynamicWindows?: Partial<DynamicBatchWindows>;
5
18
  maxBatchSize?: number;
6
19
  dryRun?: boolean;
20
+ parallelExecution?: boolean;
21
+ maxParallelActions?: number;
7
22
  }
8
23
  export declare class DeployBatcher {
9
24
  private db;
10
- private batchWindowMs;
25
+ private dynamicWindows;
11
26
  private maxBatchSize;
12
27
  private dryRun;
28
+ private parallelExecution;
29
+ private maxParallelActions;
13
30
  constructor(config?: DeployBatcherConfig);
31
+ /**
32
+ * Get the batch window for a specific action type.
33
+ */
34
+ getBatchWindow(actionType: DeployActionType): number;
35
+ /**
36
+ * Update batch windows dynamically (useful for urgent operations).
37
+ */
38
+ setUrgentMode(urgent: boolean): void;
39
+ /**
40
+ * Queue a deploy action with type-specific batching delay.
41
+ */
14
42
  queue(agentId: string, actionType: DeployActionType, target: string, payload?: Record<string, unknown>, options?: {
15
43
  priority?: number;
16
44
  dependencies?: string[];
45
+ urgent?: boolean;
17
46
  }): Promise<number>;
47
+ /**
48
+ * Queue multiple actions atomically with optimized windows.
49
+ */
50
+ queueBulk(agentId: string, actions: Array<{
51
+ actionType: DeployActionType;
52
+ target: string;
53
+ payload?: Record<string, unknown>;
54
+ priority?: number;
55
+ }>): Promise<number[]>;
56
+ /**
57
+ * Synchronous queue for use in transactions.
58
+ */
59
+ private queueSync;
18
60
  private findSimilarAction;
19
61
  private canMerge;
20
62
  private mergeActions;
21
63
  private mergePayloads;
64
+ /**
65
+ * Create a batch from ready actions.
66
+ */
22
67
  createBatch(): Promise<DeployBatch | null>;
23
68
  private groupByTarget;
24
69
  private squashActions;
25
70
  private squashCommits;
71
+ /**
72
+ * Execute a batch with optional parallel execution for independent actions.
73
+ */
26
74
  executeBatch(batchId: string): Promise<BatchResult>;
75
+ /**
76
+ * Categorize actions into parallel-safe and sequential groups.
77
+ */
78
+ private categorizeActions;
79
+ /**
80
+ * Execute actions in parallel with concurrency limit.
81
+ */
82
+ private executeParallel;
27
83
  private executeAction;
28
84
  private executeCommit;
29
85
  private executePush;
@@ -33,6 +89,13 @@ export declare class DeployBatcher {
33
89
  private updateActionStatus;
34
90
  getBatch(batchId: string): DeployBatch | null;
35
91
  getPendingBatches(): DeployBatch[];
92
+ /**
93
+ * Force flush all pending deploys immediately.
94
+ */
36
95
  flushAll(): Promise<BatchResult[]>;
96
+ /**
97
+ * Get current batch window configuration.
98
+ */
99
+ getWindowConfig(): DynamicBatchWindows;
37
100
  }
38
101
  //# sourceMappingURL=deploy-batcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-batcher.d.ts","sourceRoot":"","sources":["../../src/coordination/deploy-batcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAgB,MAAM,0BAA0B,CAAC;AAGvH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,GAAE,mBAAwB;IAStC,KAAK,CACT,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAC3D,OAAO,CAAC,MAAM,CAAC;IA8BlB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,QAAQ;YA2BF,YAAY;IAoB1B,OAAO,CAAC,aAAa;IAqBf,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA2DhD,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,aAAa;IA8Bf,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YA0D3C,aAAa;YA6Bb,aAAa;YAab,WAAW;YAQX,YAAY;YAWZ,eAAe;YAef,aAAa;IAO3B,OAAO,CAAC,kBAAkB;IAQ1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAiC7C,iBAAiB,IAAI,WAAW,EAAE;IAY5B,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAazC"}
1
+ {"version":3,"file":"deploy-batcher.d.ts","sourceRoot":"","sources":["../../src/coordination/deploy-batcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAgB,MAAM,0BAA0B,CAAC;AAGvH;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAUD,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,MAAM,GAAE,mBAAwB;IA0B5C;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM;IAIpD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAgBpC;;OAEG;IACG,KAAK,CACT,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7E,OAAO,CAAC,MAAM,CAAC;IAiClB;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,CAAC;QACb,UAAU,EAAE,gBAAgB,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,GACD,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBpB;;OAEG;IACH,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,QAAQ;YA0BF,YAAY;IAkB1B,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAoDhD,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,aAAa;IAmCrB,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuFzD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;YACW,eAAe;YAkCf,aAAa;YA6Bb,aAAa;YAab,WAAW;YAQX,YAAY;YAWZ,eAAe;YAef,aAAa;IAO3B,OAAO,CAAC,kBAAkB;IAO1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAgC7C,iBAAiB,IAAI,WAAW,EAAE;IAWlC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAaxC;;OAEG;IACH,eAAe,IAAI,mBAAmB;CAGvC"}