mcp-agent-foundry 1.3.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +265 -2
  2. package/dist/background/index.d.ts +33 -0
  3. package/dist/background/index.d.ts.map +1 -0
  4. package/dist/background/index.js +33 -0
  5. package/dist/background/index.js.map +1 -0
  6. package/dist/background/task-runner.d.ts +177 -0
  7. package/dist/background/task-runner.d.ts.map +1 -0
  8. package/dist/background/task-runner.js +551 -0
  9. package/dist/background/task-runner.js.map +1 -0
  10. package/dist/background/types.d.ts +135 -0
  11. package/dist/background/types.d.ts.map +1 -0
  12. package/dist/background/types.js +8 -0
  13. package/dist/background/types.js.map +1 -0
  14. package/dist/config/validator.d.ts +2 -2
  15. package/dist/config/validator.d.ts.map +1 -1
  16. package/dist/config/validator.js +2 -2
  17. package/dist/config/validator.js.map +1 -1
  18. package/dist/failover/health-tracker.d.ts +81 -1
  19. package/dist/failover/health-tracker.d.ts.map +1 -1
  20. package/dist/failover/health-tracker.js +229 -1
  21. package/dist/failover/health-tracker.js.map +1 -1
  22. package/dist/failover/orchestrator.d.ts.map +1 -1
  23. package/dist/failover/orchestrator.js +12 -2
  24. package/dist/failover/orchestrator.js.map +1 -1
  25. package/dist/hooks/hook-executor.d.ts +77 -0
  26. package/dist/hooks/hook-executor.d.ts.map +1 -0
  27. package/dist/hooks/hook-executor.js +308 -0
  28. package/dist/hooks/hook-executor.js.map +1 -0
  29. package/dist/hooks/hook-manager.d.ts +140 -0
  30. package/dist/hooks/hook-manager.d.ts.map +1 -0
  31. package/dist/hooks/hook-manager.js +520 -0
  32. package/dist/hooks/hook-manager.js.map +1 -0
  33. package/dist/hooks/index.d.ts +10 -0
  34. package/dist/hooks/index.d.ts.map +1 -0
  35. package/dist/hooks/index.js +10 -0
  36. package/dist/hooks/index.js.map +1 -0
  37. package/dist/hooks/types.d.ts +221 -0
  38. package/dist/hooks/types.d.ts.map +1 -0
  39. package/dist/hooks/types.js +31 -0
  40. package/dist/hooks/types.js.map +1 -0
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/mcp/auto-mode.d.ts +221 -0
  44. package/dist/mcp/auto-mode.d.ts.map +1 -0
  45. package/dist/mcp/auto-mode.js +436 -0
  46. package/dist/mcp/auto-mode.js.map +1 -0
  47. package/dist/mcp/index.d.ts +14 -0
  48. package/dist/mcp/index.d.ts.map +1 -0
  49. package/dist/mcp/index.js +22 -0
  50. package/dist/mcp/index.js.map +1 -0
  51. package/dist/mcp/tools/critique-plan.d.ts.map +1 -1
  52. package/dist/mcp/tools/critique-plan.js +57 -4
  53. package/dist/mcp/tools/critique-plan.js.map +1 -1
  54. package/dist/mcp/tools/design-feedback.d.ts.map +1 -1
  55. package/dist/mcp/tools/design-feedback.js +58 -4
  56. package/dist/mcp/tools/design-feedback.js.map +1 -1
  57. package/dist/mcp/tools/invoke-agent.d.ts.map +1 -1
  58. package/dist/mcp/tools/invoke-agent.js +64 -1
  59. package/dist/mcp/tools/invoke-agent.js.map +1 -1
  60. package/dist/mcp/tools/review-code.d.ts.map +1 -1
  61. package/dist/mcp/tools/review-code.js +57 -4
  62. package/dist/mcp/tools/review-code.js.map +1 -1
  63. package/dist/mcp/tools/tasks/delete-task.d.ts +25 -0
  64. package/dist/mcp/tools/tasks/delete-task.d.ts.map +1 -0
  65. package/dist/mcp/tools/tasks/delete-task.js +148 -0
  66. package/dist/mcp/tools/tasks/delete-task.js.map +1 -0
  67. package/dist/mcp/tools/tasks/execute-task.d.ts.map +1 -1
  68. package/dist/mcp/tools/tasks/execute-task.js +74 -5
  69. package/dist/mcp/tools/tasks/execute-task.js.map +1 -1
  70. package/dist/mcp/tools/tasks/index.d.ts +2 -0
  71. package/dist/mcp/tools/tasks/index.d.ts.map +1 -1
  72. package/dist/mcp/tools/tasks/index.js +6 -0
  73. package/dist/mcp/tools/tasks/index.js.map +1 -1
  74. package/dist/observability/debug-logger.d.ts +209 -0
  75. package/dist/observability/debug-logger.d.ts.map +1 -0
  76. package/dist/observability/debug-logger.js +430 -0
  77. package/dist/observability/debug-logger.js.map +1 -0
  78. package/dist/observability/index.d.ts +12 -0
  79. package/dist/observability/index.d.ts.map +1 -0
  80. package/dist/observability/index.js +12 -0
  81. package/dist/observability/index.js.map +1 -0
  82. package/dist/observability/logger.d.ts +180 -0
  83. package/dist/observability/logger.d.ts.map +1 -1
  84. package/dist/observability/logger.js +158 -0
  85. package/dist/observability/logger.js.map +1 -1
  86. package/dist/providers/anthropic.d.ts +40 -6
  87. package/dist/providers/anthropic.d.ts.map +1 -1
  88. package/dist/providers/anthropic.js +120 -8
  89. package/dist/providers/anthropic.js.map +1 -1
  90. package/dist/providers/base.d.ts +6 -3
  91. package/dist/providers/base.d.ts.map +1 -1
  92. package/dist/providers/base.js.map +1 -1
  93. package/dist/router/context-manager.d.ts +214 -1
  94. package/dist/router/context-manager.d.ts.map +1 -1
  95. package/dist/router/context-manager.js +759 -2
  96. package/dist/router/context-manager.js.map +1 -1
  97. package/dist/router/context-types.d.ts +182 -0
  98. package/dist/router/context-types.d.ts.map +1 -0
  99. package/dist/router/context-types.js +8 -0
  100. package/dist/router/context-types.js.map +1 -0
  101. package/dist/router/engine.d.ts +3 -3
  102. package/dist/router/engine.d.ts.map +1 -1
  103. package/dist/router/engine.js +32 -4
  104. package/dist/router/engine.js.map +1 -1
  105. package/dist/router/pattern-executor.d.ts.map +1 -1
  106. package/dist/router/pattern-executor.js +38 -7
  107. package/dist/router/pattern-executor.js.map +1 -1
  108. package/dist/server.d.ts +41 -0
  109. package/dist/server.d.ts.map +1 -1
  110. package/dist/server.js +165 -0
  111. package/dist/server.js.map +1 -1
  112. package/dist/skills/hot-reloader.d.ts +104 -0
  113. package/dist/skills/hot-reloader.d.ts.map +1 -0
  114. package/dist/skills/hot-reloader.js +314 -0
  115. package/dist/skills/hot-reloader.js.map +1 -0
  116. package/dist/skills/index.d.ts +14 -0
  117. package/dist/skills/index.d.ts.map +1 -0
  118. package/dist/skills/index.js +16 -0
  119. package/dist/skills/index.js.map +1 -0
  120. package/dist/skills/skill-executor.d.ts +96 -0
  121. package/dist/skills/skill-executor.d.ts.map +1 -0
  122. package/dist/skills/skill-executor.js +289 -0
  123. package/dist/skills/skill-executor.js.map +1 -0
  124. package/dist/skills/skill-loader.d.ts +147 -0
  125. package/dist/skills/skill-loader.d.ts.map +1 -0
  126. package/dist/skills/skill-loader.js +579 -0
  127. package/dist/skills/skill-loader.js.map +1 -0
  128. package/dist/skills/types.d.ts +198 -0
  129. package/dist/skills/types.d.ts.map +1 -0
  130. package/dist/skills/types.js +21 -0
  131. package/dist/skills/types.js.map +1 -0
  132. package/dist/tasks/coordinator.d.ts +22 -1
  133. package/dist/tasks/coordinator.d.ts.map +1 -1
  134. package/dist/tasks/coordinator.js +83 -0
  135. package/dist/tasks/coordinator.js.map +1 -1
  136. package/dist/tasks/state-coordinator.d.ts +19 -0
  137. package/dist/tasks/state-coordinator.d.ts.map +1 -1
  138. package/dist/tasks/state-coordinator.js +40 -0
  139. package/dist/tasks/state-coordinator.js.map +1 -1
  140. package/dist/types.d.ts +39 -7
  141. package/dist/types.d.ts.map +1 -1
  142. package/dist/types.js +9 -0
  143. package/dist/types.js.map +1 -1
  144. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyBpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAY1D;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAwNvD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,SAAS,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAEhD;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAe9D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAK7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAwBjF;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CA8RvD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BlE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,SAAS,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,SAAS,CAEhD;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDpD;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9D;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,GAAG,SAAS,CAEtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAExD"}
