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.
Files changed (110) hide show
  1. package/README.md +178 -0
  2. package/dist/base-agent.d.ts +10 -8
  3. package/dist/base-agent.d.ts.map +1 -1
  4. package/dist/base-agent.js +30 -26
  5. package/dist/base-agent.js.map +1 -1
  6. package/dist/base-bot.d.ts +0 -0
  7. package/dist/base-bot.d.ts.map +0 -0
  8. package/dist/base-bot.js +0 -0
  9. package/dist/base-bot.js.map +0 -0
  10. package/dist/common/result.d.ts +0 -0
  11. package/dist/common/result.d.ts.map +0 -0
  12. package/dist/common/result.js +0 -0
  13. package/dist/common/result.js.map +0 -0
  14. package/dist/common/types.d.ts +0 -0
  15. package/dist/common/types.d.ts.map +0 -0
  16. package/dist/common/types.js +0 -0
  17. package/dist/common/types.js.map +0 -0
  18. package/dist/index.d.ts +12 -6
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +7 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/kadi-event-publisher.d.ts +0 -0
  23. package/dist/kadi-event-publisher.d.ts.map +0 -0
  24. package/dist/kadi-event-publisher.js +0 -0
  25. package/dist/kadi-event-publisher.js.map +0 -0
  26. package/dist/memory/arcadedb-adapter.d.ts +8 -0
  27. package/dist/memory/arcadedb-adapter.d.ts.map +1 -1
  28. package/dist/memory/arcadedb-adapter.js +8 -0
  29. package/dist/memory/arcadedb-adapter.js.map +1 -1
  30. package/dist/memory/entity-extractor.d.ts +110 -0
  31. package/dist/memory/entity-extractor.d.ts.map +1 -0
  32. package/dist/memory/entity-extractor.js +259 -0
  33. package/dist/memory/entity-extractor.js.map +1 -0
  34. package/dist/memory/file-storage-adapter.d.ts +0 -0
  35. package/dist/memory/file-storage-adapter.d.ts.map +0 -0
  36. package/dist/memory/file-storage-adapter.js +0 -0
  37. package/dist/memory/file-storage-adapter.js.map +0 -0
  38. package/dist/memory/memory-service.d.ts +123 -13
  39. package/dist/memory/memory-service.d.ts.map +1 -1
  40. package/dist/memory/memory-service.js +428 -72
  41. package/dist/memory/memory-service.js.map +1 -1
  42. package/dist/memory/types.d.ts +0 -0
  43. package/dist/memory/types.d.ts.map +0 -0
  44. package/dist/memory/types.js +0 -0
  45. package/dist/memory/types.js.map +0 -0
  46. package/dist/producer-tool-utils.d.ts +0 -0
  47. package/dist/producer-tool-utils.d.ts.map +0 -0
  48. package/dist/producer-tool-utils.js +0 -0
  49. package/dist/producer-tool-utils.js.map +0 -0
  50. package/dist/providers/anthropic-provider.d.ts +0 -0
  51. package/dist/providers/anthropic-provider.d.ts.map +0 -0
  52. package/dist/providers/anthropic-provider.js +0 -0
  53. package/dist/providers/anthropic-provider.js.map +0 -0
  54. package/dist/providers/model-manager-provider.d.ts +0 -0
  55. package/dist/providers/model-manager-provider.d.ts.map +0 -0
  56. package/dist/providers/model-manager-provider.js +0 -0
  57. package/dist/providers/model-manager-provider.js.map +0 -0
  58. package/dist/providers/provider-manager.d.ts +0 -0
  59. package/dist/providers/provider-manager.d.ts.map +1 -1
  60. package/dist/providers/provider-manager.js +6 -2
  61. package/dist/providers/provider-manager.js.map +1 -1
  62. package/dist/providers/types.d.ts +0 -0
  63. package/dist/providers/types.d.ts.map +0 -0
  64. package/dist/providers/types.js +0 -0
  65. package/dist/providers/types.js.map +0 -0
  66. package/dist/shadow-agent-factory.d.ts +12 -96
  67. package/dist/shadow-agent-factory.d.ts.map +1 -1
  68. package/dist/shadow-agent-factory.js +73 -280
  69. package/dist/shadow-agent-factory.js.map +1 -1
  70. package/dist/types/agent-config.d.ts +62 -1
  71. package/dist/types/agent-config.d.ts.map +1 -1
  72. package/dist/types/agent-config.js +0 -0
  73. package/dist/types/agent-config.js.map +0 -0
  74. package/dist/types/event-schemas.d.ts +194 -0
  75. package/dist/types/event-schemas.d.ts.map +1 -1
  76. package/dist/types/event-schemas.js +77 -2
  77. package/dist/types/event-schemas.js.map +1 -1
  78. package/dist/types/tool-schemas.d.ts +0 -0
  79. package/dist/types/tool-schemas.d.ts.map +0 -0
  80. package/dist/types/tool-schemas.js +0 -0
  81. package/dist/types/tool-schemas.js.map +0 -0
  82. package/dist/utils/config.d.ts +48 -0
  83. package/dist/utils/config.d.ts.map +1 -0
  84. package/dist/utils/config.js +163 -0
  85. package/dist/utils/config.js.map +1 -0
  86. package/dist/utils/logger.d.ts +11 -1
  87. package/dist/utils/logger.d.ts.map +1 -1
  88. package/dist/utils/logger.js +26 -1
  89. package/dist/utils/logger.js.map +1 -1
  90. package/dist/utils/path-utils.d.ts +22 -0
  91. package/dist/utils/path-utils.d.ts.map +1 -0
  92. package/dist/utils/path-utils.js +51 -0
  93. package/dist/utils/path-utils.js.map +1 -0
  94. package/dist/utils/read-config.d.ts +43 -0
  95. package/dist/utils/read-config.d.ts.map +1 -0
  96. package/dist/utils/read-config.js +97 -0
  97. package/dist/utils/read-config.js.map +1 -0
  98. package/dist/utils/timer.d.ts +0 -0
  99. package/dist/utils/timer.d.ts.map +0 -0
  100. package/dist/utils/timer.js +0 -0
  101. package/dist/utils/timer.js.map +0 -0
  102. package/dist/utils/vault.d.ts +29 -0
  103. package/dist/utils/vault.d.ts.map +1 -0
  104. package/dist/utils/vault.js +79 -0
  105. package/dist/utils/vault.js.map +1 -0
  106. package/dist/worker-agent-factory.d.ts +37 -38
  107. package/dist/worker-agent-factory.d.ts.map +1 -1
  108. package/dist/worker-agent-factory.js +314 -171
  109. package/dist/worker-agent-factory.js.map +1 -1
  110. 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
