agents-library 0.1.0 → 0.1.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.
- package/README.md +178 -0
- package/dist/base-agent.d.ts +10 -8
- package/dist/base-agent.d.ts.map +1 -1
- package/dist/base-agent.js +30 -26
- package/dist/base-agent.js.map +1 -1
- package/dist/base-bot.d.ts +0 -0
- package/dist/base-bot.d.ts.map +0 -0
- package/dist/base-bot.js +0 -0
- package/dist/base-bot.js.map +0 -0
- package/dist/common/result.d.ts +0 -0
- package/dist/common/result.d.ts.map +0 -0
- package/dist/common/result.js +0 -0
- package/dist/common/result.js.map +0 -0
- package/dist/common/types.d.ts +0 -0
- package/dist/common/types.d.ts.map +0 -0
- package/dist/common/types.js +0 -0
- package/dist/common/types.js.map +0 -0
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/kadi-event-publisher.d.ts +0 -0
- package/dist/kadi-event-publisher.d.ts.map +0 -0
- package/dist/kadi-event-publisher.js +0 -0
- package/dist/kadi-event-publisher.js.map +0 -0
- package/dist/memory/arcadedb-adapter.d.ts +8 -0
- package/dist/memory/arcadedb-adapter.d.ts.map +1 -1
- package/dist/memory/arcadedb-adapter.js +8 -0
- package/dist/memory/arcadedb-adapter.js.map +1 -1
- package/dist/memory/entity-extractor.d.ts +110 -0
- package/dist/memory/entity-extractor.d.ts.map +1 -0
- package/dist/memory/entity-extractor.js +259 -0
- package/dist/memory/entity-extractor.js.map +1 -0
- package/dist/memory/file-storage-adapter.d.ts +0 -0
- package/dist/memory/file-storage-adapter.d.ts.map +0 -0
- package/dist/memory/file-storage-adapter.js +0 -0
- package/dist/memory/file-storage-adapter.js.map +0 -0
- package/dist/memory/memory-service.d.ts +123 -13
- package/dist/memory/memory-service.d.ts.map +1 -1
- package/dist/memory/memory-service.js +428 -72
- package/dist/memory/memory-service.js.map +1 -1
- package/dist/memory/types.d.ts +0 -0
- package/dist/memory/types.d.ts.map +0 -0
- package/dist/memory/types.js +0 -0
- package/dist/memory/types.js.map +0 -0
- package/dist/producer-tool-utils.d.ts +0 -0
- package/dist/producer-tool-utils.d.ts.map +0 -0
- package/dist/producer-tool-utils.js +0 -0
- package/dist/producer-tool-utils.js.map +0 -0
- package/dist/providers/anthropic-provider.d.ts +0 -0
- package/dist/providers/anthropic-provider.d.ts.map +0 -0
- package/dist/providers/anthropic-provider.js +0 -0
- package/dist/providers/anthropic-provider.js.map +0 -0
- package/dist/providers/model-manager-provider.d.ts +0 -0
- package/dist/providers/model-manager-provider.d.ts.map +0 -0
- package/dist/providers/model-manager-provider.js +0 -0
- package/dist/providers/model-manager-provider.js.map +0 -0
- package/dist/providers/provider-manager.d.ts +0 -0
- package/dist/providers/provider-manager.d.ts.map +1 -1
- package/dist/providers/provider-manager.js +6 -2
- package/dist/providers/provider-manager.js.map +1 -1
- package/dist/providers/types.d.ts +0 -0
- package/dist/providers/types.d.ts.map +0 -0
- package/dist/providers/types.js +0 -0
- package/dist/providers/types.js.map +0 -0
- package/dist/shadow-agent-factory.d.ts +12 -96
- package/dist/shadow-agent-factory.d.ts.map +1 -1
- package/dist/shadow-agent-factory.js +73 -280
- package/dist/shadow-agent-factory.js.map +1 -1
- package/dist/types/agent-config.d.ts +62 -1
- package/dist/types/agent-config.d.ts.map +1 -1
- package/dist/types/agent-config.js +0 -0
- package/dist/types/agent-config.js.map +0 -0
- package/dist/types/event-schemas.d.ts +194 -0
- package/dist/types/event-schemas.d.ts.map +1 -1
- package/dist/types/event-schemas.js +77 -2
- package/dist/types/event-schemas.js.map +1 -1
- package/dist/types/tool-schemas.d.ts +0 -0
- package/dist/types/tool-schemas.d.ts.map +0 -0
- package/dist/types/tool-schemas.js +0 -0
- package/dist/types/tool-schemas.js.map +0 -0
- package/dist/utils/config.d.ts +48 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +163 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +26 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/path-utils.d.ts +22 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +51 -0
- package/dist/utils/path-utils.js.map +1 -0
- package/dist/utils/read-config.d.ts +43 -0
- package/dist/utils/read-config.d.ts.map +1 -0
- package/dist/utils/read-config.js +97 -0
- package/dist/utils/read-config.js.map +1 -0
- package/dist/utils/timer.d.ts +0 -0
- package/dist/utils/timer.d.ts.map +0 -0
- package/dist/utils/timer.js +0 -0
- package/dist/utils/timer.js.map +0 -0
- package/dist/utils/vault.d.ts +29 -0
- package/dist/utils/vault.d.ts.map +1 -0
- package/dist/utils/vault.js +79 -0
- package/dist/utils/vault.js.map +1 -0
- package/dist/worker-agent-factory.d.ts +37 -38
- package/dist/worker-agent-factory.d.ts.map +1 -1
- package/dist/worker-agent-factory.js +314 -171
- package/dist/worker-agent-factory.js.map +1 -1
- package/package.json +5 -3
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
* @module shadow-agent-factory
|
|
26
26
|
*/
|
|
27
27
|
import { KadiClient, z } from '@kadi.build/core';
|
|
28
|
-
import chokidar from 'chokidar';
|
|
29
28
|
import fs from 'fs';
|
|
30
29
|
import path from 'path';
|
|
31
30
|
import { execSync } from 'child_process';
|
|
@@ -182,28 +181,10 @@ export class BaseShadowAgent {
|
|
|
182
181
|
*/
|
|
183
182
|
usesBaseAgent;
|
|
184
183
|
/**
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* Monitors file operations (create, modify, delete) in worker worktree.
|
|
188
|
-
* Null until start() is called.
|
|
189
|
-
*/
|
|
190
|
-
fsWatcher = null;
|
|
191
|
-
/**
|
|
192
|
-
* Git ref watcher instance for monitoring worker branch commits
|
|
193
|
-
*
|
|
194
|
-
* Watches .git/refs/heads/{workerBranch} file for commit SHA changes.
|
|
195
|
-
* Uses fs.watch (not chokidar) for lightweight ref monitoring.
|
|
196
|
-
* Null until start() is called.
|
|
184
|
+
* Handler reference for broker file.changed events.
|
|
185
|
+
* Stored so we can unsubscribe on stop().
|
|
197
186
|
*/
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Previous commit SHA from worker branch
|
|
201
|
-
*
|
|
202
|
-
* Stores last known commit SHA to detect actual commit changes.
|
|
203
|
-
* Used to differentiate real commits from other ref updates.
|
|
204
|
-
* Null until first commit is detected.
|
|
205
|
-
*/
|
|
206
|
-
previousCommitSha = null;
|
|
187
|
+
fileEventHandler = null;
|
|
207
188
|
/**
|
|
208
189
|
* Set of changed file paths awaiting backup processing
|
|
209
190
|
*
|
|
@@ -214,13 +195,6 @@ export class BaseShadowAgent {
|
|
|
214
195
|
* Value: Debounce timeout handle
|
|
215
196
|
*/
|
|
216
197
|
debounceMap = new Map();
|
|
217
|
-
/**
|
|
218
|
-
* Debounce timeout for git ref watcher
|
|
219
|
-
*
|
|
220
|
-
* Stores timeout handle for debouncing ref change events.
|
|
221
|
-
* Prevents processing rapid ref updates.
|
|
222
|
-
*/
|
|
223
|
-
refDebounceTimeout = null;
|
|
224
198
|
/**
|
|
225
199
|
* Create a new BaseShadowAgent instance
|
|
226
200
|
*
|
|
@@ -318,13 +292,10 @@ export class BaseShadowAgent {
|
|
|
318
292
|
process.exit(1);
|
|
319
293
|
}
|
|
320
294
|
}
|
|
321
|
-
//
|
|
322
|
-
await this.
|
|
323
|
-
logger.info(MODULE_AGENT, '✅
|
|
324
|
-
|
|
325
|
-
await this.setupGitRefWatcher();
|
|
326
|
-
logger.info(MODULE_AGENT, '✅ Git ref watcher initialized', timer.elapsed('shadow-factory'));
|
|
327
|
-
logger.info(MODULE_AGENT, '✅ Shadow agent started and monitoring', timer.elapsed('shadow-factory'));
|
|
295
|
+
// Subscribe to file.changed broker events (emitted by ability-file-local)
|
|
296
|
+
await this.setupBrokerFileEventSubscription();
|
|
297
|
+
logger.info(MODULE_AGENT, '✅ Broker file event subscription active', timer.elapsed('shadow-factory'));
|
|
298
|
+
logger.info(MODULE_AGENT, '✅ Shadow agent started and monitoring via broker events', timer.elapsed('shadow-factory'));
|
|
328
299
|
}
|
|
329
300
|
/**
|
|
330
301
|
* Stop the shadow agent
|
|
@@ -347,26 +318,17 @@ export class BaseShadowAgent {
|
|
|
347
318
|
*/
|
|
348
319
|
async stop() {
|
|
349
320
|
logger.info(MODULE_AGENT, `🛑 Stopping shadow agent for role: ${this.role}`, timer.elapsed('shadow-factory'));
|
|
350
|
-
//
|
|
351
|
-
if (this.
|
|
352
|
-
logger.info(MODULE_AGENT, '🛑
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
this.refWatcher = null;
|
|
362
|
-
logger.info(MODULE_AGENT, '✅ Git ref watcher stopped', timer.elapsed('shadow-factory'));
|
|
363
|
-
}
|
|
364
|
-
// Clear ref debounce timeout
|
|
365
|
-
if (this.refDebounceTimeout) {
|
|
366
|
-
logger.info(MODULE_AGENT, '🛑 Clearing ref debounce timeout...', timer.elapsed('shadow-factory'));
|
|
367
|
-
clearTimeout(this.refDebounceTimeout);
|
|
368
|
-
this.refDebounceTimeout = null;
|
|
369
|
-
logger.info(MODULE_AGENT, '✅ Ref debounce timeout cleared', timer.elapsed('shadow-factory'));
|
|
321
|
+
// Unsubscribe from broker file events
|
|
322
|
+
if (this.fileEventHandler) {
|
|
323
|
+
logger.info(MODULE_AGENT, '🛑 Unsubscribing from file.changed events...', timer.elapsed('shadow-factory'));
|
|
324
|
+
try {
|
|
325
|
+
await this.client.unsubscribe('file.changed', this.fileEventHandler);
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
// Best-effort unsubscribe — may not be supported in all KadiClient versions
|
|
329
|
+
}
|
|
330
|
+
this.fileEventHandler = null;
|
|
331
|
+
logger.info(MODULE_AGENT, '✅ File event subscription removed', timer.elapsed('shadow-factory'));
|
|
370
332
|
}
|
|
371
333
|
// Clear all pending debounce timers
|
|
372
334
|
if (this.debounceMap.size > 0) {
|
|
@@ -389,241 +351,72 @@ export class BaseShadowAgent {
|
|
|
389
351
|
logger.info(MODULE_AGENT, '✅ Shadow agent stopped', timer.elapsed('shadow-factory'));
|
|
390
352
|
}
|
|
391
353
|
/**
|
|
392
|
-
*
|
|
393
|
-
*
|
|
394
|
-
* Monitors worker worktree for file operations (create, modify, delete) using chokidar.
|
|
395
|
-
* File changes are debounced and stored for batch backup processing.
|
|
354
|
+
* Subscribe to file.changed broker events from ability-file-local
|
|
396
355
|
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
399
|
-
*
|
|
400
|
-
* - Debounce: config.debounceMs (default: 1000ms)
|
|
401
|
-
* - Stability threshold: Waits for file writes to complete
|
|
356
|
+
* Instead of using chokidar directly (unreliable on /mnt/c/ in WSL containers),
|
|
357
|
+
* the shadow agent subscribes to `file.changed` events published by ability-file-local
|
|
358
|
+
* which runs on the host where filesystem events work natively.
|
|
402
359
|
*
|
|
403
|
-
* Event
|
|
404
|
-
*
|
|
405
|
-
* - 'change': Existing file modified
|
|
406
|
-
* - 'unlink': File deleted from worktree
|
|
407
|
-
* - 'error': Watcher errors (logged but non-fatal)
|
|
408
|
-
* - 'ready': Watcher initialization complete
|
|
360
|
+
* Event payload from ability-file-local:
|
|
361
|
+
* { watchId: string, event: 'add'|'change'|'unlink', path: string }
|
|
409
362
|
*
|
|
410
|
-
*
|
|
411
|
-
*
|
|
412
|
-
* - Clears previous timeout if file changes again before debounce completes
|
|
413
|
-
* - Only processes file after debounceMs of inactivity
|
|
414
|
-
* - Prevents rapid-fire commits for the same file
|
|
415
|
-
*
|
|
416
|
-
* @throws {Error} If watcher initialization fails
|
|
417
|
-
*
|
|
418
|
-
* @example
|
|
419
|
-
* ```typescript
|
|
420
|
-
* await this.setupFilesystemWatcher();
|
|
421
|
-
* // Watcher is now monitoring worker worktree for file changes
|
|
422
|
-
* ```
|
|
363
|
+
* The shadow agent filters events to only process those matching its workerWorktreePath,
|
|
364
|
+
* then debounces and creates shadow backup commits.
|
|
423
365
|
*/
|
|
424
|
-
async
|
|
425
|
-
logger.info(MODULE_AGENT, `👁️
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
'
|
|
435
|
-
'
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
pollInterval: 100
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
// Event: File created
|
|
443
|
-
this.fsWatcher.on('add', (filePath) => {
|
|
444
|
-
logger.info(MODULE_AGENT, `➕ File created: ${filePath}`, timer.elapsed('shadow-factory'));
|
|
445
|
-
// Debounce to avoid rapid-fire commits
|
|
446
|
-
if (this.debounceMap.has(filePath)) {
|
|
447
|
-
clearTimeout(this.debounceMap.get(filePath));
|
|
448
|
-
}
|
|
449
|
-
const timeout = setTimeout(async () => {
|
|
450
|
-
logger.info(MODULE_AGENT, `📝 Processing created file: ${filePath}`, timer.elapsed('shadow-factory'));
|
|
451
|
-
const relativePath = path.relative(this.workerWorktreePath, filePath);
|
|
452
|
-
await this.createShadowBackup('Created', relativePath);
|
|
453
|
-
this.debounceMap.delete(filePath);
|
|
454
|
-
}, this.debounceMs);
|
|
455
|
-
this.debounceMap.set(filePath, timeout);
|
|
456
|
-
});
|
|
457
|
-
// Event: File modified
|
|
458
|
-
this.fsWatcher.on('change', (filePath) => {
|
|
459
|
-
logger.info(MODULE_AGENT, `✏️ File modified: ${filePath}`, timer.elapsed('shadow-factory'));
|
|
460
|
-
// Debounce to avoid rapid-fire commits
|
|
461
|
-
if (this.debounceMap.has(filePath)) {
|
|
462
|
-
clearTimeout(this.debounceMap.get(filePath));
|
|
463
|
-
}
|
|
464
|
-
const timeout = setTimeout(async () => {
|
|
465
|
-
logger.info(MODULE_AGENT, `📝 Processing modified file: ${filePath}`, timer.elapsed('shadow-factory'));
|
|
466
|
-
const relativePath = path.relative(this.workerWorktreePath, filePath);
|
|
467
|
-
await this.createShadowBackup('Modified', relativePath);
|
|
468
|
-
this.debounceMap.delete(filePath);
|
|
469
|
-
}, this.debounceMs);
|
|
470
|
-
this.debounceMap.set(filePath, timeout);
|
|
471
|
-
});
|
|
472
|
-
// Event: File deleted
|
|
473
|
-
this.fsWatcher.on('unlink', (filePath) => {
|
|
474
|
-
logger.info(MODULE_AGENT, `🗑️ File deleted: ${filePath}`, timer.elapsed('shadow-factory'));
|
|
475
|
-
// Debounce to avoid rapid-fire commits
|
|
476
|
-
if (this.debounceMap.has(filePath)) {
|
|
477
|
-
clearTimeout(this.debounceMap.get(filePath));
|
|
478
|
-
}
|
|
479
|
-
const timeout = setTimeout(async () => {
|
|
480
|
-
logger.info(MODULE_AGENT, `📝 Processing deleted file: ${filePath}`, timer.elapsed('shadow-factory'));
|
|
366
|
+
async setupBrokerFileEventSubscription() {
|
|
367
|
+
logger.info(MODULE_AGENT, `👁️ Subscribing to file.changed broker events for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
|
|
368
|
+
const handler = async (event) => {
|
|
369
|
+
try {
|
|
370
|
+
const data = (event?.data || event);
|
|
371
|
+
if (!data.path || !data.event)
|
|
372
|
+
return;
|
|
373
|
+
const filePath = data.path;
|
|
374
|
+
// Filter: only process events for our worker worktree
|
|
375
|
+
// Normalize both paths for comparison (handle Windows/Unix path differences)
|
|
376
|
+
const normalizedFile = filePath.replace(/\\/g, '/').toLowerCase();
|
|
377
|
+
const normalizedWorktree = this.workerWorktreePath.replace(/\\/g, '/').toLowerCase();
|
|
378
|
+
if (!normalizedFile.startsWith(normalizedWorktree))
|
|
379
|
+
return;
|
|
380
|
+
// Skip .git, node_modules, .env files
|
|
481
381
|
const relativePath = path.relative(this.workerWorktreePath, filePath);
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
this.debounceMap.set(filePath, timeout);
|
|
486
|
-
});
|
|
487
|
-
// Event: Watcher error
|
|
488
|
-
this.fsWatcher.on('error', (error) => {
|
|
489
|
-
logger.error(MODULE_AGENT, '❌ Filesystem watcher error', timer.elapsed('shadow-factory'), error);
|
|
490
|
-
// Non-fatal - watcher continues operating
|
|
491
|
-
});
|
|
492
|
-
// Event: Watcher ready
|
|
493
|
-
this.fsWatcher.on('ready', () => {
|
|
494
|
-
logger.info(MODULE_AGENT, '✅ Filesystem watcher ready', timer.elapsed('shadow-factory'));
|
|
495
|
-
});
|
|
496
|
-
}
|
|
497
|
-
/**
|
|
498
|
-
* Setup git ref watcher for worker branch commits
|
|
499
|
-
*
|
|
500
|
-
* Monitors worker branch ref file (.git/refs/heads/{workerBranch}) for commit SHA changes
|
|
501
|
-
* using fs.watch. Detects new commits and triggers createShadowBackup after debounce period.
|
|
502
|
-
*
|
|
503
|
-
* Architecture:
|
|
504
|
-
* - Uses fs.watch (not chokidar) for lightweight ref monitoring
|
|
505
|
-
* - Reads commit SHA from ref file on each change
|
|
506
|
-
* - Compares with previousCommitSha to detect actual commits
|
|
507
|
-
* - Debounces to handle rapid ref updates (e.g., during rebase)
|
|
508
|
-
* - Triggers backup only for real commit changes
|
|
509
|
-
*
|
|
510
|
-
* Ref File Location:
|
|
511
|
-
* - {workerWorktreePath}/.git/refs/heads/{workerBranch}
|
|
512
|
-
* - Contains commit SHA as plain text (40 hex characters)
|
|
513
|
-
* - Updated by git on each commit to branch
|
|
514
|
-
*
|
|
515
|
-
* Change Detection Strategy:
|
|
516
|
-
* 1. fs.watch fires on any ref file modification
|
|
517
|
-
* 2. Read current SHA from ref file
|
|
518
|
-
* 3. Compare with previousCommitSha
|
|
519
|
-
* 4. If different, debounce and trigger backup
|
|
520
|
-
* 5. Update previousCommitSha for next comparison
|
|
521
|
-
*
|
|
522
|
-
* Debouncing:
|
|
523
|
-
* - Uses config.debounceMs delay (default: 1000ms)
|
|
524
|
-
* - Clears previous timeout if ref changes again
|
|
525
|
-
* - Prevents multiple backups during rapid commits
|
|
526
|
-
*
|
|
527
|
-
* @throws {Error} If ref file doesn't exist or can't be watched
|
|
528
|
-
*
|
|
529
|
-
* @example
|
|
530
|
-
* ```typescript
|
|
531
|
-
* await this.setupGitRefWatcher();
|
|
532
|
-
* // Watcher is now monitoring worker branch for commits
|
|
533
|
-
* ```
|
|
534
|
-
*/
|
|
535
|
-
async setupGitRefWatcher() {
|
|
536
|
-
// Construct path to worker branch ref file
|
|
537
|
-
// Handle both regular repos and git worktrees
|
|
538
|
-
let gitDir = path.join(this.workerWorktreePath, '.git');
|
|
539
|
-
// Check if .git is a file (worktree) or directory (regular repo)
|
|
540
|
-
if (fs.existsSync(gitDir)) {
|
|
541
|
-
const gitStat = fs.statSync(gitDir);
|
|
542
|
-
if (gitStat.isFile()) {
|
|
543
|
-
// This is a worktree - read the .git file to get actual git directory
|
|
544
|
-
const gitFileContent = fs.readFileSync(gitDir, 'utf-8').trim();
|
|
545
|
-
const match = gitFileContent.match(/^gitdir:\s*(.+)$/);
|
|
546
|
-
if (match) {
|
|
547
|
-
gitDir = match[1].trim();
|
|
548
|
-
logger.info(MODULE_AGENT, `📁 Detected git worktree, actual git dir: ${gitDir}`, timer.elapsed('shadow-factory'));
|
|
549
|
-
// For worktrees, refs are stored in the common (main) git directory
|
|
550
|
-
// Read the commondir file to get the path to the main git directory
|
|
551
|
-
const commondirPath = path.join(gitDir, 'commondir');
|
|
552
|
-
if (fs.existsSync(commondirPath)) {
|
|
553
|
-
const commondirContent = fs.readFileSync(commondirPath, 'utf-8').trim();
|
|
554
|
-
// commondir contains a relative path to the main git directory
|
|
555
|
-
const mainGitDir = path.resolve(gitDir, commondirContent);
|
|
556
|
-
logger.info(MODULE_AGENT, `📁 Worktree refs stored in common dir: ${mainGitDir}`, timer.elapsed('shadow-factory'));
|
|
557
|
-
gitDir = mainGitDir;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
const refFilePath = path.join(gitDir, 'refs/heads', this.workerBranch);
|
|
563
|
-
logger.info(MODULE_AGENT, `👁️ Setting up git ref watcher: ${refFilePath}`, timer.elapsed('shadow-factory'));
|
|
564
|
-
// Verify ref file exists before watching
|
|
565
|
-
if (!fs.existsSync(refFilePath)) {
|
|
566
|
-
logger.warn(MODULE_AGENT, `⚠️ Ref file not found: ${refFilePath}`, timer.elapsed('shadow-factory'));
|
|
567
|
-
logger.warn(MODULE_AGENT, ` Worker branch may not exist yet. Skipping ref watcher setup.`, timer.elapsed('shadow-factory'));
|
|
568
|
-
return;
|
|
569
|
-
}
|
|
570
|
-
// Read initial commit SHA
|
|
571
|
-
try {
|
|
572
|
-
this.previousCommitSha = fs.readFileSync(refFilePath, 'utf-8').trim();
|
|
573
|
-
logger.info(MODULE_AGENT, `📋 Initial commit SHA: ${this.previousCommitSha.substring(0, 7)}`, timer.elapsed('shadow-factory'));
|
|
574
|
-
}
|
|
575
|
-
catch (error) {
|
|
576
|
-
logger.error(MODULE_AGENT, `❌ Failed to read initial commit SHA: ${error.message}`, timer.elapsed('shadow-factory'), error);
|
|
577
|
-
this.previousCommitSha = null;
|
|
578
|
-
}
|
|
579
|
-
// Setup fs.watch for ref file
|
|
580
|
-
try {
|
|
581
|
-
this.refWatcher = fs.watch(refFilePath, (eventType, _filename) => {
|
|
582
|
-
// Handle 'change' and 'rename' events (rename can occur during git operations)
|
|
583
|
-
if (eventType !== 'change' && eventType !== 'rename') {
|
|
382
|
+
if (relativePath.startsWith('.git') ||
|
|
383
|
+
relativePath.includes('node_modules') ||
|
|
384
|
+
relativePath.startsWith('.env'))
|
|
584
385
|
return;
|
|
386
|
+
const eventType = data.event; // 'add' | 'change' | 'unlink'
|
|
387
|
+
const operation = eventType === 'add' ? 'Created'
|
|
388
|
+
: eventType === 'unlink' ? 'Deleted'
|
|
389
|
+
: 'Modified';
|
|
390
|
+
logger.info(MODULE_AGENT, `📁 Broker file event: ${operation} ${relativePath}`, timer.elapsed('shadow-factory'));
|
|
391
|
+
// Debounce to avoid rapid-fire commits
|
|
392
|
+
if (this.debounceMap.has(filePath)) {
|
|
393
|
+
clearTimeout(this.debounceMap.get(filePath));
|
|
585
394
|
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
}
|
|
591
|
-
// Debounce to handle rapid ref updates
|
|
592
|
-
this.refDebounceTimeout = setTimeout(async () => {
|
|
593
|
-
try {
|
|
594
|
-
// Read current commit SHA from ref file
|
|
595
|
-
const currentSha = fs.readFileSync(refFilePath, 'utf-8').trim();
|
|
596
|
-
// Check if SHA actually changed (ignore non-commit ref updates)
|
|
597
|
-
if (currentSha === this.previousCommitSha) {
|
|
598
|
-
logger.info(MODULE_AGENT, `ℹ️ Ref updated but SHA unchanged - skipping`, timer.elapsed('shadow-factory'));
|
|
599
|
-
return;
|
|
600
|
-
}
|
|
601
|
-
logger.info(MODULE_AGENT, `🔄 Worker commit detected on ${this.workerBranch}`, timer.elapsed('shadow-factory'));
|
|
602
|
-
logger.info(MODULE_AGENT, ` Previous SHA: ${this.previousCommitSha?.substring(0, 7) || 'none'}`, timer.elapsed('shadow-factory'));
|
|
603
|
-
logger.info(MODULE_AGENT, ` Current SHA: ${currentSha.substring(0, 7)}`, timer.elapsed('shadow-factory'));
|
|
604
|
-
// Update tracked SHA
|
|
605
|
-
this.previousCommitSha = currentSha;
|
|
606
|
-
// Trigger shadow backup for commit
|
|
607
|
-
await this.createShadowBackup('COMMIT', `Commit ${currentSha.substring(0, 7)}`);
|
|
608
|
-
}
|
|
609
|
-
catch (error) {
|
|
610
|
-
logger.error(MODULE_AGENT, `❌ Failed to process ref change: ${error.message}`, timer.elapsed('shadow-factory'), error);
|
|
611
|
-
// Non-fatal - watcher continues operating
|
|
612
|
-
}
|
|
395
|
+
const timeout = setTimeout(async () => {
|
|
396
|
+
logger.info(MODULE_AGENT, `📝 Processing ${operation.toLowerCase()} file: ${relativePath}`, timer.elapsed('shadow-factory'));
|
|
397
|
+
await this.createShadowBackup(operation, relativePath);
|
|
398
|
+
this.debounceMap.delete(filePath);
|
|
613
399
|
}, this.debounceMs);
|
|
400
|
+
this.debounceMap.set(filePath, timeout);
|
|
401
|
+
}
|
|
402
|
+
catch (err) {
|
|
403
|
+
logger.error(MODULE_AGENT, `❌ Error processing file.changed event: ${err.message}`, timer.elapsed('shadow-factory'), err);
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
this.fileEventHandler = handler;
|
|
407
|
+
await this.client.subscribe('file.changed', handler);
|
|
408
|
+
logger.info(MODULE_AGENT, '✅ Subscribed to file.changed broker events', timer.elapsed('shadow-factory'));
|
|
409
|
+
// Invoke ability-file-local's watch_folder to start emitting file.changed events
|
|
410
|
+
try {
|
|
411
|
+
await this.client.invokeRemote('watch_folder', {
|
|
412
|
+
folderPath: this.workerWorktreePath,
|
|
413
|
+
watchId: `shadow-${this.role}`,
|
|
614
414
|
});
|
|
615
|
-
logger.info(MODULE_AGENT,
|
|
415
|
+
logger.info(MODULE_AGENT, `📂 Started file watcher via ability-file-local for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
|
|
616
416
|
}
|
|
617
|
-
catch (
|
|
618
|
-
logger.
|
|
619
|
-
this.refWatcher = null;
|
|
620
|
-
// Non-fatal - agent continues with filesystem watching only
|
|
417
|
+
catch (err) {
|
|
418
|
+
logger.warn(MODULE_AGENT, `⚠️ Could not start file watcher (ability-file-local may not be available): ${err.message}`, timer.elapsed('shadow-factory'));
|
|
621
419
|
}
|
|
622
|
-
// Handle watcher errors
|
|
623
|
-
this.refWatcher?.on('error', (error) => {
|
|
624
|
-
logger.error(MODULE_AGENT, '❌ Git ref watcher error', timer.elapsed('shadow-factory'), error);
|
|
625
|
-
// Non-fatal - watcher may auto-recover
|
|
626
|
-
});
|
|
627
420
|
}
|
|
628
421
|
/**
|
|
629
422
|
* Create shadow backup commit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow-agent-factory.js","sourceRoot":"","sources":["../src/shadow-agent-factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shadow-agent-factory.js","sourceRoot":"","sources":["../src/shadow-agent-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* - designer: Creates UI/UX designs and mockups
|
|
21
21
|
* - programmer: Writes code and implements features
|
|
22
22
|
*/
|
|
23
|
-
export type AgentRole = 'artist' | 'designer' | 'programmer';
|
|
23
|
+
export type AgentRole = 'artist' | 'designer' | 'programmer' | 'builder' | 'deployer';
|
|
24
24
|
/**
|
|
25
25
|
* Custom behavior overrides for worker agents
|
|
26
26
|
*
|
|
@@ -96,6 +96,13 @@ export interface WorkerBehaviors {
|
|
|
96
96
|
* ```
|
|
97
97
|
*/
|
|
98
98
|
export interface WorkerAgentConfig {
|
|
99
|
+
/**
|
|
100
|
+
* Optional custom agent ID for broker registration.
|
|
101
|
+
* Defaults to `agent-${role}` if not provided.
|
|
102
|
+
*
|
|
103
|
+
* @example 'agent-worker-artist'
|
|
104
|
+
*/
|
|
105
|
+
agentId?: string;
|
|
99
106
|
/**
|
|
100
107
|
* Agent role type
|
|
101
108
|
*
|
|
@@ -167,6 +174,60 @@ export interface WorkerAgentConfig {
|
|
|
167
174
|
*/
|
|
168
175
|
customBehaviors?: WorkerBehaviors;
|
|
169
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Full configuration for BaseWorkerAgent when it extends BaseAgent.
|
|
179
|
+
*
|
|
180
|
+
* Combines BaseAgentConfig (broker, provider, memory) with worker-specific
|
|
181
|
+
* fields (role, worktree, model, capabilities). This eliminates the need
|
|
182
|
+
* for separate BaseAgent + WorkerAgent creation and manual service injection.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* const config: WorkerAgentFullConfig = {
|
|
187
|
+
* // BaseAgentConfig fields
|
|
188
|
+
* agentId: 'agent-worker-artist',
|
|
189
|
+
* agentRole: 'artist',
|
|
190
|
+
* brokerUrl: 'ws://localhost:8080/kadi',
|
|
191
|
+
* networks: ['artist', 'global'],
|
|
192
|
+
* provider: { anthropicApiKey: '...' },
|
|
193
|
+
* memory: { dataPath: './data/memory' },
|
|
194
|
+
* // Worker-specific fields
|
|
195
|
+
* role: 'artist',
|
|
196
|
+
* worktreePath: '/path/to/worktree',
|
|
197
|
+
* claudeModel: 'gpt-5-mini',
|
|
198
|
+
* capabilities: ['art', 'illustration'],
|
|
199
|
+
* };
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
export interface WorkerAgentFullConfig {
|
|
203
|
+
agentId: string;
|
|
204
|
+
agentRole: string;
|
|
205
|
+
version?: string;
|
|
206
|
+
brokerUrl: string;
|
|
207
|
+
networks: string[];
|
|
208
|
+
additionalBrokers?: Record<string, {
|
|
209
|
+
url: string;
|
|
210
|
+
networks: string[];
|
|
211
|
+
}>;
|
|
212
|
+
provider?: {
|
|
213
|
+
anthropicApiKey?: string;
|
|
214
|
+
modelManagerBaseUrl?: string;
|
|
215
|
+
modelManagerApiKey?: string;
|
|
216
|
+
primaryProvider?: string;
|
|
217
|
+
fallbackProvider?: string;
|
|
218
|
+
retryAttempts?: number;
|
|
219
|
+
retryDelayMs?: number;
|
|
220
|
+
healthCheckIntervalMs?: number;
|
|
221
|
+
};
|
|
222
|
+
memory?: {
|
|
223
|
+
dataPath: string;
|
|
224
|
+
};
|
|
225
|
+
role: AgentRole;
|
|
226
|
+
worktreePath: string;
|
|
227
|
+
claudeModel?: string;
|
|
228
|
+
capabilities?: string[];
|
|
229
|
+
customBehaviors?: WorkerBehaviors;
|
|
230
|
+
}
|
|
170
231
|
/**
|
|
171
232
|
* Configuration for shadow agents (backup/monitoring agents)
|
|
172
233
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/types/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../src/types/agent-config.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|