package/dist/server.js CHANGED
@@ -8,6 +8,7 @@ import { ConfigManager } from "./config/manager.js";
8
8
  import { registerTools } from "./mcp/tools/index.js";
9
9
  import { createStdioTransport } from "./mcp/transport/stdio.js";
10
10
  import { Logger } from "./observability/logger.js";
11
+ import { DebugLogger } from "./observability/debug-logger.js";
11
12
  import { AnthropicProvider } from "./providers/anthropic.js";
12
13
  import { GeminiProvider } from "./providers/gemini.js";
13
14
  import { ProviderManager } from "./providers/manager.js";
@@ -22,14 +23,28 @@ import { GroqProvider } from "./providers/groq.js";
22
23
  import { TogetherProvider } from "./providers/together.js";
23
24
  import { FireworksProvider } from "./providers/fireworks.js";
24
25
  import { RouterEngine } from "./router/engine.js";
26
+ import { ContextManager } from "./router/context-manager.js";
25
27
  import { TaskCoordinator, PipelineManager } from "./tasks/index.js";
26
28
  import { WorktreeManager } from "./worktrees/manager.js";
27
29
  import { mergeWorktreeConfig } from "./config/worktree-defaults.js";
28
30
  import { initializeWithRecovery, shutdown } from "./startup.js";