- * Filesystem watcher instance for monitoring worker worktree
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
- refWatcher = null;
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
- // Setup filesystem watcher for worker worktree
322
- await this.setupFilesystemWatcher();
323
- logger.info(MODULE_AGENT, '✅ Filesystem watcher initialized', timer.elapsed('shadow-factory'));
324
- // Setup git ref watcher for worker branch
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
- // Stop filesystem watcher
351
- if (this.fsWatcher) {
352
- logger.info(MODULE_AGENT, '🛑 Stopping filesystem watcher...', timer.elapsed('shadow-factory'));
353
- await this.fsWatcher.close();
354
- this.fsWatcher = null;
355
- logger.info(MODULE_AGENT, '✅ Filesystem watcher stopped', timer.elapsed('shadow-factory'));
356
- }
357
- // Stop git ref watcher
358
- if (this.refWatcher) {
359
- logger.info(MODULE_AGENT, '🛑 Stopping git ref watcher...', timer.elapsed('shadow-factory'));
360
- this.refWatcher.close();
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
- * Setup filesystem watcher for worker worktree
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
- * Configuration:
398
- * - Watches: config.workerWorktreePath
399
- * - Excludes: .git directory, node_modules, .env files
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 Handling:
404
- * - 'add': File created in worktree
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
- * Debouncing Strategy:
411
- * - Stores timeout handle in debounceMap for each file
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 setupFilesystemWatcher() {
425
- logger.info(MODULE_AGENT, `👁️ Setting up filesystem watcher: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
426
- // Create chokidar watcher with configuration
427
- this.fsWatcher = chokidar.watch(this.workerWorktreePath, {
428
- persistent: true,
429
- ignoreInitial: true, // Don't trigger for existing files on startup
430
- ignored: [
431
- '**/node_modules/**',
432
- '**/.git/**',
433
- '**/.git', // Also ignore .git file (for worktrees)
434
- '**/.env',
435
- '**/.env.*'
436
- ],
437
- awaitWriteFinish: {
438
- stabilityThreshold: this.debounceMs,
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
- await this.createShadowBackup('Deleted', relativePath);
483
- this.debounceMap.delete(filePath);
484
- }, this.debounceMs);
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
- logger.info(MODULE_AGENT, `🔄 Git ref change detected: ${eventType}`, timer.elapsed('shadow-factory'));
587
- // Clear previous debounce timeout
588
- if (this.refDebounceTimeout) {
589
- clearTimeout(this.refDebounceTimeout);
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, '✅ Git ref watcher ready', timer.elapsed('shadow-factory'));
415
+ logger.info(MODULE_AGENT, `📂 Started file watcher via ability-file-local for: ${this.workerWorktreePath}`, timer.elapsed('shadow-factory'));
616
416
  }
617
- catch (error) {
618
- logger.error(MODULE_AGENT, `❌ Failed to setup git ref watcher: ${error.message}`, timer.elapsed('shadow-factory'), error);
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;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;IAExE;;;;;;;;;OASG;IACH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAElE;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;;;;OAOG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
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