31
+ import { HookManager } from "./hooks/index.js";
32
+ import { BackgroundTaskRunner } from "./background/index.js";
33
+ import { MCPAutoMode } from "./mcp/auto-mode.js";
34
+ import { SkillLoader, SkillHotReloader, SkillExecutor } from "./skills/index.js";
29
35
  // Module-level state for shutdown handling
30
36
  let activeStateStore;
31
37
  let activeRepoPath;
32
38
  let activeRouter;
39
+ let activeBackgroundRunner;
40
+ let activeSkillHotReloader;
41
+ let activeDebugLogger;
42
+ let activeHookManager;
43
+ // Module-level state for module sharing with MCP tools
44
+ let activeContextManager;
45
+ let activeMCPAutoMode;
46
+ let activeSkillLoader;
47
+ let activeSkillExecutor;
33
48
  const SERVER_NAME = "agent-router";
34
49
  const SERVER_VERSION = "3.0.2";
35
50
  /**
@@ -126,6 +141,57 @@ export async function createServer() {
126
141
  }
127
142
  // Store router reference for shutdown handling
128
143
  activeRouter = router;
144
+ // ============================================================================
145
+ // Initialize New Modules
146
+ // ============================================================================
147
+ // 1. Context Manager - manages context window tracking and optimization
148
+ const contextManager = new ContextManager({}, logger);
149
+ activeContextManager = contextManager;
150
+ logger.debug("ContextManager initialized");
151
+ // 2. Hooks System - allows custom code to run in response to events
152
+ const hooksConfig = config.hooks ?? {};
153
+ const hookManager = new HookManager({
154
+ enabled: hooksConfig.enabled ?? true,
155
+ hooks: hooksConfig.hooks ?? [],
156
+ default_timeout_ms: hooksConfig.default_timeout_ms ?? 5000,
157
+ fail_silent: hooksConfig.fail_silent ?? true,
158
+ }, logger);
159
+ activeHookManager = hookManager;
160
+ logger.debug("HookManager initialized");
161
+ // 3. Background Task Runner - for non-blocking agent invocations
162
+ const backgroundRunner = new BackgroundTaskRunner({ maxConcurrent: 5 }, logger);
163
+ activeBackgroundRunner = backgroundRunner;
164
+ logger.debug("BackgroundTaskRunner initialized");
165
+ // 4. MCP Auto Mode - intelligent tool description management
166
+ const mcpAutoMode = new MCPAutoMode({ maxToolDescriptionPercent: 10 }, contextManager, logger);
167
+ activeMCPAutoMode = mcpAutoMode;
168
+ logger.debug("MCPAutoMode initialized");
169
+ // 5. Skills System - hot-reloadable skills
170
+ const skillsConfig = config.skills ?? {};
171
+ const skillLoader = new SkillLoader({
172
+ enabled: skillsConfig.enabled ?? true,
173
+ searchPaths: skillsConfig.searchPaths ?? ['~/.config/agent-foundry/skills', './.agent-foundry/skills'],
174
+ watchForChanges: skillsConfig.watchForChanges ?? true,
175
+ filePatterns: skillsConfig.filePatterns ?? ['*.yaml', '*.yml', '*.json'],
176
+ defaultContextMode: skillsConfig.defaultContextMode ?? 'fork',
177
+ }, logger);
178
+ activeSkillLoader = skillLoader;
179
+ const skillHotReloader = new SkillHotReloader(skillLoader, {
180
+ enabled: skillsConfig.enabled ?? true,
181
+ searchPaths: skillsConfig.searchPaths ?? ['~/.config/agent-foundry/skills', './.agent-foundry/skills'],
182
+ watchForChanges: skillsConfig.watchForChanges ?? true,
183
+ filePatterns: skillsConfig.filePatterns ?? ['*.yaml', '*.yml', '*.json'],
184
+ defaultContextMode: skillsConfig.defaultContextMode ?? 'fork',
185
+ }, logger);
186
+ activeSkillHotReloader = skillHotReloader;
187
+ const skillExecutor = new SkillExecutor(logger);
188
+ activeSkillExecutor = skillExecutor;
189
+ logger.debug("Skills system initialized");
190
+ // 6. Debug Logger - specialized debug logging
191
+ const debugLogger = new DebugLogger({}, logger);
192
+ activeDebugLogger = debugLogger;
193
+ logger.debug("DebugLogger initialized");
194
+ // ============================================================================
129
195
  // Create task integration modules if enabled
130
196
  let taskCoordinator;
131
197
  let pipelineManager;
@@ -231,6 +297,24 @@ export async function startServer(server) {
231
297
  const logger = new Logger({ name: SERVER_NAME });
232
298
  const transport = createStdioTransport();
233
299
  logger.info("Connecting to stdio transport...");
300
+ // Load skills from configured paths
301
+ if (activeSkillLoader) {
302
+ try {
303
+ await activeSkillLoader.loadAll();
304
+ logger.info("Skills loaded", {
305
+ skillCount: activeSkillLoader.getAllSkills().length,
306
+ });
307
+ }
308
+ catch (error) {
309
+ const errorMessage = error instanceof Error ? error.message : String(error);
310
+ logger.warn("Failed to load skills", { errorMessage });
311
+ }
312
+ }
313
+ // Start skill hot reloader if watching is enabled
314
+ if (activeSkillHotReloader) {
315
+ activeSkillHotReloader.start();
316
+ logger.debug("Skill hot reloader started");
317
+ }
234
318
  await server.connect(transport);
235
319
  logger.info("AgentRouter MCP server is running");
236
320
  }
@@ -260,6 +344,35 @@ export async function shutdownServer() {
260
344
  activeRouter.shutdown();
261
345
  activeRouter = undefined;
262
346
  }
347
+ // Shutdown background task runner - wait for running tasks
348
+ if (activeBackgroundRunner) {
349
+ logger.debug("Shutting down background task runner...");
350
+ await activeBackgroundRunner.shutdown();
351
+ activeBackgroundRunner = undefined;
352
+ }
353
+ // Stop skill hot reloader
354
+ if (activeSkillHotReloader) {
355
+ logger.debug("Stopping skill hot reloader...");
356
+ activeSkillHotReloader.stop();
357
+ activeSkillHotReloader = undefined;
358
+ }
359
+ // Close debug logger (flush file streams)
360
+ if (activeDebugLogger) {
361
+ logger.debug("Closing debug logger...");
362
+ await activeDebugLogger.close();
363
+ activeDebugLogger = undefined;
364
+ }
365
+ // Shutdown hook manager
366
+ if (activeHookManager) {
367
+ logger.debug("Shutting down hook manager...");
368
+ activeHookManager.shutdown();
369
+ activeHookManager = undefined;
370
+ }
371
+ // Clear other module references
372
+ activeContextManager = undefined;
373
+ activeMCPAutoMode = undefined;
374
+ activeSkillLoader = undefined;
375
+ activeSkillExecutor = undefined;
263
376
  if (activeStateStore && activeRepoPath) {
264
377
  logger.info("Shutting down, saving final state...");
265
378
  await shutdown(activeStateStore, activeRepoPath);
@@ -269,4 +382,56 @@ export async function shutdownServer() {
269
382
  logger.debug("No state store active, nothing to persist");
270
383
  }
271
384
  }
385
+ // ============================================================================
386
+ // Module Accessors - For MCP tool handlers
387
+ // ============================================================================
388
+ /**
389
+ * Gets the active ContextManager instance.
390
+ * @returns The ContextManager instance or undefined if not initialized
391
+ */
392
+ export function getContextManager() {
393
+ return activeContextManager;
394
+ }
395
+ /**
396
+ * Gets the active HookManager instance.
397
+ * @returns The HookManager instance or undefined if not initialized
398
+ */
399
+ export function getHookManager() {
400
+ return activeHookManager;
401
+ }
402
+ /**
403
+ * Gets the active BackgroundTaskRunner instance.
404
+ * @returns The BackgroundTaskRunner instance or undefined if not initialized
405
+ */
406
+ export function getBackgroundRunner() {
407
+ return activeBackgroundRunner;
408
+ }
409
+ /**
410
+ * Gets the active MCPAutoMode instance.
411
+ * @returns The MCPAutoMode instance or undefined if not initialized
412
+ */
413
+ export function getMCPAutoMode() {
414
+ return activeMCPAutoMode;
415
+ }
416
+ /**
417
+ * Gets the active SkillLoader instance.
418
+ * @returns The SkillLoader instance or undefined if not initialized
419
+ */
420
+ export function getSkillLoader() {
421
+ return activeSkillLoader;
422
+ }
423
+ /**
424
+ * Gets the active SkillExecutor instance.
425
+ * @returns The SkillExecutor instance or undefined if not initialized
426
+ */
427
+ export function getSkillExecutor() {
428
+ return activeSkillExecutor;
429
+ }
430
+ /**
431
+ * Gets the active DebugLogger instance.
432
+ * @returns The DebugLogger instance or undefined if not initialized
433
+ */
434
+ export function getDebugLogger() {
435
+ return activeDebugLogger;
436
+ }
272
437
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Skill Hot Reloader
3
+ *
4
+ * Watches skill directories for file changes and hot-reloads skills
5
+ * without requiring server restart. Uses debouncing to prevent
6
+ * rapid reload storms.
7
+ */
8
+ import { EventEmitter } from 'events';
9
+ import type { Logger } from '../observability/logger.js';
10
+ import type { SkillLoader } from './skill-loader.js';
11
+ import type { SkillsConfig, SkillManagerEvents } from './types.js';
12
+ /**
13
+ * Watches skill directories and hot-reloads on changes.
14
+ * Supports multiple watched directories with debounced reload.
15
+ */
16
+ export declare class SkillHotReloader extends EventEmitter {
17
+ private watchers;
18
+ private loader;
19
+ private config;
20
+ private logger;
21
+ private debounceTimers;
22
+ private debounceMs;
23
+ private isRunning;
24
+ constructor(loader: SkillLoader, config: SkillsConfig, logger: Logger);
25
+ /**
26
+ * Start watching all configured skill directories.
27
+ * Creates watchers for each search path.
28
+ */
29
+ start(): void;
30
+ /**
31
+ * Stop watching all directories.
32
+ * Cleans up watchers and pending timers.
33
+ */
34
+ stop(): void;
35
+ /**
36
+ * Watch a specific directory for changes.
37
+ * Creates recursive watcher if directory exists.
38
+ *
39
+ * @param dirPath - Directory path to watch
40
+ */
41
+ watchDirectory(dirPath: string): void;
42
+ /**
43
+ * Ensure directory exists, creating it if necessary.
44
+ */
45
+ private ensureDirectoryExists;
46
+ /**
47
+ * Create a file watcher for a directory.
48
+ */
49
+ private createWatcher;
50
+ /**
51
+ * Handle file change event from watcher.
52
+ * Debounces rapid changes and filters to skill files.
53
+ */
54
+ private handleFileChange;
55
+ /**
56
+ * Schedule a debounced reload for a file.
57
+ * Cancels any pending reload for the same file.
58
+ *
59
+ * @param filePath - File path to reload
60
+ */
61
+ private scheduleReload;
62
+ /**
63
+ * Reload a skill file.
64
+ * Handles file creation, modification, and deletion.
65
+ */
66
+ private reloadFile;
67
+ /**
68
+ * Check if a file exists.
69
+ */
70
+ private fileExists;
71
+ /**
72
+ * Find skill name by source path.
73
+ */
74
+ private findSkillByPath;
75
+ /**
76
+ * Check if filename matches skill file patterns.
77
+ */
78
+ private isSkillFile;
79
+ /**
80
+ * Expand ~ in paths to home directory.
81
+ */
82
+ private expandPath;
83
+ /**
84
+ * Get list of currently watched directories.
85
+ */
86
+ getWatchedPaths(): string[];
87
+ /**
88
+ * Emit a reload event.
89
+ */
90
+ private emitReloadEvent;
91
+ /**
92
+ * Set debounce delay (for testing).
93
+ */
94
+ setDebounceMs(ms: number): void;
95
+ /**
96
+ * Check if hot reloader is running.
97
+ */
98
+ get running(): boolean;
99
+ }
100
+ export interface SkillHotReloader {
101
+ on<K extends keyof SkillManagerEvents>(event: K, listener: (payload: SkillManagerEvents[K]) => void): this;
102
+ emit<K extends keyof SkillManagerEvents>(event: K, payload: SkillManagerEvents[K]): boolean;
103
+ }
104
+ //# sourceMappingURL=hot-reloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hot-reloader.d.ts","sourceRoot":"","sources":["../../src/skills/hot-reloader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAmB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMpF;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,SAAS,CAAkB;gBAEvB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAgBrE;;;OAGG;IACH,KAAK,IAAI,IAAI;IAuBb;;;OAGG;IACH,IAAI,IAAI,IAAI;IA0BZ;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAuBrC;;OAEG;YACW,qBAAqB;IAenC;;OAEG;IACH,OAAO,CAAC,aAAa;IAwCrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;YACW,UAAU;IA8CxB;;OAEG;YACW,UAAU;IASxB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF;AAOD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACnC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,GACjD,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACrC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC;CACZ"}